From 7750261206223f10b636fea46c9bc493a57de57c Mon Sep 17 00:00:00 2001 From: juhosg Date: Thu, 2 Aug 2012 09:54:41 +0000 Subject: 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 --- target/linux/ar71xx/image/lzma-loader/src/board.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'target/linux/ar71xx/image/lzma-loader/src/board.c') 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(); } -- cgit v1.2.3