summaryrefslogtreecommitdiff
path: root/arch/arm/plat-mxc/clock.c
diff options
context:
space:
mode:
authorRanjani Vaidyanathan <ra5478@freescale.com>2010-12-06 11:34:20 -0600
committerRanjani Vaidyanathan <ra5478@freescale.com>2010-12-06 15:54:15 -0600
commit7fe39ce482ae515dfece872608978553a3ff8090 (patch)
tree785b9da0dadec4c214b5fe3ad6c66b89430ca879 /arch/arm/plat-mxc/clock.c
parenteafea697fa1fcad33bcfb90fb5a0362960c2ffff (diff)
ENGR00136022: MXC:Fixed bugs in bus_frequency driver.
Fix MX53 boot issue caused by the changes made to bus_freq driver. Ensure that all MX5x platforms can enter/exit various low power modes. Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
Diffstat (limited to 'arch/arm/plat-mxc/clock.c')
-rw-r--r--arch/arm/plat-mxc/clock.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/arch/arm/plat-mxc/clock.c b/arch/arm/plat-mxc/clock.c
index 32cf7870dbc5..855145692349 100644
--- a/arch/arm/plat-mxc/clock.c
+++ b/arch/arm/plat-mxc/clock.c
@@ -184,9 +184,9 @@ int clk_enable(struct clk *clk)
if ((clk->flags & CPU_FREQ_TRIG_UPDATE)
&& (clk_get_usecount(clk) == 0)) {
#if (defined(CONFIG_ARCH_MX5) || defined(CONFIG_ARCH_MX37))
- if (low_freq_bus_used() && !low_bus_freq_mode) {
- if (!(clk->flags &
- (AHB_HIGH_SET_POINT | AHB_MED_SET_POINT)))
+ if (!(clk->flags &
+ (AHB_HIGH_SET_POINT | AHB_MED_SET_POINT))) {
+ if (low_freq_bus_used() && !low_bus_freq_mode)
set_low_bus_freq();
} else {
if ((clk->flags & AHB_MED_SET_POINT)
@@ -242,17 +242,9 @@ void clk_disable(struct clk *clk)
#if (defined(CONFIG_ARCH_MX5) || defined(CONFIG_ARCH_MX37))
if (low_freq_bus_used() && !low_bus_freq_mode)
set_low_bus_freq();
- else if ((clk->flags & AHB_MED_SET_POINT)
- && !med_bus_freq_mode)
- /* Currently at low need to set to medium setpoint
- */
+ else
+ /* Set to either high or medium setpoint. */
set_high_bus_freq(0);
- else if ((clk->flags & AHB_HIGH_SET_POINT)
- && !high_bus_freq_mode)
- /* Currently at low or medium set point,
- * need to set to high setpoint
- */
- set_high_bus_freq(1);
#endif
}
}