diff options
| author | Ye Li <[email protected]> | 2026-05-11 15:47:39 +0800 |
|---|---|---|
| committer | Fabio Estevam <[email protected]> | 2026-05-15 17:31:40 -0300 |
| commit | a8684df5ed06a1b8fc31c62cb8c1342e6eb4aea6 (patch) | |
| tree | 4acdefd219955e4d91dc50fcd3fbbc0899044f2b | |
| parent | 3ebee64e81fbe0ebd224b682883dc5a509468ad4 (diff) | |
arm: imx9: Update i.MX91 part number detection
Change to not use NXP_RECOG fuse, but detect part number according
to feature disable fuses and SPEED fuse.
Signed-off-by: Ye Li <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
| -rw-r--r-- | arch/arm/mach-imx/imx9/soc.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/arch/arm/mach-imx/imx9/soc.c b/arch/arm/mach-imx/imx9/soc.c index 44b3e0f5310..ec0cb18e954 100644 --- a/arch/arm/mach-imx/imx9/soc.c +++ b/arch/arm/mach-imx/imx9/soc.c @@ -198,26 +198,15 @@ static u32 get_cpu_variant_type(u32 type) bool npu_disable = !!(val & BIT(13)); bool core1_disable = !!(val & BIT(15)); u32 pack_9x9_fused = BIT(4) | BIT(5) | BIT(17) | BIT(19) | BIT(24); - u32 nxp_recog = (val & GENMASK(23, 16)) >> 16; + u32 speed = (val & GENMASK(11, 6)) >> 6; /* For iMX91 */ if (type == MXC_CPU_IMX91) { - switch (nxp_recog) { - case 0x9: - case 0xA: + if ((val2 & pack_9x9_fused) == pack_9x9_fused) type = MXC_CPU_IMX9111; - break; - case 0xD: - case 0xE: - type = MXC_CPU_IMX9121; - break; - case 0xF: - case 0x10: - type = MXC_CPU_IMX9101; - break; - default: - break; /* 9131 as default */ - } + + if (speed == 0xf) /* 800Mhz arm */ + type += 1; return type; } |
