Fix line endings in db12x.c
authorPiotr Dymacz <pepe2k@gmail.com>
Sun, 7 Sep 2014 23:17:14 +0000 (01:17 +0200)
committerPiotr Dymacz <pepe2k@gmail.com>
Sun, 7 Sep 2014 23:17:14 +0000 (01:17 +0200)
u-boot/board/ar7240/db12x/db12x.c

index e37ace4052b4f9d128f06e9262743c7c5749486e..08d6234fba7c0a485a5e4cf216ff5ef9d6b3d8d8 100755 (executable)
-#include <common.h>\r
-#include <command.h>\r
-#include <asm/mipsregs.h>\r
-#include <asm/addrspace.h>\r
-#include <config.h>\r
-#include <version.h>\r
-#include "ar7240_soc.h"\r
-\r
-extern int wasp_ddr_initial_config(uint32_t refresh);\r
-extern int ar7240_ddr_find_size(void);\r
-\r
-#define SETBITVAL(val, pos, bit) do {ulong bitval = (bit) ? 0x1 : 0x0; (val) = ((val) & ~(0x1 << (pos))) | ( (bitval) << (pos));} while(0)\r
-\r
-void led_toggle(void){\r
-       unsigned int gpio;\r
-\r
-       gpio = ar7240_reg_rd(AR934X_GPIO_OUT);\r
-\r
-#if defined(CONFIG_FOR_TPLINK_WDR3600_WDR43X0_V1) || \\r
-       defined(CONFIG_FOR_TPLINK_WDR3500_V1) || \\r
-       defined(CONFIG_FOR_TPLINK_WR841N_V8) || \\r
-       defined(CONFIG_FOR_TPLINK_WA830RE_V2_WA801ND_V2) || \\r
-       defined(CONFIG_FOR_TPLINK_MR3420_V2)\r
-       gpio ^= 1 << GPIO_SYS_LED_BIT;\r
-#else\r
-       #error "Custom GPIO in leg_toggle() not defined!"\r
-#endif\r
-\r
-       ar7240_reg_wr(AR934X_GPIO_OUT, gpio);\r
-}\r
-\r
-void all_led_on(void){\r
-       unsigned int gpio;\r
-\r
-       gpio = ar7240_reg_rd(AR934X_GPIO_OUT);\r
-\r
-#if defined(CONFIG_FOR_TPLINK_WDR3600_WDR43X0_V1)\r
-       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      GPIO_SYS_LED_ON);\r
-       SETBITVAL(gpio, GPIO_WLAN_2G_LED_BIT,  GPIO_WLAN_2G_LED_ON);\r
-       SETBITVAL(gpio, GPIO_USB1_LED_BIT,     GPIO_USB1_LED_ON);\r
-       SETBITVAL(gpio, GPIO_USB2_LED_BIT,     GPIO_USB2_LED_ON);\r
-       //SETBITVAL(gpio, GPIO_QSS_LED_BIT,      GPIO_QSS_LED_ON);\r
-#elif defined(CONFIG_FOR_TPLINK_WDR3500_V1)\r
-       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      GPIO_SYS_LED_ON);\r
-       SETBITVAL(gpio, GPIO_WLAN_2G_LED_BIT,  GPIO_WLAN_2G_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN1_LED_BIT,     GPIO_LAN1_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN2_LED_BIT,     GPIO_LAN2_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN3_LED_BIT,     GPIO_LAN3_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN4_LED_BIT,     GPIO_LAN4_LED_ON);\r
-       SETBITVAL(gpio, GPIO_INTERNET_LED_BIT, GPIO_INTERNET_LED_ON);\r
-       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      GPIO_QSS_LED_ON);\r
-       SETBITVAL(gpio, GPIO_USB_LED_BIT,      GPIO_USB_LED_ON);\r
-#elif defined(CONFIG_FOR_TPLINK_WR841N_V8)\r
-       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      GPIO_SYS_LED_ON);\r
-       SETBITVAL(gpio, GPIO_WLAN_LED_BIT,     GPIO_WLAN_LED_ON);\r
-       SETBITVAL(gpio, GPIO_INTERNET_LED_BIT, GPIO_INTERNET_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN1_LED_BIT,     GPIO_LAN1_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN2_LED_BIT,     GPIO_LAN2_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN3_LED_BIT,     GPIO_LAN3_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN4_LED_BIT,     GPIO_LAN4_LED_ON);\r
-       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      GPIO_QSS_LED_ON);\r
-#elif defined(CONFIG_FOR_TPLINK_MR3420_V2)\r
-       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      GPIO_SYS_LED_ON);\r
-       SETBITVAL(gpio, GPIO_WLAN_LED_BIT,     GPIO_WLAN_LED_ON);\r
-       SETBITVAL(gpio, GPIO_INTERNET_LED_BIT, GPIO_INTERNET_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN1_LED_BIT,     GPIO_LAN1_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN2_LED_BIT,     GPIO_LAN2_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN3_LED_BIT,     GPIO_LAN3_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN4_LED_BIT,     GPIO_LAN4_LED_ON);\r
-       SETBITVAL(gpio, GPIO_USB_LED_BIT,      GPIO_USB_LED_ON);\r
-       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      GPIO_QSS_LED_ON);\r
-#elif defined(CONFIG_FOR_TPLINK_WA830RE_V2_WA801ND_V2)\r
-       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      GPIO_SYS_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN_LED_BIT,      GPIO_LAN_LED_ON);\r
-       SETBITVAL(gpio, GPIO_WLAN_LED_BIT,     GPIO_WLAN_LED_ON);\r
-       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      GPIO_QSS_LED_ON);\r
-#else\r
-       #error "Custom GPIO in all_led_on() not defined!"\r
-#endif\r
-\r
-       ar7240_reg_wr(AR934X_GPIO_OUT, gpio);\r
-}\r
-\r
-void all_led_off(void){\r
-       unsigned int gpio;\r
-\r
-       gpio = ar7240_reg_rd(AR934X_GPIO_OUT);\r
-\r
-#if defined(CONFIG_FOR_TPLINK_WDR3600_WDR43X0_V1)\r
-       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      !GPIO_SYS_LED_ON);\r
-       SETBITVAL(gpio, GPIO_WLAN_2G_LED_BIT,  !GPIO_WLAN_2G_LED_ON);\r
-       SETBITVAL(gpio, GPIO_USB1_LED_BIT,     !GPIO_USB1_LED_ON);\r
-       SETBITVAL(gpio, GPIO_USB2_LED_BIT,     !GPIO_USB2_LED_ON);\r
-       //SETBITVAL(gpio, GPIO_QSS_LED_BIT,      !GPIO_QSS_LED_ON);\r
-#elif defined(CONFIG_FOR_TPLINK_WDR3500_V1)\r
-       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      !GPIO_SYS_LED_ON);\r
-       SETBITVAL(gpio, GPIO_WLAN_2G_LED_BIT,  !GPIO_WLAN_2G_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN1_LED_BIT,     !GPIO_LAN1_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN2_LED_BIT,     !GPIO_LAN2_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN3_LED_BIT,     !GPIO_LAN3_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN4_LED_BIT,     !GPIO_LAN4_LED_ON);\r
-       SETBITVAL(gpio, GPIO_INTERNET_LED_BIT, !GPIO_INTERNET_LED_ON);\r
-       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      !GPIO_QSS_LED_ON);\r
-       SETBITVAL(gpio, GPIO_USB_LED_BIT,      !GPIO_USB_LED_ON);\r
-#elif defined(CONFIG_FOR_TPLINK_WR841N_V8)\r
-       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      !GPIO_SYS_LED_ON);\r
-       SETBITVAL(gpio, GPIO_WLAN_LED_BIT,     !GPIO_WLAN_LED_ON);\r
-       SETBITVAL(gpio, GPIO_INTERNET_LED_BIT, !GPIO_INTERNET_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN1_LED_BIT,     !GPIO_LAN1_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN2_LED_BIT,     !GPIO_LAN2_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN3_LED_BIT,     !GPIO_LAN3_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN4_LED_BIT,     !GPIO_LAN4_LED_ON);\r
-       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      !GPIO_QSS_LED_ON);\r
-#elif defined(CONFIG_FOR_TPLINK_MR3420_V2)\r
-       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      !GPIO_SYS_LED_ON);\r
-       SETBITVAL(gpio, GPIO_WLAN_LED_BIT,     !GPIO_WLAN_LED_ON);\r
-       SETBITVAL(gpio, GPIO_INTERNET_LED_BIT, !GPIO_INTERNET_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN1_LED_BIT,     !GPIO_LAN1_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN2_LED_BIT,     !GPIO_LAN2_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN3_LED_BIT,     !GPIO_LAN3_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN4_LED_BIT,     !GPIO_LAN4_LED_ON);\r
-       SETBITVAL(gpio, GPIO_USB_LED_BIT,      !GPIO_USB_LED_ON);\r
-       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      !GPIO_QSS_LED_ON);\r
-#elif defined(CONFIG_FOR_TPLINK_WA830RE_V2_WA801ND_V2)\r
-       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      !GPIO_SYS_LED_ON);\r
-       SETBITVAL(gpio, GPIO_LAN_LED_BIT,      !GPIO_LAN_LED_ON);\r
-       SETBITVAL(gpio, GPIO_WLAN_LED_BIT,     !GPIO_WLAN_LED_ON);\r
-       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      !GPIO_QSS_LED_ON);\r
-#else\r
-       #error "Custom GPIO in all_led_off() not defined!"\r
-#endif\r
-\r
-       ar7240_reg_wr(AR934X_GPIO_OUT, gpio);\r
-}\r
-\r
-// get button status\r
-#ifndef GPIO_RST_BUTTON_BIT\r
-       #error "GPIO_RST_BUTTON_BIT not defined!"\r
-#endif\r
-int reset_button_status(void){\r
-       unsigned int gpio;\r
-\r
-       gpio = ar7240_reg_rd(AR934X_GPIO_IN);\r
-\r
-       if(gpio & (1 << GPIO_RST_BUTTON_BIT)){\r
-#if defined(GPIO_RST_BUTTON_IS_ACTIVE_LOW)\r
-               return(0);\r
-#else\r
-               return(1);\r
-#endif\r
-       } else {\r
-#if defined(GPIO_RST_BUTTON_IS_ACTIVE_LOW)\r
-               return(1);\r
-#else\r
-               return(0);\r
-#endif\r
-       }\r
-}\r
-\r
-void ath_set_tuning_caps(void){\r
-       typedef struct {\r
-               u_int8_t pad[0x28];\r
-               u_int8_t params_for_tuning_caps[2];\r
-               u_int8_t featureEnable;\r
-       } __attribute__((__packed__)) ar9300_eeprom_t;\r
-       \r
-       ar9300_eeprom_t *eep = (ar9300_eeprom_t *)WLANCAL;\r
-       uint32_t val = 0;\r
-\r
-       /* checking feature enable bit 6 and caldata is valid */\r
-       if((eep->featureEnable & 0x40) && (eep->pad[0x0] != 0xff)){\r
-               /* xtal_capin -bit 17:23 and xtag_capout -bit 24:30*/\r
-               val = (eep->params_for_tuning_caps[0] & 0x7f) << 17;\r
-               val |= (eep->params_for_tuning_caps[0] & 0x7f) << 24;\r
-       } else {\r
-               /* default when no caldata available*/\r
-               /* checking clock in bit 4 */\r
-               if(ar7240_reg_rd(RST_BOOTSTRAP_ADDRESS) & 0x10){\r
-                       val = (0x1020 << 17);   /*default 0x2040 for 40Mhz clock*/\r
-               } else {\r
-                       val = (0x2040 << 17);   /*default 0x4080 for 25Mhz clock*/\r
-               }\r
-       }\r
-       \r
-       val |= (ar7240_reg_rd(XTAL_ADDRESS) & (((1 << 17) - 1) | (1 << 31)));\r
-       ar7240_reg_wr(XTAL_ADDRESS, val);\r
-       \r
-       //prmsg("Setting 0xb8116290 to 0x%x\n", val);\r
-       return;\r
-}\r
-\r
-int wasp_mem_config(void){\r
-#ifndef CONFIG_SKIP_LOWLEVEL_INIT\r
-       unsigned int reg32;\r
-\r
-       wasp_ddr_initial_config(CFG_DDR_REFRESH_VAL);\r
-\r
-       /* Take WMAC out of reset */\r
-       reg32 = ar7240_reg_rd(AR7240_RESET);\r
-       reg32 = reg32 & ~AR7240_RESET_WMAC;\r
-       \r
-       ar7240_reg_wr_nf(AR7240_RESET, reg32);\r
-\r
-       /* Switching regulator settings */\r
-       ar7240_reg_wr_nf(0x18116c40, 0x633c8176); /* AR_PHY_PMU1 */\r
-       ar7240_reg_wr_nf(0x18116c44, 0x10380000); /* AR_PHY_PMU2 */\r
-\r
-       //wasp_usb_initial_config();\r
-\r
-       /* Needed here not to mess with Ethernet clocks */\r
-       ath_set_tuning_caps();\r
-\r
-#endif\r
-       // return memory size\r
-       return(ar7240_ddr_find_size());\r
-}\r
-\r
-long int initdram(){\r
-       return((long int)wasp_mem_config());\r
-}\r
-\r
-#ifndef COMPRESSED_UBOOT\r
-int checkboard(void){\r
-       printf(BOARD_CUSTOM_STRING"\n\n");\r
-       return(0);\r
-}\r
-#endif\r
-\r
-/*\r
- * Returns a string with memory type preceded by a space sign\r
- */\r
-const char* print_mem_type(void){\r
-       unsigned int reg;\r
-\r
-       reg = ar7240_reg_rd(WASP_BOOTSTRAP_REG);\r
-\r
-       // if SDRAM is disabled -> we are using DDR\r
-       if(reg & WASP_BOOTSTRAP_SDRAM_DISABLE_MASK){\r
-\r
-               // 1 -> DDR1\r
-               if(reg & WASP_BOOTSTRAP_DDR_SELECT_MASK){\r
-                       if(reg & WASP_BOOTSTRAP_DDR_WIDTH_MASK){\r
-                               return " DDR 32-bit";\r
-                       } else {\r
-                               return " DDR 16-bit";\r
-                       }\r
-               } else {\r
-                       if(reg & WASP_BOOTSTRAP_DDR_WIDTH_MASK){\r
-                               return " DDR2 32-bit";\r
-                       } else {\r
-                               return " DDR2 16-bit";\r
-                       }\r
-               }\r
-\r
-       } else {\r
-               return " SDRAM";\r
-       }\r
-}\r
+#include <common.h>
+#include <command.h>
+#include <asm/mipsregs.h>
+#include <asm/addrspace.h>
+#include <config.h>
+#include <version.h>
+#include "ar7240_soc.h"
+
+extern int wasp_ddr_initial_config(uint32_t refresh);
+extern int ar7240_ddr_find_size(void);
+
+#define SETBITVAL(val, pos, bit) do {ulong bitval = (bit) ? 0x1 : 0x0; (val) = ((val) & ~(0x1 << (pos))) | ( (bitval) << (pos));} while(0)
+
+void led_toggle(void){
+       unsigned int gpio;
+
+       gpio = ar7240_reg_rd(AR934X_GPIO_OUT);
+
+#if defined(CONFIG_FOR_TPLINK_WDR3600_WDR43X0_V1) || \
+       defined(CONFIG_FOR_TPLINK_WDR3500_V1) || \
+       defined(CONFIG_FOR_TPLINK_WR841N_V8) || \
+       defined(CONFIG_FOR_TPLINK_WA830RE_V2_WA801ND_V2) || \
+       defined(CONFIG_FOR_TPLINK_MR3420_V2)
+       gpio ^= 1 << GPIO_SYS_LED_BIT;
+#else
+       #error "Custom GPIO in leg_toggle() not defined!"
+#endif
+
+       ar7240_reg_wr(AR934X_GPIO_OUT, gpio);
+}
+
+void all_led_on(void){
+       unsigned int gpio;
+
+       gpio = ar7240_reg_rd(AR934X_GPIO_OUT);
+
+#if defined(CONFIG_FOR_TPLINK_WDR3600_WDR43X0_V1)
+       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      GPIO_SYS_LED_ON);
+       SETBITVAL(gpio, GPIO_WLAN_2G_LED_BIT,  GPIO_WLAN_2G_LED_ON);
+       SETBITVAL(gpio, GPIO_USB1_LED_BIT,     GPIO_USB1_LED_ON);
+       SETBITVAL(gpio, GPIO_USB2_LED_BIT,     GPIO_USB2_LED_ON);
+       //SETBITVAL(gpio, GPIO_QSS_LED_BIT,      GPIO_QSS_LED_ON);
+#elif defined(CONFIG_FOR_TPLINK_WDR3500_V1)
+       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      GPIO_SYS_LED_ON);
+       SETBITVAL(gpio, GPIO_WLAN_2G_LED_BIT,  GPIO_WLAN_2G_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN1_LED_BIT,     GPIO_LAN1_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN2_LED_BIT,     GPIO_LAN2_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN3_LED_BIT,     GPIO_LAN3_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN4_LED_BIT,     GPIO_LAN4_LED_ON);
+       SETBITVAL(gpio, GPIO_INTERNET_LED_BIT, GPIO_INTERNET_LED_ON);
+       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      GPIO_QSS_LED_ON);
+       SETBITVAL(gpio, GPIO_USB_LED_BIT,      GPIO_USB_LED_ON);
+#elif defined(CONFIG_FOR_TPLINK_WR841N_V8)
+       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      GPIO_SYS_LED_ON);
+       SETBITVAL(gpio, GPIO_WLAN_LED_BIT,     GPIO_WLAN_LED_ON);
+       SETBITVAL(gpio, GPIO_INTERNET_LED_BIT, GPIO_INTERNET_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN1_LED_BIT,     GPIO_LAN1_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN2_LED_BIT,     GPIO_LAN2_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN3_LED_BIT,     GPIO_LAN3_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN4_LED_BIT,     GPIO_LAN4_LED_ON);
+       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      GPIO_QSS_LED_ON);
+#elif defined(CONFIG_FOR_TPLINK_MR3420_V2)
+       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      GPIO_SYS_LED_ON);
+       SETBITVAL(gpio, GPIO_WLAN_LED_BIT,     GPIO_WLAN_LED_ON);
+       SETBITVAL(gpio, GPIO_INTERNET_LED_BIT, GPIO_INTERNET_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN1_LED_BIT,     GPIO_LAN1_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN2_LED_BIT,     GPIO_LAN2_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN3_LED_BIT,     GPIO_LAN3_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN4_LED_BIT,     GPIO_LAN4_LED_ON);
+       SETBITVAL(gpio, GPIO_USB_LED_BIT,      GPIO_USB_LED_ON);
+       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      GPIO_QSS_LED_ON);
+#elif defined(CONFIG_FOR_TPLINK_WA830RE_V2_WA801ND_V2)
+       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      GPIO_SYS_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN_LED_BIT,      GPIO_LAN_LED_ON);
+       SETBITVAL(gpio, GPIO_WLAN_LED_BIT,     GPIO_WLAN_LED_ON);
+       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      GPIO_QSS_LED_ON);
+#else
+       #error "Custom GPIO in all_led_on() not defined!"
+#endif
+
+       ar7240_reg_wr(AR934X_GPIO_OUT, gpio);
+}
+
+void all_led_off(void){
+       unsigned int gpio;
+
+       gpio = ar7240_reg_rd(AR934X_GPIO_OUT);
+
+#if defined(CONFIG_FOR_TPLINK_WDR3600_WDR43X0_V1)
+       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      !GPIO_SYS_LED_ON);
+       SETBITVAL(gpio, GPIO_WLAN_2G_LED_BIT,  !GPIO_WLAN_2G_LED_ON);
+       SETBITVAL(gpio, GPIO_USB1_LED_BIT,     !GPIO_USB1_LED_ON);
+       SETBITVAL(gpio, GPIO_USB2_LED_BIT,     !GPIO_USB2_LED_ON);
+       //SETBITVAL(gpio, GPIO_QSS_LED_BIT,      !GPIO_QSS_LED_ON);
+#elif defined(CONFIG_FOR_TPLINK_WDR3500_V1)
+       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      !GPIO_SYS_LED_ON);
+       SETBITVAL(gpio, GPIO_WLAN_2G_LED_BIT,  !GPIO_WLAN_2G_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN1_LED_BIT,     !GPIO_LAN1_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN2_LED_BIT,     !GPIO_LAN2_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN3_LED_BIT,     !GPIO_LAN3_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN4_LED_BIT,     !GPIO_LAN4_LED_ON);
+       SETBITVAL(gpio, GPIO_INTERNET_LED_BIT, !GPIO_INTERNET_LED_ON);
+       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      !GPIO_QSS_LED_ON);
+       SETBITVAL(gpio, GPIO_USB_LED_BIT,      !GPIO_USB_LED_ON);
+#elif defined(CONFIG_FOR_TPLINK_WR841N_V8)
+       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      !GPIO_SYS_LED_ON);
+       SETBITVAL(gpio, GPIO_WLAN_LED_BIT,     !GPIO_WLAN_LED_ON);
+       SETBITVAL(gpio, GPIO_INTERNET_LED_BIT, !GPIO_INTERNET_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN1_LED_BIT,     !GPIO_LAN1_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN2_LED_BIT,     !GPIO_LAN2_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN3_LED_BIT,     !GPIO_LAN3_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN4_LED_BIT,     !GPIO_LAN4_LED_ON);
+       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      !GPIO_QSS_LED_ON);
+#elif defined(CONFIG_FOR_TPLINK_MR3420_V2)
+       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      !GPIO_SYS_LED_ON);
+       SETBITVAL(gpio, GPIO_WLAN_LED_BIT,     !GPIO_WLAN_LED_ON);
+       SETBITVAL(gpio, GPIO_INTERNET_LED_BIT, !GPIO_INTERNET_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN1_LED_BIT,     !GPIO_LAN1_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN2_LED_BIT,     !GPIO_LAN2_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN3_LED_BIT,     !GPIO_LAN3_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN4_LED_BIT,     !GPIO_LAN4_LED_ON);
+       SETBITVAL(gpio, GPIO_USB_LED_BIT,      !GPIO_USB_LED_ON);
+       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      !GPIO_QSS_LED_ON);
+#elif defined(CONFIG_FOR_TPLINK_WA830RE_V2_WA801ND_V2)
+       SETBITVAL(gpio, GPIO_SYS_LED_BIT,      !GPIO_SYS_LED_ON);
+       SETBITVAL(gpio, GPIO_LAN_LED_BIT,      !GPIO_LAN_LED_ON);
+       SETBITVAL(gpio, GPIO_WLAN_LED_BIT,     !GPIO_WLAN_LED_ON);
+       SETBITVAL(gpio, GPIO_QSS_LED_BIT,      !GPIO_QSS_LED_ON);
+#else
+       #error "Custom GPIO in all_led_off() not defined!"
+#endif
+
+       ar7240_reg_wr(AR934X_GPIO_OUT, gpio);
+}
+
+// get button status
+#ifndef GPIO_RST_BUTTON_BIT
+       #error "GPIO_RST_BUTTON_BIT not defined!"
+#endif
+int reset_button_status(void){
+       unsigned int gpio;
+
+       gpio = ar7240_reg_rd(AR934X_GPIO_IN);
+
+       if(gpio & (1 << GPIO_RST_BUTTON_BIT)){
+#if defined(GPIO_RST_BUTTON_IS_ACTIVE_LOW)
+               return(0);
+#else
+               return(1);
+#endif
+       } else {
+#if defined(GPIO_RST_BUTTON_IS_ACTIVE_LOW)
+               return(1);
+#else
+               return(0);
+#endif
+       }
+}
+
+void ath_set_tuning_caps(void){
+       typedef struct {
+               u_int8_t pad[0x28];
+               u_int8_t params_for_tuning_caps[2];
+               u_int8_t featureEnable;
+       } __attribute__((__packed__)) ar9300_eeprom_t;
+
+       ar9300_eeprom_t *eep = (ar9300_eeprom_t *)WLANCAL;
+       uint32_t val = 0;
+
+       /* checking feature enable bit 6 and caldata is valid */
+       if((eep->featureEnable & 0x40) && (eep->pad[0x0] != 0xff)){
+               /* xtal_capin -bit 17:23 and xtag_capout -bit 24:30*/
+               val = (eep->params_for_tuning_caps[0] & 0x7f) << 17;
+               val |= (eep->params_for_tuning_caps[0] & 0x7f) << 24;
+       } else {
+               /* default when no caldata available*/
+               /* checking clock in bit 4 */
+               if(ar7240_reg_rd(RST_BOOTSTRAP_ADDRESS) & 0x10){
+                       val = (0x1020 << 17);   /*default 0x2040 for 40Mhz clock*/
+               } else {
+                       val = (0x2040 << 17);   /*default 0x4080 for 25Mhz clock*/
+               }
+       }
+
+       val |= (ar7240_reg_rd(XTAL_ADDRESS) & (((1 << 17) - 1) | (1 << 31)));
+       ar7240_reg_wr(XTAL_ADDRESS, val);
+
+       //prmsg("Setting 0xb8116290 to 0x%x\n", val);
+       return;
+}
+
+int wasp_mem_config(void){
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
+       unsigned int reg32;
+
+       wasp_ddr_initial_config(CFG_DDR_REFRESH_VAL);
+
+       /* Take WMAC out of reset */
+       reg32 = ar7240_reg_rd(AR7240_RESET);
+       reg32 = reg32 & ~AR7240_RESET_WMAC;
+
+       ar7240_reg_wr_nf(AR7240_RESET, reg32);
+
+       /* Switching regulator settings */
+       ar7240_reg_wr_nf(0x18116c40, 0x633c8176); /* AR_PHY_PMU1 */
+       ar7240_reg_wr_nf(0x18116c44, 0x10380000); /* AR_PHY_PMU2 */
+
+       //wasp_usb_initial_config();
+
+       /* Needed here not to mess with Ethernet clocks */
+       ath_set_tuning_caps();
+
+#endif
+       // return memory size
+       return(ar7240_ddr_find_size());
+}
+
+long int initdram(){
+       return((long int)wasp_mem_config());
+}
+
+#ifndef COMPRESSED_UBOOT
+int checkboard(void){
+       printf(BOARD_CUSTOM_STRING"\n\n");
+       return(0);
+}
+#endif
+
+/*
+ * Returns a string with memory type preceded by a space sign
+ */
+const char* print_mem_type(void){
+       unsigned int reg;
+
+       reg = ar7240_reg_rd(WASP_BOOTSTRAP_REG);
+
+       // if SDRAM is disabled -> we are using DDR
+       if(reg & WASP_BOOTSTRAP_SDRAM_DISABLE_MASK){
+
+               // 1 -> DDR1
+               if(reg & WASP_BOOTSTRAP_DDR_SELECT_MASK){
+                       if(reg & WASP_BOOTSTRAP_DDR_WIDTH_MASK){
+                               return " DDR 32-bit";
+                       } else {
+                               return " DDR 16-bit";
+                       }
+               } else {
+                       if(reg & WASP_BOOTSTRAP_DDR_WIDTH_MASK){
+                               return " DDR2 32-bit";
+                       } else {
+                               return " DDR2 16-bit";
+                       }
+               }
+
+       } else {
+               return " SDRAM";
+       }
+}
\ No newline at end of file