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
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
>
© 2016 - 2026 Red Hat, Inc.