ar71xx: improve support for the My Net Wi-Fi Range Extender device
authorGabor Juhos <juhosg@openwrt.org>
Fri, 29 Nov 2013 20:18:44 +0000 (20:18 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Fri, 29 Nov 2013 20:18:44 +0000 (20:18 +0000)
This patch improves support for the device considerably.

1. The wifi didn't work in the initial release. This was because
the WMAC of the AR9340 is not connected to the antennas.
(However, it can pick up wifi signals, if they are strong enough!)
Instead there's a dedicated AR9300 chip on the same board, which
works.

2. Ethernet throughput is improved. iperf shows that the hardware
can sustain more than 200Mbit/s and no longer drops any packages
when the link is under load.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Patchwork: http://patchwork.openwrt.org/patch/4461/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38949

target/linux/ar71xx/files/arch/mips/ath79/mach-mynet-rext.c
target/linux/ar71xx/patches-3.10/632-MIPS-ath79-add-MyNet-Wifi-Range-Extender-support.patch

index d20dbe0a875677c2a84b5744a13acea5e4aac0e0..a3deed5baf598f24d4117e004796585287569b30 100644 (file)
@@ -153,10 +153,9 @@ static void __init mynet_rext_setup(void)
                                        ARRAY_SIZE(mynet_rext_gpio_keys),
                                        mynet_rext_gpio_keys);
 
                                        ARRAY_SIZE(mynet_rext_gpio_keys),
                                        mynet_rext_gpio_keys);
 
-       mynet_rext_get_mac("wl0_hwaddr=", tmpmac);
-       ath79_register_wmac(art + MYNET_REXT_WMAC_CALDATA_OFFSET, tmpmac);
-
-       ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0);
+       ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
+                                  AR934X_ETH_CFG_RXD_DELAY |
+                                  AR934X_ETH_CFG_RDV_DELAY);
 
        ath79_register_mdio(0, 0x0);
 
 
        ath79_register_mdio(0, 0x0);
 
@@ -169,6 +168,10 @@ static void __init mynet_rext_setup(void)
        ath79_eth0_pll_data.pll_1000 = 0x0e000000; /* athrs_mac.c */
        ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
        ath79_register_eth(0);
        ath79_eth0_pll_data.pll_1000 = 0x0e000000; /* athrs_mac.c */
        ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
        ath79_register_eth(0);
+
+       /* WLAN */
+       mynet_rext_get_mac("wl0_hwaddr=", tmpmac);
+       ap91_pci_init(art + MYNET_REXT_WMAC_CALDATA_OFFSET, tmpmac);
 }
 
 MIPS_MACHINE(ATH79_MACH_MYNET_REXT, "MYNET-REXT",
 }
 
 MIPS_MACHINE(ATH79_MACH_MYNET_REXT, "MYNET-REXT",
index dfbff45817faa46b1298f77506eed0c57a062b12..4eac333a14f97995931f3d462f5810c1117dc6fe 100644 (file)
  obj-$(CONFIG_ATH79_MACH_NBG460N)      += mach-nbg460n.o
 --- a/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
  obj-$(CONFIG_ATH79_MACH_NBG460N)      += mach-nbg460n.o
 --- a/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
-@@ -801,6 +801,16 @@ config ATH79_MACH_MYNET_N600
+@@ -801,6 +801,17 @@ config ATH79_MACH_MYNET_N600
        select ATH79_DEV_WMAC
        select ATH79_NVRAM
  
 +config ATH79_MACH_MYNET_REXT
 +      bool "WD My Net Wi-Fi Range Extender board support"
 +      select SOC_AR934X
        select ATH79_DEV_WMAC
        select ATH79_NVRAM
  
 +config ATH79_MACH_MYNET_REXT
 +      bool "WD My Net Wi-Fi Range Extender board support"
 +      select SOC_AR934X
++      select ATH79_DEV_AP9X_PCI if PCI
 +      select ATH79_DEV_ETH
 +      select ATH79_DEV_GPIO_BUTTONS
 +      select ATH79_DEV_LEDS_GPIO
 +      select ATH79_DEV_ETH
 +      select ATH79_DEV_GPIO_BUTTONS
 +      select ATH79_DEV_LEDS_GPIO