summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrimoz Fiser <primoz.fiser@norik.com>2025-08-07 15:13:54 +0200
committerFabio Estevam <festevam@gmail.com>2025-08-08 08:28:06 -0300
commitb6e2cfca1a6fd10c8f12016a40d690d2ec61796c (patch)
treec78f7b5b9e370eeffd05b7a2f5456c9f958ab512
parent442e752854bfbcfa9b7ac49eeecce33fb134ed95 (diff)
board: phytec: phycore-imx93: Add VOLT_LOW_DRIVE frequency fixup
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>
-rw-r--r--board/phytec/phycore_imx93/phycore-imx93.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/board/phytec/phycore_imx93/phycore-imx93.c b/board/phytec/phycore_imx93/phycore-imx93.c
index 8d2caf8bbef..fab66caf2a1 100644
--- a/board/phytec/phycore_imx93/phycore-imx93.c
+++ b/board/phytec/phycore_imx93/phycore-imx93.c
@@ -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;
}