ar71xx: improve support for the My Net Wi-Fi Range Extender device
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 29 Nov 2013 20:18:44 +0000 (20:18 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38949 3c298f89-4303-0410-b956-a3cf2f4a3e73

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 d20dbe0..a3deed5 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 dfbff45..4eac333 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