imx233: rewrite frequency scaling to use the new function

Change-Id: I0f9968de76ce17710d31f7bc609440654e68b6f1
This commit is contained in:
Amaury Pouly 2014-03-08 18:49:38 +01:00
parent 1f3979821c
commit 9637f4486b

View file

@ -295,8 +295,6 @@ void imx233_set_cpu_frequency(long frequency)
return; return;
/* disable auto-slow (enable back afterwards) */ /* disable auto-slow (enable back afterwards) */
imx233_clkctrl_enable_auto_slow(false); imx233_clkctrl_enable_auto_slow(false);
/* set VDDIO to the right value */
imx233_power_set_regulator(REGULATOR_VDDIO, 3300, 3125);
/* WARNING watch out the order ! */ /* WARNING watch out the order ! */
if(frequency > cpu_frequency) if(frequency > cpu_frequency)
@ -305,29 +303,15 @@ void imx233_set_cpu_frequency(long frequency)
imx233_power_set_regulator(REGULATOR_VDDD, prof->vddd, prof->vddd_bo); imx233_power_set_regulator(REGULATOR_VDDD, prof->vddd, prof->vddd_bo);
/* Change ARM cache timings */ /* Change ARM cache timings */
imx233_digctl_set_arm_cache_timings(prof->arm_cache_timings); imx233_digctl_set_arm_cache_timings(prof->arm_cache_timings);
/* Switch CPU to crystal at 24MHz */ /* Change CPU and HBUS frequencies */
imx233_clkctrl_set_bypass(CLK_CPU, true); imx233_clkctrl_set_cpu_hbus_div(prof->cpu_idiv, prof->cpu_fdiv, prof->hbus_div);
/* Program CPU divider for PLL */
imx233_clkctrl_set_frac_div(CLK_CPU, prof->cpu_fdiv);
imx233_clkctrl_set_div(CLK_CPU, prof->cpu_idiv);
/* Change the HBUS divider to its final value */
imx233_clkctrl_set_div(CLK_HBUS, prof->hbus_div);
/* Switch back CPU to PLL */
imx233_clkctrl_set_bypass(CLK_CPU, false);
/* Set the new EMI frequency */ /* Set the new EMI frequency */
imx233_emi_set_frequency(prof->emi_freq); imx233_emi_set_frequency(prof->emi_freq);
} }
else else
{ {
/* Switch CPU to crystal at 24MHz */ /* Change CPU and HBUS frequencies */
imx233_clkctrl_set_bypass(CLK_CPU, true); imx233_clkctrl_set_cpu_hbus_div(prof->cpu_idiv, prof->cpu_fdiv, prof->hbus_div);
/* Program HBUS divider to its final value */
imx233_clkctrl_set_div(CLK_HBUS, prof->hbus_div);
/* Program CPU divider for PLL */
imx233_clkctrl_set_frac_div(CLK_CPU, prof->cpu_fdiv);
imx233_clkctrl_set_div(CLK_CPU, prof->cpu_idiv);
/* Switch back CPU to PLL */
imx233_clkctrl_set_bypass(CLK_CPU, false);
/* Set the new EMI frequency */ /* Set the new EMI frequency */
imx233_emi_set_frequency(prof->emi_freq); imx233_emi_set_frequency(prof->emi_freq);
/* Change ARM cache timings */ /* Change ARM cache timings */