diff options
Diffstat (limited to 'include/asm-arm/arch-versatile/system.h')
| -rw-r--r-- | include/asm-arm/arch-versatile/system.h | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/include/asm-arm/arch-versatile/system.h b/include/asm-arm/arch-versatile/system.h index 8889a189739f..71c6254c0d9b 100644 --- a/include/asm-arm/arch-versatile/system.h +++ b/include/asm-arm/arch-versatile/system.h | |||
| @@ -36,16 +36,14 @@ static inline void arch_idle(void) | |||
| 36 | 36 | ||
| 37 | static inline void arch_reset(char mode) | 37 | static inline void arch_reset(char mode) |
| 38 | { | 38 | { |
| 39 | unsigned int hdr_ctrl = (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_RESETCTL_OFFSET); | 39 | u32 val; |
| 40 | unsigned int val; | ||
| 41 | 40 | ||
| 42 | /* | 41 | val = __raw_readl(IO_ADDRESS(VERSATILE_SYS_RESETCTL)) & ~0x7; |
| 43 | * To reset, we hit the on-board reset register | 42 | val |= 0x105; |
| 44 | * in the system FPGA | 43 | |
| 45 | */ | 44 | __raw_writel(0xa05f, IO_ADDRESS(VERSATILE_SYS_LOCK)); |
| 46 | val = __raw_readl(hdr_ctrl); | 45 | __raw_writel(val, IO_ADDRESS(VERSATILE_SYS_RESETCTL)); |
| 47 | val |= VERSATILE_SYS_CTRL_RESET_CONFIGCLR; | 46 | __raw_writel(0, IO_ADDRESS(VERSATILE_SYS_LOCK)); |
| 48 | __raw_writel(val, hdr_ctrl); | ||
| 49 | } | 47 | } |
| 50 | 48 | ||
| 51 | #endif | 49 | #endif |
