diff options
-rw-r--r-- | arch/arm/mach-realview/Kconfig | 11 | ||||
-rw-r--r-- | arch/arm/mach-realview/Makefile.boot | 7 | ||||
-rw-r--r-- | arch/arm/mach-realview/include/mach/memory.h | 4 | ||||
-rw-r--r-- | arch/arm/mach-realview/realview_eb.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-realview/realview_pb1176.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-realview/realview_pb11mp.c | 2 |
6 files changed, 24 insertions, 4 deletions
diff --git a/arch/arm/mach-realview/Kconfig b/arch/arm/mach-realview/Kconfig index 5ccde7cf39e8..6695fb33afbf 100644 --- a/arch/arm/mach-realview/Kconfig +++ b/arch/arm/mach-realview/Kconfig | |||
@@ -37,4 +37,15 @@ config MACH_REALVIEW_PB1176 | |||
37 | help | 37 | help |
38 | Include support for the ARM(R) RealView ARM1176 Platform Baseboard. | 38 | Include support for the ARM(R) RealView ARM1176 Platform Baseboard. |
39 | 39 | ||
40 | config REALVIEW_HIGH_PHYS_OFFSET | ||
41 | bool "High physical base address for the RealView platform" | ||
42 | depends on !MACH_REALVIEW_PB1176 | ||
43 | default y | ||
44 | help | ||
45 | RealView boards other than PB1176 have the RAM available at | ||
46 | 0x70000000, 256MB of which being mirrored at 0x00000000. If | ||
47 | the board supports 512MB of RAM, this option allows the | ||
48 | memory to be accessed contiguously at the high physical | ||
49 | offset. | ||
50 | |||
40 | endmenu | 51 | endmenu |
diff --git a/arch/arm/mach-realview/Makefile.boot b/arch/arm/mach-realview/Makefile.boot index c7e75acfe6c9..d97e003d3df4 100644 --- a/arch/arm/mach-realview/Makefile.boot +++ b/arch/arm/mach-realview/Makefile.boot | |||
@@ -1,4 +1,9 @@ | |||
1 | ifeq ($(CONFIG_REALVIEW_HIGH_PHYS_OFFSET),y) | ||
2 | zreladdr-y := 0x70008000 | ||
3 | params_phys-y := 0x70000100 | ||
4 | initrd_phys-y := 0x70800000 | ||
5 | else | ||
1 | zreladdr-y := 0x00008000 | 6 | zreladdr-y := 0x00008000 |
2 | params_phys-y := 0x00000100 | 7 | params_phys-y := 0x00000100 |
3 | initrd_phys-y := 0x00800000 | 8 | initrd_phys-y := 0x00800000 |
4 | 9 | endif | |
diff --git a/arch/arm/mach-realview/include/mach/memory.h b/arch/arm/mach-realview/include/mach/memory.h index 0e673483a141..759ed10d74fe 100644 --- a/arch/arm/mach-realview/include/mach/memory.h +++ b/arch/arm/mach-realview/include/mach/memory.h | |||
@@ -23,7 +23,11 @@ | |||
23 | /* | 23 | /* |
24 | * Physical DRAM offset. | 24 | * Physical DRAM offset. |
25 | */ | 25 | */ |
26 | #ifdef CONFIG_REALVIEW_HIGH_PHYS_OFFSET | ||
27 | #define PHYS_OFFSET UL(0x70000000) | ||
28 | #else | ||
26 | #define PHYS_OFFSET UL(0x00000000) | 29 | #define PHYS_OFFSET UL(0x00000000) |
30 | #endif | ||
27 | 31 | ||
28 | /* | 32 | /* |
29 | * Virtual view <-> DMA view memory address translations | 33 | * Virtual view <-> DMA view memory address translations |
diff --git a/arch/arm/mach-realview/realview_eb.c b/arch/arm/mach-realview/realview_eb.c index eb829eb1ebe2..f6e04edf922d 100644 --- a/arch/arm/mach-realview/realview_eb.c +++ b/arch/arm/mach-realview/realview_eb.c | |||
@@ -392,7 +392,7 @@ MACHINE_START(REALVIEW_EB, "ARM-RealView EB") | |||
392 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ | 392 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ |
393 | .phys_io = REALVIEW_EB_UART0_BASE, | 393 | .phys_io = REALVIEW_EB_UART0_BASE, |
394 | .io_pg_offst = (IO_ADDRESS(REALVIEW_EB_UART0_BASE) >> 18) & 0xfffc, | 394 | .io_pg_offst = (IO_ADDRESS(REALVIEW_EB_UART0_BASE) >> 18) & 0xfffc, |
395 | .boot_params = 0x00000100, | 395 | .boot_params = PHYS_OFFSET + 0x00000100, |
396 | .map_io = realview_eb_map_io, | 396 | .map_io = realview_eb_map_io, |
397 | .init_irq = gic_init_irq, | 397 | .init_irq = gic_init_irq, |
398 | .timer = &realview_eb_timer, | 398 | .timer = &realview_eb_timer, |
diff --git a/arch/arm/mach-realview/realview_pb1176.c b/arch/arm/mach-realview/realview_pb1176.c index cccdb3eb90fe..a9fac653b305 100644 --- a/arch/arm/mach-realview/realview_pb1176.c +++ b/arch/arm/mach-realview/realview_pb1176.c | |||
@@ -284,7 +284,7 @@ MACHINE_START(REALVIEW_PB1176, "ARM-RealView PB1176") | |||
284 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ | 284 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ |
285 | .phys_io = REALVIEW_PB1176_UART0_BASE, | 285 | .phys_io = REALVIEW_PB1176_UART0_BASE, |
286 | .io_pg_offst = (IO_ADDRESS(REALVIEW_PB1176_UART0_BASE) >> 18) & 0xfffc, | 286 | .io_pg_offst = (IO_ADDRESS(REALVIEW_PB1176_UART0_BASE) >> 18) & 0xfffc, |
287 | .boot_params = 0x00000100, | 287 | .boot_params = PHYS_OFFSET + 0x00000100, |
288 | .map_io = realview_pb1176_map_io, | 288 | .map_io = realview_pb1176_map_io, |
289 | .init_irq = gic_init_irq, | 289 | .init_irq = gic_init_irq, |
290 | .timer = &realview_pb1176_timer, | 290 | .timer = &realview_pb1176_timer, |
diff --git a/arch/arm/mach-realview/realview_pb11mp.c b/arch/arm/mach-realview/realview_pb11mp.c index 8b863148ec18..8a27cd0a4741 100644 --- a/arch/arm/mach-realview/realview_pb11mp.c +++ b/arch/arm/mach-realview/realview_pb11mp.c | |||
@@ -334,7 +334,7 @@ MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore") | |||
334 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ | 334 | /* Maintainer: ARM Ltd/Deep Blue Solutions Ltd */ |
335 | .phys_io = REALVIEW_PB11MP_UART0_BASE, | 335 | .phys_io = REALVIEW_PB11MP_UART0_BASE, |
336 | .io_pg_offst = (IO_ADDRESS(REALVIEW_PB11MP_UART0_BASE) >> 18) & 0xfffc, | 336 | .io_pg_offst = (IO_ADDRESS(REALVIEW_PB11MP_UART0_BASE) >> 18) & 0xfffc, |
337 | .boot_params = 0x00000100, | 337 | .boot_params = PHYS_OFFSET + 0x00000100, |
338 | .map_io = realview_pb11mp_map_io, | 338 | .map_io = realview_pb11mp_map_io, |
339 | .init_irq = gic_init_irq, | 339 | .init_irq = gic_init_irq, |
340 | .timer = &realview_pb11mp_timer, | 340 | .timer = &realview_pb11mp_timer, |