diff options
Diffstat (limited to 'firmware/target/arm/imx233/system-imx233.c')
-rw-r--r-- | firmware/target/arm/imx233/system-imx233.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/firmware/target/arm/imx233/system-imx233.c b/firmware/target/arm/imx233/system-imx233.c index 07ab62d680..68f063512d 100644 --- a/firmware/target/arm/imx233/system-imx233.c +++ b/firmware/target/arm/imx233/system-imx233.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include "lradc-imx233.h" | 36 | #include "lradc-imx233.h" |
37 | #include "rtc-imx233.h" | 37 | #include "rtc-imx233.h" |
38 | #include "power-imx233.h" | 38 | #include "power-imx233.h" |
39 | #include "emi-imx233.h" | ||
39 | #include "lcd.h" | 40 | #include "lcd.h" |
40 | #include "backlight-target.h" | 41 | #include "backlight-target.h" |
41 | #include "button.h" | 42 | #include "button.h" |
@@ -196,6 +197,8 @@ void set_cpu_frequency(long frequency) | |||
196 | imx233_clkctrl_set_fractional_divisor(CLK_CPU, 19); | 197 | imx233_clkctrl_set_fractional_divisor(CLK_CPU, 19); |
197 | imx233_clkctrl_set_clock_divisor(CLK_CPU, 1); | 198 | imx233_clkctrl_set_clock_divisor(CLK_CPU, 1); |
198 | imx233_clkctrl_set_bypass_pll(CLK_CPU, false); | 199 | imx233_clkctrl_set_bypass_pll(CLK_CPU, false); |
200 | |||
201 | imx233_emi_set_frequency(IMX233_EMIFREQ_130_MHz); | ||
199 | /* ref_cpu@480 MHz | 202 | /* ref_cpu@480 MHz |
200 | * ref_emi@480 MHz | 203 | * ref_emi@480 MHz |
201 | * clk_emi@130.91 MHz | 204 | * clk_emi@130.91 MHz |
@@ -211,12 +214,30 @@ void set_cpu_frequency(long frequency) | |||
211 | imx233_clkctrl_set_fractional_divisor(CLK_CPU, 33); | 214 | imx233_clkctrl_set_fractional_divisor(CLK_CPU, 33); |
212 | imx233_clkctrl_set_clock_divisor(CLK_CPU, 1); | 215 | imx233_clkctrl_set_clock_divisor(CLK_CPU, 1); |
213 | imx233_clkctrl_set_bypass_pll(CLK_CPU, false); | 216 | imx233_clkctrl_set_bypass_pll(CLK_CPU, false); |
217 | |||
218 | imx233_emi_set_frequency(IMX233_EMIFREQ_130_MHz); | ||
214 | /* ref_cpu@480 MHz | 219 | /* ref_cpu@480 MHz |
215 | * ref_emi@480 MHz | 220 | * ref_emi@480 MHz |
216 | * clk_emi@130.91 MHz | 221 | * clk_emi@130.91 MHz |
217 | * clk_p@261.82 MHz | 222 | * clk_p@261.82 MHz |
218 | * clk_h@130.91 MHz */ | 223 | * clk_h@130.91 MHz */ |
219 | break; | 224 | break; |
225 | case IMX233_CPUFREQ_64_MHz: | ||
226 | /* set VDDD to 1.050 mV (brownout at 0.975 mV) */ | ||
227 | imx233_power_set_regulator(REGULATOR_VDDD, 1050, 975); | ||
228 | /* clk_h@clk_p */ | ||
229 | imx233_clkctrl_set_clock_divisor(CLK_HBUS, 1); | ||
230 | /* clk_p@ref_cpu/5*18/27 */ | ||
231 | imx233_clkctrl_set_fractional_divisor(CLK_CPU, 27); | ||
232 | imx233_clkctrl_set_clock_divisor(CLK_CPU, 5); | ||
233 | imx233_clkctrl_set_bypass_pll(CLK_CPU, false); | ||
234 | |||
235 | imx233_emi_set_frequency(IMX233_EMIFREQ_64_MHz); | ||
236 | /* ref_cpu@480 MHz | ||
237 | * ref_emi@480 MHz | ||
238 | * clk_emi@64 MHz | ||
239 | * clk_p@64 MHz | ||
240 | * clk_h@64 MHz */ | ||
220 | default: | 241 | default: |
221 | break; | 242 | break; |
222 | } | 243 | } |