Jelajahi Sumber

[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>
Benjamin Herrenschmidt 15 tahun lalu
induk
melakukan
445f12dca8
1 mengubah file dengan 2 tambahan dan 0 penghapusan
  1. 2 0
      arch/arm/mach-orion5x/include/mach/system.h

+ 2 - 0
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);
 }