[PATCH v3 14/21] imx9: soc: Disable cpu1 for variants that only has one A55 core
Peng Fan (OSS)
peng.fan at oss.nxp.com
Thu Sep 19 06:01:32 CEST 2024
From: Peng Fan <peng.fan at nxp.com>
Disale CPU1 for i.MX93 variants that only has one A55 core and update
cooling maps.
Signed-off-by: Peng Fan <peng.fan at nxp.com>
---
arch/arm/mach-imx/Makefile | 7 ++++++-
arch/arm/mach-imx/imx9/soc.c | 8 ++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index 47e2cb8d943..f8903afc92e 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -12,7 +12,6 @@ endif
ifeq ($(SOC),$(filter $(SOC),imx8m))
ifneq ($(CONFIG_SPL_BUILD),y)
obj-$(CONFIG_IMX_BOOTAUX) += imx_bootaux.o
-obj-y += fdt.o
endif
obj-$(CONFIG_ENV_IS_IN_MMC) += mmc_env.o
obj-$(CONFIG_FEC_MXC) += mac.o
@@ -22,6 +21,12 @@ obj-$(CONFIG_IMX_HAB) += hab.o
obj-y += cpu.o
endif
+ifeq ($(SOC),$(filter $(SOC),imx8m imx9))
+ifneq ($(CONFIG_SPL_BUILD),y)
+obj-y += fdt.o
+endif
+endif
+
ifeq ($(SOC),$(filter $(SOC),mx5 mx6))
obj-y += cpu.o speed.o
ifneq ($(CONFIG_MX51),y)
diff --git a/arch/arm/mach-imx/imx9/soc.c b/arch/arm/mach-imx/imx9/soc.c
index 0d909c3e853..e3bfc8d51c5 100644
--- a/arch/arm/mach-imx/imx9/soc.c
+++ b/arch/arm/mach-imx/imx9/soc.c
@@ -696,9 +696,17 @@ int board_fix_fdt(void *fdt)
int ft_system_setup(void *blob, struct bd_info *bd)
{
+ static const char * const nodes_path[] = {
+ "/cpus/cpu at 0",
+ "/cpus/cpu at 100",
+ };
+
if (fixup_thermal_trips(blob, "cpu-thermal"))
printf("Failed to update cpu-thermal trip(s)");
+ if (is_imx9351() || is_imx9331() || is_imx9321() || is_imx9311())
+ disable_cpu_nodes(blob, nodes_path, 1, 2);
+
if (is_voltage_mode(VOLT_LOW_DRIVE))
low_drive_freq_update(blob);
--
2.35.3
More information about the U-Boot
mailing list