]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
soc: imx: Spport i.MX9[4,52]
authorPeng Fan <peng.fan@nxp.com>
Wed, 17 Dec 2025 12:42:09 +0000 (20:42 +0800)
committerShawn Guo <shawnguo@kernel.org>
Sat, 17 Jan 2026 05:38:21 +0000 (13:38 +0800)
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>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
drivers/soc/imx/soc-imx9.c

index d9a686299c5f710bb9988c55ed601fc9d9f19229..d67bc7402b10e2966ff77cbf3b15c087540bd377 100644 (file)
@@ -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", },
        { }
 };