X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=target%2Flinux%2Far71xx%2Fimage%2Flzma-loader%2Fsrc%2Fboard.c;h=2f4dd6b1f6456a9b4a1036c0fc96907dee72e0ca;hb=7750261206223f10b636fea46c9bc493a57de57c;hp=f1f97442f57535b789aecc6fbbce7411aad964d8;hpb=70b3c1262bec05f587d0ea43cbcccd487d0dc46f;p=openwrt-working-2016%2F.git diff --git a/target/linux/ar71xx/image/lzma-loader/src/board.c b/target/linux/ar71xx/image/lzma-loader/src/board.c index f1f97442f5..2f4dd6b1f6 100644 --- a/target/linux/ar71xx/image/lzma-loader/src/board.c +++ b/target/linux/ar71xx/image/lzma-loader/src/board.c @@ -10,10 +10,13 @@ #include #include "config.h" +#include "ar71xx_regs.h" #define READREG(r) *(volatile unsigned int *)(r) #define WRITEREG(r,v) *(volatile unsigned int *)(r) = v +#define KSEG1ADDR(_x) (((_x) & 0x1fffffff) | 0xa0000000) + #define UART_BASE 0xb8020000 #define UART_TX 0 @@ -31,6 +34,23 @@ void board_putc(int ch) while (((UART_READ(UART_LSR)) & UART_LSR_THRE) == 0); } +#ifdef CONFIG_BOARD_TL_WR1043ND_V1 +static void tlwr1043nd_init(void) +{ + unsigned int reg = KSEG1ADDR(AR71XX_RESET_BASE); + unsigned int t; + + t = READREG(reg + AR913X_RESET_REG_RESET_MODULE); + t |= AR71XX_RESET_GE0_PHY; + WRITEREG(reg + AR913X_RESET_REG_RESET_MODULE, t); + /* flush write */ + t = READREG(reg + AR913X_RESET_REG_RESET_MODULE); +} +#else +static inline void tlwr1043nd_init(void) {} +#endif + void board_init(void) { + tlwr1043nd_init(); }