fix reboot on ar5315
authorJohn Crispin <john@openwrt.org>
Thu, 3 Apr 2008 21:40:40 +0000 (21:40 +0000)
committerJohn Crispin <john@openwrt.org>
Thu, 3 Apr 2008 21:40:40 +0000 (21:40 +0000)
SVN-Revision: 10729

target/linux/atheros/files/arch/mips/atheros/ar5315/board.c

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