diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-08-02 09:54:41 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-08-02 09:54:41 +0000 |
commit | 7750261206223f10b636fea46c9bc493a57de57c (patch) | |
tree | 7ebce42134a3857586da224a424771ca4ccf3e75 /target/linux/ar71xx/image/lzma-loader/src/board.c | |
parent | 70b3c1262bec05f587d0ea43cbcccd487d0dc46f (diff) |
ar71xx: image: stop the switch from the lzma-loader on the TL-WR1043ND
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32946 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/image/lzma-loader/src/board.c')
-rw-r--r-- | target/linux/ar71xx/image/lzma-loader/src/board.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/target/linux/ar71xx/image/lzma-loader/src/board.c b/target/linux/ar71xx/image/lzma-loader/src/board.c index f1f97442f..2f4dd6b1f 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 <stddef.h> #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(); } |