diff options
Diffstat (limited to 'arch/arm/mach-realview')
-rw-r--r-- | arch/arm/mach-realview/core.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c index 2f04d54711e7..702d81549c91 100644 --- a/arch/arm/mach-realview/core.c +++ b/arch/arm/mach-realview/core.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <mach/hardware.h> | 33 | #include <mach/hardware.h> |
34 | #include <asm/irq.h> | 34 | #include <asm/irq.h> |
35 | #include <asm/leds.h> | 35 | #include <asm/leds.h> |
36 | #include <asm/mach-types.h> | ||
36 | #include <asm/hardware/arm_timer.h> | 37 | #include <asm/hardware/arm_timer.h> |
37 | #include <asm/hardware/icst307.h> | 38 | #include <asm/hardware/icst307.h> |
38 | 39 | ||
@@ -177,9 +178,14 @@ static const struct icst307_params realview_oscvco_params = { | |||
177 | static void realview_oscvco_set(struct clk *clk, struct icst307_vco vco) | 178 | static void realview_oscvco_set(struct clk *clk, struct icst307_vco vco) |
178 | { | 179 | { |
179 | void __iomem *sys_lock = __io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_LOCK_OFFSET; | 180 | void __iomem *sys_lock = __io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_LOCK_OFFSET; |
180 | void __iomem *sys_osc = __io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_OSC4_OFFSET; | 181 | void __iomem *sys_osc; |
181 | u32 val; | 182 | u32 val; |
182 | 183 | ||
184 | if (machine_is_realview_pb1176()) | ||
185 | sys_osc = __io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_OSC0_OFFSET; | ||
186 | else | ||
187 | sys_osc = __io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_OSC4_OFFSET; | ||
188 | |||
183 | val = readl(sys_osc) & ~0x7ffff; | 189 | val = readl(sys_osc) & ~0x7ffff; |
184 | val |= vco.v | (vco.r << 9) | (vco.s << 16); | 190 | val |= vco.v | (vco.r << 9) | (vco.s << 16); |
185 | 191 | ||