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 #include #include +#include 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); } }