diff options
-rw-r--r-- | target/linux/atheros/files/arch/mips/atheros/ar5315/board.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/target/linux/atheros/files/arch/mips/atheros/ar5315/board.c b/target/linux/atheros/files/arch/mips/atheros/ar5315/board.c index 6d46c85a1e..28df6587c9 100644 --- a/target/linux/atheros/files/arch/mips/atheros/ar5315/board.c +++ b/target/linux/atheros/files/arch/mips/atheros/ar5315/board.c @@ -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); } } |