diff options
Diffstat (limited to 'arch/arm/mach-realview/realview_pb11mp.c')
| -rw-r--r-- | arch/arm/mach-realview/realview_pb11mp.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/mach-realview/realview_pb11mp.c b/arch/arm/mach-realview/realview_pb11mp.c index 94680fcf726..9bbbfc05f22 100644 --- a/arch/arm/mach-realview/realview_pb11mp.c +++ b/arch/arm/mach-realview/realview_pb11mp.c | |||
| @@ -299,6 +299,21 @@ static struct sys_timer realview_pb11mp_timer = { | |||
| 299 | .init = realview_pb11mp_timer_init, | 299 | .init = realview_pb11mp_timer_init, |
| 300 | }; | 300 | }; |
| 301 | 301 | ||
| 302 | static void realview_pb11mp_reset(char mode) | ||
| 303 | { | ||
| 304 | void __iomem *hdr_ctrl = __io_address(REALVIEW_SYS_BASE) + | ||
| 305 | REALVIEW_SYS_RESETCTL_OFFSET; | ||
| 306 | unsigned int val; | ||
| 307 | |||
| 308 | /* | ||
| 309 | * To reset, we hit the on-board reset register | ||
| 310 | * in the system FPGA | ||
| 311 | */ | ||
| 312 | val = __raw_readl(hdr_ctrl); | ||
| 313 | val |= REALVIEW_PB11MP_SYS_CTRL_RESET_CONFIGCLR; | ||
| 314 | __raw_writel(val, hdr_ctrl); | ||
| 315 | } | ||
| 316 | |||
| 302 | static void __init realview_pb11mp_init(void) | 317 | static void __init realview_pb11mp_init(void) |
| 303 | { | 318 | { |
| 304 | int i; | 319 | int i; |
| @@ -324,6 +339,7 @@ static void __init realview_pb11mp_init(void) | |||
| 324 | #ifdef CONFIG_LEDS | 339 | #ifdef CONFIG_LEDS |
| 325 | leds_event = realview_leds_event; | 340 | leds_event = realview_leds_event; |
| 326 | #endif | 341 | #endif |
| 342 | realview_reset = realview_pb11mp_reset; | ||
| 327 | } | 343 | } |
| 328 | 344 | ||
| 329 | MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore") | 345 | MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore") |
| @@ -331,6 +347,7 @@ MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore") | |||
| 331 | .phys_io = REALVIEW_PB11MP_UART0_BASE, | 347 | .phys_io = REALVIEW_PB11MP_UART0_BASE, |
| 332 | .io_pg_offst = (IO_ADDRESS(REALVIEW_PB11MP_UART0_BASE) >> 18) & 0xfffc, | 348 | .io_pg_offst = (IO_ADDRESS(REALVIEW_PB11MP_UART0_BASE) >> 18) & 0xfffc, |
| 333 | .boot_params = PHYS_OFFSET + 0x00000100, | 349 | .boot_params = PHYS_OFFSET + 0x00000100, |
| 350 | .fixup = realview_fixup, | ||
| 334 | .map_io = realview_pb11mp_map_io, | 351 | .map_io = realview_pb11mp_map_io, |
| 335 | .init_irq = gic_init_irq, | 352 | .init_irq = gic_init_irq, |
| 336 | .timer = &realview_pb11mp_timer, | 353 | .timer = &realview_pb11mp_timer, |
