diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2011-03-29 10:53:29 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2011-05-24 16:11:48 -0400 |
commit | 118718905de6e32c11e09a8f41c7abff6155ba19 (patch) | |
tree | 1edc391f526bc4021f1eb41ff71c645d75be71d6 /arch/arm/mach-ux500 | |
parent | 9f3c645c68a42083117bbfeaa9aadb053b494090 (diff) |
mach-ux500: make PRCMU base address dynamic
This makes the PRCMU base address be selected at runtime for U8500
and U5500 instead of being compiled-in.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/mach-ux500')
-rw-r--r-- | arch/arm/mach-ux500/cpu-db5500.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-ux500/cpu-db8500.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-ux500/cpu.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-ux500/include/mach/hardware.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-ux500/include/mach/prcmu-regs.h | 2 |
5 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm/mach-ux500/cpu-db5500.c b/arch/arm/mach-ux500/cpu-db5500.c index c9dc2eff3cb2..c01bc19e3c5e 100644 --- a/arch/arm/mach-ux500/cpu-db5500.c +++ b/arch/arm/mach-ux500/cpu-db5500.c | |||
@@ -188,6 +188,8 @@ void __init u5500_map_io(void) | |||
188 | ux500_map_io(); | 188 | ux500_map_io(); |
189 | 189 | ||
190 | iotable_init(u5500_io_desc, ARRAY_SIZE(u5500_io_desc)); | 190 | iotable_init(u5500_io_desc, ARRAY_SIZE(u5500_io_desc)); |
191 | |||
192 | _PRCMU_BASE = __io_address(U5500_PRCMU_BASE); | ||
191 | } | 193 | } |
192 | 194 | ||
193 | static int usb_db5500_rx_dma_cfg[] = { | 195 | static int usb_db5500_rx_dma_cfg[] = { |
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c index 516126cb357d..3d419fef0470 100644 --- a/arch/arm/mach-ux500/cpu-db8500.c +++ b/arch/arm/mach-ux500/cpu-db8500.c | |||
@@ -87,6 +87,8 @@ void __init u8500_map_io(void) | |||
87 | iotable_init(u8500_v1_io_desc, ARRAY_SIZE(u8500_v1_io_desc)); | 87 | iotable_init(u8500_v1_io_desc, ARRAY_SIZE(u8500_v1_io_desc)); |
88 | else if (cpu_is_u8500v2()) | 88 | else if (cpu_is_u8500v2()) |
89 | iotable_init(u8500_v2_io_desc, ARRAY_SIZE(u8500_v2_io_desc)); | 89 | iotable_init(u8500_v2_io_desc, ARRAY_SIZE(u8500_v2_io_desc)); |
90 | |||
91 | _PRCMU_BASE = __io_address(U8500_PRCMU_BASE); | ||
90 | } | 92 | } |
91 | 93 | ||
92 | static struct resource db8500_pmu_resources[] = { | 94 | static struct resource db8500_pmu_resources[] = { |
diff --git a/arch/arm/mach-ux500/cpu.c b/arch/arm/mach-ux500/cpu.c index 5a43107c6232..0190e0e68b4d 100644 --- a/arch/arm/mach-ux500/cpu.c +++ b/arch/arm/mach-ux500/cpu.c | |||
@@ -23,6 +23,8 @@ | |||
23 | 23 | ||
24 | #include "clock.h" | 24 | #include "clock.h" |
25 | 25 | ||
26 | void __iomem *_PRCMU_BASE; | ||
27 | |||
26 | #ifdef CONFIG_CACHE_L2X0 | 28 | #ifdef CONFIG_CACHE_L2X0 |
27 | static void __iomem *l2x0_base; | 29 | static void __iomem *l2x0_base; |
28 | #endif | 30 | #endif |
diff --git a/arch/arm/mach-ux500/include/mach/hardware.h b/arch/arm/mach-ux500/include/mach/hardware.h index bf63f2631ba0..2c6f71049f2e 100644 --- a/arch/arm/mach-ux500/include/mach/hardware.h +++ b/arch/arm/mach-ux500/include/mach/hardware.h | |||
@@ -35,6 +35,7 @@ | |||
35 | #ifndef __ASSEMBLY__ | 35 | #ifndef __ASSEMBLY__ |
36 | 36 | ||
37 | #include <mach/id.h> | 37 | #include <mach/id.h> |
38 | extern void __iomem *_PRCMU_BASE; | ||
38 | 39 | ||
39 | #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) | 40 | #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) |
40 | 41 | ||
diff --git a/arch/arm/mach-ux500/include/mach/prcmu-regs.h b/arch/arm/mach-ux500/include/mach/prcmu-regs.h index 455467e88791..c1226da19bfb 100644 --- a/arch/arm/mach-ux500/include/mach/prcmu-regs.h +++ b/arch/arm/mach-ux500/include/mach/prcmu-regs.h | |||
@@ -15,8 +15,6 @@ | |||
15 | 15 | ||
16 | #include <mach/hardware.h> | 16 | #include <mach/hardware.h> |
17 | 17 | ||
18 | #define _PRCMU_BASE IO_ADDRESS(U8500_PRCMU_BASE) | ||
19 | |||
20 | #define PRCM_ARM_PLLDIVPS (_PRCMU_BASE + 0x118) | 18 | #define PRCM_ARM_PLLDIVPS (_PRCMU_BASE + 0x118) |
21 | #define PRCM_ARM_CHGCLKREQ (_PRCMU_BASE + 0x114) | 19 | #define PRCM_ARM_CHGCLKREQ (_PRCMU_BASE + 0x114) |
22 | #define PRCM_PLLARM_ENABLE (_PRCMU_BASE + 0x98) | 20 | #define PRCM_PLLARM_ENABLE (_PRCMU_BASE + 0x98) |