diff options
Diffstat (limited to 'arch/arm/mach-realview')
-rw-r--r-- | arch/arm/mach-realview/Kconfig | 9 | ||||
-rw-r--r-- | arch/arm/mach-realview/core.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-realview/include/mach/entry-macro.S | 2 | ||||
-rw-r--r-- | arch/arm/mach-realview/include/mach/system.h | 17 | ||||
-rw-r--r-- | arch/arm/mach-realview/include/mach/vmalloc.h | 21 | ||||
-rw-r--r-- | arch/arm/mach-realview/realview_eb.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-realview/realview_pb1176.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-realview/realview_pb11mp.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-realview/realview_pba8.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-realview/realview_pbx.c | 10 |
10 files changed, 33 insertions, 55 deletions
diff --git a/arch/arm/mach-realview/Kconfig b/arch/arm/mach-realview/Kconfig index dba6d0c1fc17..c593be428b8f 100644 --- a/arch/arm/mach-realview/Kconfig +++ b/arch/arm/mach-realview/Kconfig | |||
@@ -12,6 +12,8 @@ config REALVIEW_EB_A9MP | |||
12 | bool "Support Multicore Cortex-A9 Tile" | 12 | bool "Support Multicore Cortex-A9 Tile" |
13 | depends on MACH_REALVIEW_EB | 13 | depends on MACH_REALVIEW_EB |
14 | select CPU_V7 | 14 | select CPU_V7 |
15 | select HAVE_SMP | ||
16 | select MIGHT_HAVE_CACHE_L2X0 | ||
15 | help | 17 | help |
16 | Enable support for the Cortex-A9MPCore tile fitted to the | 18 | Enable support for the Cortex-A9MPCore tile fitted to the |
17 | Realview(R) Emulation Baseboard platform. | 19 | Realview(R) Emulation Baseboard platform. |
@@ -21,6 +23,8 @@ config REALVIEW_EB_ARM11MP | |||
21 | depends on MACH_REALVIEW_EB | 23 | depends on MACH_REALVIEW_EB |
22 | select CPU_V6K | 24 | select CPU_V6K |
23 | select ARCH_HAS_BARRIERS if SMP | 25 | select ARCH_HAS_BARRIERS if SMP |
26 | select HAVE_SMP | ||
27 | select MIGHT_HAVE_CACHE_L2X0 | ||
24 | help | 28 | help |
25 | Enable support for the ARM11MPCore tile fitted to the Realview(R) | 29 | Enable support for the ARM11MPCore tile fitted to the Realview(R) |
26 | Emulation Baseboard platform. | 30 | Emulation Baseboard platform. |
@@ -39,6 +43,8 @@ config MACH_REALVIEW_PB11MP | |||
39 | select CPU_V6K | 43 | select CPU_V6K |
40 | select ARM_GIC | 44 | select ARM_GIC |
41 | select HAVE_PATA_PLATFORM | 45 | select HAVE_PATA_PLATFORM |
46 | select HAVE_SMP | ||
47 | select MIGHT_HAVE_CACHE_L2X0 | ||
42 | select ARCH_HAS_BARRIERS if SMP | 48 | select ARCH_HAS_BARRIERS if SMP |
43 | help | 49 | help |
44 | Include support for the ARM(R) RealView(R) Platform Baseboard for | 50 | Include support for the ARM(R) RealView(R) Platform Baseboard for |
@@ -51,6 +57,7 @@ config MACH_REALVIEW_PB1176 | |||
51 | select CPU_V6 | 57 | select CPU_V6 |
52 | select ARM_GIC | 58 | select ARM_GIC |
53 | select HAVE_TCM | 59 | select HAVE_TCM |
60 | select MIGHT_HAVE_CACHE_L2X0 | ||
54 | help | 61 | help |
55 | Include support for the ARM(R) RealView(R) Platform Baseboard for | 62 | Include support for the ARM(R) RealView(R) Platform Baseboard for |
56 | ARM1176JZF-S. | 63 | ARM1176JZF-S. |
@@ -78,6 +85,8 @@ config MACH_REALVIEW_PBX | |||
78 | bool "Support RealView(R) Platform Baseboard Explore" | 85 | bool "Support RealView(R) Platform Baseboard Explore" |
79 | select ARM_GIC | 86 | select ARM_GIC |
80 | select HAVE_PATA_PLATFORM | 87 | select HAVE_PATA_PLATFORM |
88 | select HAVE_SMP | ||
89 | select MIGHT_HAVE_CACHE_L2X0 | ||
81 | select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !REALVIEW_HIGH_PHYS_OFFSET | 90 | select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !REALVIEW_HIGH_PHYS_OFFSET |
82 | select ZONE_DMA if SPARSEMEM | 91 | select ZONE_DMA if SPARSEMEM |
83 | help | 92 | help |
diff --git a/arch/arm/mach-realview/core.h b/arch/arm/mach-realview/core.h index 47259c89a75e..735b57aaf2d6 100644 --- a/arch/arm/mach-realview/core.h +++ b/arch/arm/mach-realview/core.h | |||
@@ -65,6 +65,5 @@ extern int realview_usb_register(struct resource *res); | |||
65 | extern void realview_init_early(void); | 65 | extern void realview_init_early(void); |
66 | extern void realview_fixup(struct tag *tags, char **from, | 66 | extern void realview_fixup(struct tag *tags, char **from, |
67 | struct meminfo *meminfo); | 67 | struct meminfo *meminfo); |
68 | extern void (*realview_reset)(char); | ||
69 | 68 | ||
70 | #endif | 69 | #endif |
diff --git a/arch/arm/mach-realview/include/mach/entry-macro.S b/arch/arm/mach-realview/include/mach/entry-macro.S index 4071164aebaa..e8a5179c2653 100644 --- a/arch/arm/mach-realview/include/mach/entry-macro.S +++ b/arch/arm/mach-realview/include/mach/entry-macro.S | |||
@@ -7,8 +7,6 @@ | |||
7 | * License version 2. This program is licensed "as is" without any | 7 | * License version 2. This program is licensed "as is" without any |
8 | * warranty of any kind, whether express or implied. | 8 | * warranty of any kind, whether express or implied. |
9 | */ | 9 | */ |
10 | #include <mach/hardware.h> | ||
11 | #include <asm/hardware/entry-macro-gic.S> | ||
12 | 10 | ||
13 | .macro disable_fiq | 11 | .macro disable_fiq |
14 | .endm | 12 | .endm |
diff --git a/arch/arm/mach-realview/include/mach/system.h b/arch/arm/mach-realview/include/mach/system.h index 6657ff231161..471b671159ce 100644 --- a/arch/arm/mach-realview/include/mach/system.h +++ b/arch/arm/mach-realview/include/mach/system.h | |||
@@ -21,12 +21,6 @@ | |||
21 | #ifndef __ASM_ARCH_SYSTEM_H | 21 | #ifndef __ASM_ARCH_SYSTEM_H |
22 | #define __ASM_ARCH_SYSTEM_H | 22 | #define __ASM_ARCH_SYSTEM_H |
23 | 23 | ||
24 | #include <linux/io.h> | ||
25 | #include <mach/hardware.h> | ||
26 | #include <mach/platform.h> | ||
27 | |||
28 | void (*realview_reset)(char mode); | ||
29 | |||
30 | static inline void arch_idle(void) | 24 | static inline void arch_idle(void) |
31 | { | 25 | { |
32 | /* | 26 | /* |
@@ -36,15 +30,4 @@ static inline void arch_idle(void) | |||
36 | cpu_do_idle(); | 30 | cpu_do_idle(); |
37 | } | 31 | } |
38 | 32 | ||
39 | static inline void arch_reset(char mode, const char *cmd) | ||
40 | { | ||
41 | /* | ||
42 | * To reset, we hit the on-board reset register | ||
43 | * in the system FPGA | ||
44 | */ | ||
45 | if (realview_reset) | ||
46 | realview_reset(mode); | ||
47 | dsb(); | ||
48 | } | ||
49 | |||
50 | #endif | 33 | #endif |
diff --git a/arch/arm/mach-realview/include/mach/vmalloc.h b/arch/arm/mach-realview/include/mach/vmalloc.h deleted file mode 100644 index a2a4c6861407..000000000000 --- a/arch/arm/mach-realview/include/mach/vmalloc.h +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-realview/include/mach/vmalloc.h | ||
3 | * | ||
4 | * Copyright (C) 2003 ARM Limited | ||
5 | * Copyright (C) 2000 Russell King. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | ||
21 | #define VMALLOC_END 0xf8000000UL | ||
diff --git a/arch/arm/mach-realview/realview_eb.c b/arch/arm/mach-realview/realview_eb.c index 026c66ad7ec2..f92a920cf507 100644 --- a/arch/arm/mach-realview/realview_eb.c +++ b/arch/arm/mach-realview/realview_eb.c | |||
@@ -91,8 +91,8 @@ static struct map_desc realview_eb_io_desc[] __initdata = { | |||
91 | 91 | ||
92 | static struct map_desc realview_eb11mp_io_desc[] __initdata = { | 92 | static struct map_desc realview_eb11mp_io_desc[] __initdata = { |
93 | { | 93 | { |
94 | .virtual = IO_ADDRESS(REALVIEW_EB11MP_GIC_CPU_BASE), | 94 | .virtual = IO_ADDRESS(REALVIEW_EB11MP_SCU_BASE), |
95 | .pfn = __phys_to_pfn(REALVIEW_EB11MP_GIC_CPU_BASE), | 95 | .pfn = __phys_to_pfn(REALVIEW_EB11MP_SCU_BASE), |
96 | .length = SZ_4K, | 96 | .length = SZ_4K, |
97 | .type = MT_DEVICE, | 97 | .type = MT_DEVICE, |
98 | }, { | 98 | }, { |
@@ -415,7 +415,7 @@ static struct sys_timer realview_eb_timer = { | |||
415 | .init = realview_eb_timer_init, | 415 | .init = realview_eb_timer_init, |
416 | }; | 416 | }; |
417 | 417 | ||
418 | static void realview_eb_reset(char mode) | 418 | static void realview_eb_restart(char mode, const char *cmd) |
419 | { | 419 | { |
420 | void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL); | 420 | void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL); |
421 | void __iomem *lock_ctrl = __io_address(REALVIEW_SYS_LOCK); | 421 | void __iomem *lock_ctrl = __io_address(REALVIEW_SYS_LOCK); |
@@ -427,6 +427,7 @@ static void realview_eb_reset(char mode) | |||
427 | __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl); | 427 | __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl); |
428 | if (core_tile_eb11mp()) | 428 | if (core_tile_eb11mp()) |
429 | __raw_writel(0x0008, reset_ctrl); | 429 | __raw_writel(0x0008, reset_ctrl); |
430 | dsb(); | ||
430 | } | 431 | } |
431 | 432 | ||
432 | static void __init realview_eb_init(void) | 433 | static void __init realview_eb_init(void) |
@@ -458,7 +459,6 @@ static void __init realview_eb_init(void) | |||
458 | #ifdef CONFIG_LEDS | 459 | #ifdef CONFIG_LEDS |
459 | leds_event = realview_leds_event; | 460 | leds_event = realview_leds_event; |
460 | #endif | 461 | #endif |
461 | realview_reset = realview_eb_reset; | ||
462 | } | 462 | } |
463 | 463 | ||
464 | MACHINE_START(REALVIEW_EB, "ARM-RealView EB") | 464 | MACHINE_START(REALVIEW_EB, "ARM-RealView EB") |
@@ -469,8 +469,10 @@ MACHINE_START(REALVIEW_EB, "ARM-RealView EB") | |||
469 | .init_early = realview_init_early, | 469 | .init_early = realview_init_early, |
470 | .init_irq = gic_init_irq, | 470 | .init_irq = gic_init_irq, |
471 | .timer = &realview_eb_timer, | 471 | .timer = &realview_eb_timer, |
472 | .handle_irq = gic_handle_irq, | ||
472 | .init_machine = realview_eb_init, | 473 | .init_machine = realview_eb_init, |
473 | #ifdef CONFIG_ZONE_DMA | 474 | #ifdef CONFIG_ZONE_DMA |
474 | .dma_zone_size = SZ_256M, | 475 | .dma_zone_size = SZ_256M, |
475 | #endif | 476 | #endif |
477 | .restart = realview_eb_restart, | ||
476 | MACHINE_END | 478 | MACHINE_END |
diff --git a/arch/arm/mach-realview/realview_pb1176.c b/arch/arm/mach-realview/realview_pb1176.c index c057540ec776..8ec37b29e0fa 100644 --- a/arch/arm/mach-realview/realview_pb1176.c +++ b/arch/arm/mach-realview/realview_pb1176.c | |||
@@ -336,12 +336,13 @@ static struct sys_timer realview_pb1176_timer = { | |||
336 | .init = realview_pb1176_timer_init, | 336 | .init = realview_pb1176_timer_init, |
337 | }; | 337 | }; |
338 | 338 | ||
339 | static void realview_pb1176_reset(char mode) | 339 | static void realview_pb1176_restart(char mode, const char *cmd) |
340 | { | 340 | { |
341 | void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL); | 341 | void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL); |
342 | void __iomem *lock_ctrl = __io_address(REALVIEW_SYS_LOCK); | 342 | void __iomem *lock_ctrl = __io_address(REALVIEW_SYS_LOCK); |
343 | __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl); | 343 | __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl); |
344 | __raw_writel(REALVIEW_PB1176_SYS_SOFT_RESET, reset_ctrl); | 344 | __raw_writel(REALVIEW_PB1176_SYS_SOFT_RESET, reset_ctrl); |
345 | dsb(); | ||
345 | } | 346 | } |
346 | 347 | ||
347 | static void realview_pb1176_fixup(struct tag *tags, char **from, | 348 | static void realview_pb1176_fixup(struct tag *tags, char **from, |
@@ -381,7 +382,6 @@ static void __init realview_pb1176_init(void) | |||
381 | #ifdef CONFIG_LEDS | 382 | #ifdef CONFIG_LEDS |
382 | leds_event = realview_leds_event; | 383 | leds_event = realview_leds_event; |
383 | #endif | 384 | #endif |
384 | realview_reset = realview_pb1176_reset; | ||
385 | } | 385 | } |
386 | 386 | ||
387 | MACHINE_START(REALVIEW_PB1176, "ARM-RealView PB1176") | 387 | MACHINE_START(REALVIEW_PB1176, "ARM-RealView PB1176") |
@@ -392,8 +392,10 @@ MACHINE_START(REALVIEW_PB1176, "ARM-RealView PB1176") | |||
392 | .init_early = realview_init_early, | 392 | .init_early = realview_init_early, |
393 | .init_irq = gic_init_irq, | 393 | .init_irq = gic_init_irq, |
394 | .timer = &realview_pb1176_timer, | 394 | .timer = &realview_pb1176_timer, |
395 | .handle_irq = gic_handle_irq, | ||
395 | .init_machine = realview_pb1176_init, | 396 | .init_machine = realview_pb1176_init, |
396 | #ifdef CONFIG_ZONE_DMA | 397 | #ifdef CONFIG_ZONE_DMA |
397 | .dma_zone_size = SZ_256M, | 398 | .dma_zone_size = SZ_256M, |
398 | #endif | 399 | #endif |
400 | .restart = realview_pb1176_restart, | ||
399 | MACHINE_END | 401 | MACHINE_END |
diff --git a/arch/arm/mach-realview/realview_pb11mp.c b/arch/arm/mach-realview/realview_pb11mp.c index 671ad6d6ff00..f035fda8b619 100644 --- a/arch/arm/mach-realview/realview_pb11mp.c +++ b/arch/arm/mach-realview/realview_pb11mp.c | |||
@@ -315,7 +315,7 @@ static struct sys_timer realview_pb11mp_timer = { | |||
315 | .init = realview_pb11mp_timer_init, | 315 | .init = realview_pb11mp_timer_init, |
316 | }; | 316 | }; |
317 | 317 | ||
318 | static void realview_pb11mp_reset(char mode) | 318 | static void realview_pb11mp_restart(char mode, const char *cmd) |
319 | { | 319 | { |
320 | void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL); | 320 | void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL); |
321 | void __iomem *lock_ctrl = __io_address(REALVIEW_SYS_LOCK); | 321 | void __iomem *lock_ctrl = __io_address(REALVIEW_SYS_LOCK); |
@@ -327,6 +327,7 @@ static void realview_pb11mp_reset(char mode) | |||
327 | __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl); | 327 | __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl); |
328 | __raw_writel(0x0000, reset_ctrl); | 328 | __raw_writel(0x0000, reset_ctrl); |
329 | __raw_writel(0x0004, reset_ctrl); | 329 | __raw_writel(0x0004, reset_ctrl); |
330 | dsb(); | ||
330 | } | 331 | } |
331 | 332 | ||
332 | static void __init realview_pb11mp_init(void) | 333 | static void __init realview_pb11mp_init(void) |
@@ -355,7 +356,6 @@ static void __init realview_pb11mp_init(void) | |||
355 | #ifdef CONFIG_LEDS | 356 | #ifdef CONFIG_LEDS |
356 | leds_event = realview_leds_event; | 357 | leds_event = realview_leds_event; |
357 | #endif | 358 | #endif |
358 | realview_reset = realview_pb11mp_reset; | ||
359 | } | 359 | } |
360 | 360 | ||
361 | MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore") | 361 | MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore") |
@@ -366,8 +366,10 @@ MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore") | |||
366 | .init_early = realview_init_early, | 366 | .init_early = realview_init_early, |
367 | .init_irq = gic_init_irq, | 367 | .init_irq = gic_init_irq, |
368 | .timer = &realview_pb11mp_timer, | 368 | .timer = &realview_pb11mp_timer, |
369 | .handle_irq = gic_handle_irq, | ||
369 | .init_machine = realview_pb11mp_init, | 370 | .init_machine = realview_pb11mp_init, |
370 | #ifdef CONFIG_ZONE_DMA | 371 | #ifdef CONFIG_ZONE_DMA |
371 | .dma_zone_size = SZ_256M, | 372 | .dma_zone_size = SZ_256M, |
372 | #endif | 373 | #endif |
374 | .restart = realview_pb11mp_restart, | ||
373 | MACHINE_END | 375 | MACHINE_END |
diff --git a/arch/arm/mach-realview/realview_pba8.c b/arch/arm/mach-realview/realview_pba8.c index cbf22df4ad5b..0109c8b440cc 100644 --- a/arch/arm/mach-realview/realview_pba8.c +++ b/arch/arm/mach-realview/realview_pba8.c | |||
@@ -271,7 +271,7 @@ static struct sys_timer realview_pba8_timer = { | |||
271 | .init = realview_pba8_timer_init, | 271 | .init = realview_pba8_timer_init, |
272 | }; | 272 | }; |
273 | 273 | ||
274 | static void realview_pba8_reset(char mode) | 274 | static void realview_pba8_restart(char mode, const char *cmd) |
275 | { | 275 | { |
276 | void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL); | 276 | void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL); |
277 | void __iomem *lock_ctrl = __io_address(REALVIEW_SYS_LOCK); | 277 | void __iomem *lock_ctrl = __io_address(REALVIEW_SYS_LOCK); |
@@ -283,6 +283,7 @@ static void realview_pba8_reset(char mode) | |||
283 | __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl); | 283 | __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl); |
284 | __raw_writel(0x0000, reset_ctrl); | 284 | __raw_writel(0x0000, reset_ctrl); |
285 | __raw_writel(0x0004, reset_ctrl); | 285 | __raw_writel(0x0004, reset_ctrl); |
286 | dsb(); | ||
286 | } | 287 | } |
287 | 288 | ||
288 | static void __init realview_pba8_init(void) | 289 | static void __init realview_pba8_init(void) |
@@ -305,7 +306,6 @@ static void __init realview_pba8_init(void) | |||
305 | #ifdef CONFIG_LEDS | 306 | #ifdef CONFIG_LEDS |
306 | leds_event = realview_leds_event; | 307 | leds_event = realview_leds_event; |
307 | #endif | 308 | #endif |
308 | realview_reset = realview_pba8_reset; | ||
309 | } | 309 | } |
310 | 310 | ||
311 | MACHINE_START(REALVIEW_PBA8, "ARM-RealView PB-A8") | 311 | MACHINE_START(REALVIEW_PBA8, "ARM-RealView PB-A8") |
@@ -316,8 +316,10 @@ MACHINE_START(REALVIEW_PBA8, "ARM-RealView PB-A8") | |||
316 | .init_early = realview_init_early, | 316 | .init_early = realview_init_early, |
317 | .init_irq = gic_init_irq, | 317 | .init_irq = gic_init_irq, |
318 | .timer = &realview_pba8_timer, | 318 | .timer = &realview_pba8_timer, |
319 | .handle_irq = gic_handle_irq, | ||
319 | .init_machine = realview_pba8_init, | 320 | .init_machine = realview_pba8_init, |
320 | #ifdef CONFIG_ZONE_DMA | 321 | #ifdef CONFIG_ZONE_DMA |
321 | .dma_zone_size = SZ_256M, | 322 | .dma_zone_size = SZ_256M, |
322 | #endif | 323 | #endif |
324 | .restart = realview_pba8_restart, | ||
323 | MACHINE_END | 325 | MACHINE_END |
diff --git a/arch/arm/mach-realview/realview_pbx.c b/arch/arm/mach-realview/realview_pbx.c index 63c4114afae9..0194b3e26dc1 100644 --- a/arch/arm/mach-realview/realview_pbx.c +++ b/arch/arm/mach-realview/realview_pbx.c | |||
@@ -98,8 +98,8 @@ static struct map_desc realview_pbx_io_desc[] __initdata = { | |||
98 | 98 | ||
99 | static struct map_desc realview_local_io_desc[] __initdata = { | 99 | static struct map_desc realview_local_io_desc[] __initdata = { |
100 | { | 100 | { |
101 | .virtual = IO_ADDRESS(REALVIEW_PBX_TILE_GIC_CPU_BASE), | 101 | .virtual = IO_ADDRESS(REALVIEW_PBX_TILE_SCU_BASE), |
102 | .pfn = __phys_to_pfn(REALVIEW_PBX_TILE_GIC_CPU_BASE), | 102 | .pfn = __phys_to_pfn(REALVIEW_PBX_TILE_SCU_BASE), |
103 | .length = SZ_4K, | 103 | .length = SZ_4K, |
104 | .type = MT_DEVICE, | 104 | .type = MT_DEVICE, |
105 | }, { | 105 | }, { |
@@ -339,7 +339,7 @@ static void realview_pbx_fixup(struct tag *tags, char **from, | |||
339 | #endif | 339 | #endif |
340 | } | 340 | } |
341 | 341 | ||
342 | static void realview_pbx_reset(char mode) | 342 | static void realview_pbx_restart(char mode, const char *cmd) |
343 | { | 343 | { |
344 | void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL); | 344 | void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL); |
345 | void __iomem *lock_ctrl = __io_address(REALVIEW_SYS_LOCK); | 345 | void __iomem *lock_ctrl = __io_address(REALVIEW_SYS_LOCK); |
@@ -351,6 +351,7 @@ static void realview_pbx_reset(char mode) | |||
351 | __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl); | 351 | __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl); |
352 | __raw_writel(0x00F0, reset_ctrl); | 352 | __raw_writel(0x00F0, reset_ctrl); |
353 | __raw_writel(0x00F4, reset_ctrl); | 353 | __raw_writel(0x00F4, reset_ctrl); |
354 | dsb(); | ||
354 | } | 355 | } |
355 | 356 | ||
356 | static void __init realview_pbx_init(void) | 357 | static void __init realview_pbx_init(void) |
@@ -388,7 +389,6 @@ static void __init realview_pbx_init(void) | |||
388 | #ifdef CONFIG_LEDS | 389 | #ifdef CONFIG_LEDS |
389 | leds_event = realview_leds_event; | 390 | leds_event = realview_leds_event; |
390 | #endif | 391 | #endif |
391 | realview_reset = realview_pbx_reset; | ||
392 | } | 392 | } |
393 | 393 | ||
394 | MACHINE_START(REALVIEW_PBX, "ARM-RealView PBX") | 394 | MACHINE_START(REALVIEW_PBX, "ARM-RealView PBX") |
@@ -399,8 +399,10 @@ MACHINE_START(REALVIEW_PBX, "ARM-RealView PBX") | |||
399 | .init_early = realview_init_early, | 399 | .init_early = realview_init_early, |
400 | .init_irq = gic_init_irq, | 400 | .init_irq = gic_init_irq, |
401 | .timer = &realview_pbx_timer, | 401 | .timer = &realview_pbx_timer, |
402 | .handle_irq = gic_handle_irq, | ||
402 | .init_machine = realview_pbx_init, | 403 | .init_machine = realview_pbx_init, |
403 | #ifdef CONFIG_ZONE_DMA | 404 | #ifdef CONFIG_ZONE_DMA |
404 | .dma_zone_size = SZ_256M, | 405 | .dma_zone_size = SZ_256M, |
405 | #endif | 406 | #endif |
407 | .restart = realview_pbx_restart, | ||
406 | MACHINE_END | 408 | MACHINE_END |