fix reboot on ar5315

SVN-Revision: 10729
This commit is contained in:
John Crispin 2008-04-03 21:40:40 +00:00
parent 3f1fa224f0
commit 16f1b84a59

View file

@ -28,6 +28,7 @@
#include <asm/io.h> #include <asm/io.h>
#include <ar531x.h> #include <ar531x.h>
#include <linux/leds.h> #include <linux/leds.h>
#include <asm/gpio.h>
static int is_5315 = 0; static int is_5315 = 0;
@ -265,18 +266,13 @@ static void ar5315_restart(char *command)
{ {
unsigned int reg; unsigned int reg;
for(;;) { for(;;) {
/* reset the system */ /* reset the system */
sysRegWrite(AR5315_COLD_RESET,AR5317_RESET_SYSTEM); sysRegWrite(AR5315_COLD_RESET,AR5317_RESET_SYSTEM);
/* /*
* Cold reset does not work on the AR2315/6, use the GPIO reset bits a workaround. * Cold reset does not work on the AR2315/6, use the GPIO reset bits a workaround.
*/ */
gpio_direction_output(AR5315_RESET_GPIO, 0);
reg = sysRegRead(AR5315_GPIO_DO);
reg &= ~(1 << AR5315_RESET_GPIO);
sysRegWrite(AR5315_GPIO_DO, reg);
(void)sysRegRead(AR5315_GPIO_DO); /* flush write to hardware */
} }
} }