ar71xx: add kernel support for the Netgear WNR612 v2 board
authorGabor Juhos <juhosg@openwrt.org>
Sun, 28 Jul 2013 10:23:36 +0000 (10:23 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sun, 28 Jul 2013 10:23:36 +0000 (10:23 +0000)
Netgear WNR612 v2:
 - cpu Atheros AR7240 (Python) @400MHz
 - flash 4MB
 - ram 32MB
 - ethernet 10/100: 1xwan + 2xlan (only two)
 - radio AR9285

[juhosg: use a separate kernel patch]

Signed-off-by: Cezary Jackiewicz <cezary.jackiewicz@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/3876/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 37575

target/linux/ar71xx/files/arch/mips/ath79/mach-wnr2000-v3.c
target/linux/ar71xx/patches-3.10/622-MIPS-ath79-WNR612v2-support.patch [new file with mode: 0644]

index bb7b24c36d622b094758e942dbea89709750cde1..4669cebdea30ae0800644aad1de2c402141384dc 100644 (file)
@@ -29,6 +29,8 @@
 #define WNR2000V3_GPIO_LED_PWR_GREEN   14
 #define WNR2000V3_GPIO_BTN_WPS         11
 
+#define WNR612V2_GPIO_LED_PWR_GREEN    11
+
 #define WNR2000V3_KEYS_POLL_INTERVAL   20      /* msecs */
 #define WNR2000V3_KEYS_DEBOUNCE_INTERVAL       (3 * WNR2000V3_KEYS_POLL_INTERVAL)
 
@@ -48,6 +50,14 @@ static struct gpio_led wnr2000v3_leds_gpio[] __initdata = {
        }
 };
 
+static struct gpio_led wnr612v2_leds_gpio[] __initdata = {
+       {
+               .name           = "wnr612v2:green:power",
+               .gpio           = WNR612V2_GPIO_LED_PWR_GREEN,
+               .active_low     = 1,
+       }
+};
+
 static struct gpio_keys_button wnr2000v3_gpio_keys[] __initdata = {
        {
                .desc           = "wps",
@@ -58,7 +68,7 @@ static struct gpio_keys_button wnr2000v3_gpio_keys[] __initdata = {
        }
 };
 
-static void __init wnr2000v3_setup(void)
+static void __init wnr_common_setup(void)
 {
        u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
 
@@ -77,6 +87,12 @@ static void __init wnr2000v3_setup(void)
        ath79_register_eth(1);
 
        ath79_register_m25p80(NULL);
+       ap91_pci_init(art + WNR2000V3_PCIE_CALDATA_OFFSET, NULL);
+}
+
+static void __init wnr2000v3_setup(void)
+{
+       wnr_common_setup();
 
        ath79_register_leds_gpio(-1, ARRAY_SIZE(wnr2000v3_leds_gpio),
                                 wnr2000v3_leds_gpio);
@@ -84,8 +100,16 @@ static void __init wnr2000v3_setup(void)
        ath79_register_gpio_keys_polled(-1, WNR2000V3_KEYS_POLL_INTERVAL,
                                        ARRAY_SIZE(wnr2000v3_gpio_keys),
                                        wnr2000v3_gpio_keys);
-
-       ap91_pci_init(art + WNR2000V3_PCIE_CALDATA_OFFSET, NULL);
 }
 
 MIPS_MACHINE(ATH79_MACH_WNR2000_V3, "WNR2000V3", "NETGEAR WNR2000 V3", wnr2000v3_setup);
+
+static void __init wnr612v2_setup(void)
+{
+       wnr_common_setup();
+
+       ath79_register_leds_gpio(-1, ARRAY_SIZE(wnr612v2_leds_gpio),
+                                wnr612v2_leds_gpio);
+}
+
+MIPS_MACHINE(ATH79_MACH_WNR612_V2, "WNR612V2", "NETGEAR WNR612 V2", wnr612v2_setup);
diff --git a/target/linux/ar71xx/patches-3.10/622-MIPS-ath79-WNR612v2-support.patch b/target/linux/ar71xx/patches-3.10/622-MIPS-ath79-WNR612v2-support.patch
new file mode 100644 (file)
index 0000000..ad52881
--- /dev/null
@@ -0,0 +1,21 @@
+--- a/arch/mips/ath79/machtypes.h
++++ b/arch/mips/ath79/machtypes.h
+@@ -127,6 +127,7 @@ enum ath79_mach_type {
+       ATH79_MACH_WNDR4300,            /* NETGEAR WNDR4300 */
+       ATH79_MACH_WNR2000,             /* NETGEAR WNR2000 */
+       ATH79_MACH_WNR2000_V3,          /* NETGEAR WNR2000 v3 */
++      ATH79_MACH_WNR612_V2,           /* NETGEAR WNR612 v2 */
+       ATH79_MACH_WP543,               /* Compex WP543 */
+       ATH79_MACH_WPE72,               /* Compex WPE72 */
+       ATH79_MACH_WRT160NL,            /* Linksys WRT160NL */
+--- a/arch/mips/ath79/Kconfig
++++ b/arch/mips/ath79/Kconfig
+@@ -420,7 +420,7 @@ config ATH79_MACH_WNR2000
+       select ATH79_DEV_WMAC
+ config ATH79_MACH_WNR2000_V3
+-      bool "NETGEAR WNR2000 V3 board support"
++      bool "NETGEAR WNR2000 V3/WNR612 v2 board support"
+       select SOC_AR724X
+       select ATH79_DEV_AP9X_PCI if PCI
+       select ATH79_DEV_ETH