]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
board: phytec: phycore-imx93: Add VOLT_LOW_DRIVE frequency fixup
authorPrimoz Fiser <primoz.fiser@norik.com>
Thu, 7 Aug 2025 13:13:54 +0000 (15:13 +0200)
committerFabio Estevam <festevam@gmail.com>
Fri, 8 Aug 2025 11:28:06 +0000 (08:28 -0300)
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@norik.com>
board/phytec/phycore_imx93/phycore-imx93.c

index 8d2caf8bbef60991f12e2221e216976eb3237137..fab66caf2a1cdc2bf60e062fc5e300d6b5fea378 100644 (file)
@@ -79,6 +79,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;
 }
 
@@ -86,5 +90,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;
 }