[PATCH 2/2] board: phytec: phycore-imx93: Add VOLT_LOW_DRIVE frequency fixup

Primoz Fiser primoz.fiser at norik.com
Thu Aug 7 15:13:54 CEST 2025


For phyCORE-i.MX93 SoMs with i.MX93 parts running in VOLT_LOW_DRIVE mode
(SoCs with speed grade fuse set to 900 MHz) reduce usdhc clocks from 400
MHz to 266 MHz. Do this in board code since global imx9 board_fix_fdt()
is not used in case of phycore-imx93 board since commit d3b9b7996889
("board: phytec: imx93: Add eeprom-based hardware introspection").

While at it, add a note to ft_board_setup() function to inform that
fixup for Linux device-tree is taken care by ft_system_setup() in imx9
global arch/arm/mach-imx/imx9/soc.c implementation.

Signed-off-by: Primoz Fiser <primoz.fiser at norik.com>
---
 board/phytec/phycore_imx93/phycore-imx93.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/board/phytec/phycore_imx93/phycore-imx93.c b/board/phytec/phycore_imx93/phycore-imx93.c
index a55795e06034..b64138053935 100644
--- a/board/phytec/phycore_imx93/phycore-imx93.c
+++ b/board/phytec/phycore_imx93/phycore-imx93.c
@@ -82,6 +82,10 @@ int board_fix_fdt(void *blob)
 
 	emmc_fixup(blob, &data);
 
+	/* Update dtb clocks for low drive mode */
+	if (is_voltage_mode(VOLT_LOW_DRIVE))
+		low_drive_freq_update(blob);
+
 	return 0;
 }
 
@@ -89,5 +93,10 @@ int ft_board_setup(void *blob, struct bd_info *bd)
 {
 	emmc_fixup(blob, NULL);
 
+	/**
+	 * NOTE: VOLT_LOW_DRIVE fixup is done by the ft_system_setup()
+	 * in arch/arm/mach-imx/imx9/soc.c for Linux device-tree.
+	 */
+
 	return 0;
 }
-- 
2.34.1



More information about the U-Boot mailing list