summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/imx9/clock.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-imx/imx9/clock.c')
-rw-r--r--arch/arm/mach-imx/imx9/clock.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/arch/arm/mach-imx/imx9/clock.c b/arch/arm/mach-imx/imx9/clock.c
index 1433e68874d..76d19f1cba3 100644
--- a/arch/arm/mach-imx/imx9/clock.c
+++ b/arch/arm/mach-imx/imx9/clock.c
@@ -782,17 +782,10 @@ void bus_clock_init(void)
}
}
-int clock_init(void)
+int clock_init_early(void)
{
int i;
- if (is_voltage_mode(VOLT_LOW_DRIVE)) {
- bus_clock_init_low_drive();
- set_arm_clk(MHZ(900));
- } else {
- bus_clock_init();
- }
-
/* allow for non-secure access */
for (i = 0; i < OSCPLL_END; i++)
ccm_clk_src_tz_access(i, true, false, false);
@@ -809,6 +802,19 @@ int clock_init(void)
return 0;
}
+/* Set bus and A55 core clock per voltage mode */
+int clock_init_late(void)
+{
+ if (is_voltage_mode(VOLT_LOW_DRIVE)) {
+ bus_clock_init_low_drive();
+ set_arm_core_max_clk();
+ } else {
+ bus_clock_init();
+ }
+
+ return 0;
+}
+
int set_clk_eqos(enum enet_freq type)
{
u32 eqos_post_div;