diff options
author | Colin Tuckley <colin.tuckley@arm.com> | 2008-11-10 14:10:11 +0000 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2008-11-10 14:10:11 +0000 |
commit | 68c3d93586223f7aeb04a815686b4d04146a2ada (patch) | |
tree | 736b2a5388426a3b73007cc5dd848047069e6723 | |
parent | 0173a3265b228da319ceb9c1ec6a5682fd1b2d92 (diff) |
RealView: Use the correct oscillator for the CLCD on PB1176
On PB1176, oscillator 0 rather than 4 should be used.
Signed-off-by: Colin Tuckley <colin.tuckley@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-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 2f04d54711e..702d81549c9 100644 --- a/arch/arm/mach-realview/core.c +++ b/arch/arm/mach-realview/core.c @@ -33,6 +33,7 @@ #include <mach/hardware.h> #include <asm/irq.h> #include <asm/leds.h> +#include <asm/mach-types.h> #include <asm/hardware/arm_timer.h> #include <asm/hardware/icst307.h> @@ -177,9 +178,14 @@ static const struct icst307_params realview_oscvco_params = { static void realview_oscvco_set(struct clk *clk, struct icst307_vco vco) { void __iomem *sys_lock = __io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_LOCK_OFFSET; - void __iomem *sys_osc = __io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_OSC4_OFFSET; + void __iomem *sys_osc; u32 val; + if (machine_is_realview_pb1176()) + sys_osc = __io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_OSC0_OFFSET; + else + sys_osc = __io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_OSC4_OFFSET; + val = readl(sys_osc) & ~0x7ffff; val |= vco.v | (vco.r << 9) | (vco.s << 16); |