diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2010-06-21 13:22:08 +1000 |
---|---|---|
committer | Nicolas Pitre <nico@fluxnic.net> | 2010-07-16 22:01:58 -0400 |
commit | 445f12dca8f06113caa775315bff574dee72b27d (patch) | |
tree | 909136819d7d1f9cc64f4a1ddac24d62a5088669 /arch/arm/mach-orion5x/include | |
parent | 6e2daa49420777190c133d7097dd8d5c05b475ac (diff) |
[ARM] orion5x: Fix soft-reset for some platforms
Some platforms, such as the DNS-323 rev C requires the soft reset line
to be toggled on and back off for the reset to work.
Note: The choice of 200ms delay comes from the 2.6.12 based vendor kernel.
It seems to be a -lot- though and I had my device working fine with much
smaller delays but better safe...
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
Diffstat (limited to 'arch/arm/mach-orion5x/include')
-rw-r--r-- | arch/arm/mach-orion5x/include/mach/system.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-orion5x/include/mach/system.h b/arch/arm/mach-orion5x/include/mach/system.h index 60e734c1045..a1d6e46ab03 100644 --- a/arch/arm/mach-orion5x/include/mach/system.h +++ b/arch/arm/mach-orion5x/include/mach/system.h @@ -25,6 +25,8 @@ static inline void arch_reset(char mode, const char *cmd) */ orion5x_setbits(RSTOUTn_MASK, (1 << 2)); orion5x_setbits(CPU_SOFT_RESET, 1); + mdelay(200); + orion5x_clrbits(CPU_SOFT_RESET, 1); } |