[PATCH 3/3] soc: imx: Spport i.MX9[4,52]

Peng Fan (OSS) posted 3 patches 1 month, 3 weeks ago
[PATCH 3/3] soc: imx: Spport i.MX9[4,52]
Posted by Peng Fan (OSS) 1 month, 3 weeks ago
From: Peng Fan <peng.fan@nxp.com>

Add i.MX9[4,52] machine compatible to allow soc device could be created.

SOC_ID is 16bit format data:
 - i.MX943: 0x9430
 - i.MX952: 0x9520
Update SOC_ID macro to get the accurate data.

Co-developed-by: Jacky Bai <ping.bai@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 drivers/soc/imx/soc-imx9.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/soc/imx/soc-imx9.c b/drivers/soc/imx/soc-imx9.c
index d9a686299c5f710bb9988c55ed601fc9d9f19229..d67bc7402b10e2966ff77cbf3b15c087540bd377 100644
--- a/drivers/soc/imx/soc-imx9.c
+++ b/drivers/soc/imx/soc-imx9.c
@@ -12,7 +12,7 @@
 #include <linux/sys_soc.h>
 
 #define IMX_SIP_GET_SOC_INFO	0xc2000006
-#define SOC_ID(x)		(((x) & 0xFFFF) >> 8)
+#define SOC_ID(x)		(((x) & 0xFF) ? ((x) & 0xFFFF) >> 4 : ((x) & 0xFFFF) >> 8)
 #define SOC_REV_MAJOR(x)	((((x) >> 28) & 0xF) - 0x9)
 #define SOC_REV_MINOR(x)	(((x) >> 24) & 0xF)
 
@@ -68,7 +68,9 @@ static int imx9_soc_probe(struct platform_device *pdev)
 
 static __maybe_unused const struct of_device_id imx9_soc_match[] = {
 	{ .compatible = "fsl,imx93", },
+	{ .compatible = "fsl,imx94", },
 	{ .compatible = "fsl,imx95", },
+	{ .compatible = "fsl,imx952", },
 	{ }
 };
 

-- 
2.37.1
Re: [PATCH 3/3] soc: imx: Spport i.MX9[4,52]
Posted by Frank Li 1 month, 3 weeks ago
On Wed, Dec 17, 2025 at 08:42:09PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
>
> Add i.MX9[4,52] machine compatible to allow soc device could be created.
>
> SOC_ID is 16bit format data:
>  - i.MX943: 0x9430
>  - i.MX952: 0x9520
> Update SOC_ID macro to get the accurate data.
>
> Co-developed-by: Jacky Bai <ping.bai@nxp.com>
> Signed-off-by: Jacky Bai <ping.bai@nxp.com>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>  drivers/soc/imx/soc-imx9.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/soc/imx/soc-imx9.c b/drivers/soc/imx/soc-imx9.c
> index d9a686299c5f710bb9988c55ed601fc9d9f19229..d67bc7402b10e2966ff77cbf3b15c087540bd377 100644
> --- a/drivers/soc/imx/soc-imx9.c
> +++ b/drivers/soc/imx/soc-imx9.c
> @@ -12,7 +12,7 @@
>  #include <linux/sys_soc.h>
>
>  #define IMX_SIP_GET_SOC_INFO	0xc2000006
> -#define SOC_ID(x)		(((x) & 0xFFFF) >> 8)
> +#define SOC_ID(x)		(((x) & 0xFF) ? ((x) & 0xFFFF) >> 4 : ((x) & 0xFFFF) >> 8)
>  #define SOC_REV_MAJOR(x)	((((x) >> 28) & 0xF) - 0x9)
>  #define SOC_REV_MINOR(x)	(((x) >> 24) & 0xF)
>
> @@ -68,7 +68,9 @@ static int imx9_soc_probe(struct platform_device *pdev)
>
>  static __maybe_unused const struct of_device_id imx9_soc_match[] = {
>  	{ .compatible = "fsl,imx93", },
> +	{ .compatible = "fsl,imx94", },
>  	{ .compatible = "fsl,imx95", },
> +	{ .compatible = "fsl,imx952", },

Does bind doc already applied?

Frank

>  	{ }
>  };
>
>
> --
> 2.37.1
>