summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: rb2011: fix eth5 LEDGabor Juhos2014-01-201-1/+1
| | | | | | | | | The eth5 LED on the RB2011 is not working because the LED control rule is missing. Fix it. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39335
* ar71xx: ag71xx: increase calculated max frame length valueGabor Juhos2014-01-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The r39147 commit introduces a regression: at lease on some routers with ar8216 switch large packets get lost if 802.1q tagged port is used on the interface connected to the aforementioned switch. The r39147 changes code in the way so interface is set to accept packets no longer than max ethernet frame length for a given mtu. Unfortunately ar8216 has a feature: it sends two additional bytes as a packet header and those this header needs to be added to the max frame length. Otherwise long enough packets get lost. The problem only manuifests itself if interface is used in vlan tagged mode. If interface is untagged then ar8216's header fits into space used by 802.1q tag and not packets are lost. Include two additional bytes in the max frame length calculation to fix the issue. This patch is tested and works with Trendnet TEW-632BRP. Signed-off-by Nikolay Martynov <mar.kolya@gmail.com> Patchwork: http://patchwork.openwrt.org/patch/4656/ [juhosg: - simplify the patch to include the additional bytes of the switch header unconditionally, - change subject and update commit message] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39219
* ar71xx: my net n750: simplify LNA GPIO setupGabor Juhos2014-01-101-6/+2
| | | | | | | | | Use the ath79_wmac_set_ext_lna_gpio helper instead of exporting the GPIOs. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39217
* ar71xx: my net n600: simplify LNA GPIO setupGabor Juhos2014-01-101-6/+2
| | | | | | | | | Use the ath79_wmac_set_ext_lna_gpio helper instead of exporting the GPIOs. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39216
* ar71xx: Fix WD My Net N600 weak signal issueGabor Juhos2014-01-101-0/+15
| | | | | | | | | | | | | | | | | | The LNAs need to be enabled by setting their respective GPIO to high even though the original firmware's setting sets them to low on initialization. Obviously the LNAs are then later initialized by the driver on the OEM firmware. Without this fix the device is mostly "deaf". Signed-off-by: Felix Kaechele <heffer@fedoraproject.org> Tested-by: Steven Haigh <netwiz@crc.id.au> Patchwork: http://patchwork.openwrt.org/patch/4689/ [juhosg: - remove the GPIO LED changes, the My Net N600 has no yellow LEDs at all, - change subject and update the commit message] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39214
* ar71xx: Fix WD My Net N750 weak signal issueGabor Juhos2014-01-101-2/+2
| | | | | | | | | | | | | | The LNAs need to be enabled by setting their respective GPIO to high even though the original firmware's setting sets them to low on initialization. Obviously the LNAs are then later initialized by the driver on the OEM firmware. Without this fix the device is mostly "deaf". Signed-off-by: Felix Kaechele <heffer@fedoraproject.org> Patchwork: http://patchwork.openwrt.org/patch/4688/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39213
* ar71xx: fix max frame length of the QCA955x SoCsGabor Juhos2013-12-231-0/+11
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39161
* ar71xx: don't set builtin_switch flag for QCA9558Gabor Juhos2013-12-231-6/+1
| | | | | | | | It makes no sense, the SoC has no built-in switch. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39160
* ar71xx: allow to use large ethernet frames on AR934x SoCsGabor Juhos2013-12-201-0/+4
| | | | | | | | | | | | | | | The hardware supports large ethernet frames. Override the maximum frame length and packet lenght mask in the platform data to allow to use large MTU on the ethernet interfaces. Limit the feature to AR934x SoCs for now. It should work on some other SoCs as well, but those has not been tested yet. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39149
* ar71xx: ag71xx: fix max frame length setup of the built-in switchesGabor Juhos2013-12-201-5/+12
| | | | | | | | | | | | | The currently used bitmask of the maximum frame length field is wrong for both models. On AR724x/AR933x the largest frame size is 2047 bytes, on the AR934x it is 16383 bytes. Make the MTU setup code model specific, and use the correct bitmask for both models. Also change the value to the maximum. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39148
* ar71xx: ag71xx: calculate max frame len register value from the MTUGabor Juhos2013-12-201-3/+15
| | | | | | | | | | | | | | | Set the MAX_FRAME_LEN register to zero in ag71xx_hw_init() and write the correct value into that from the ag71xx_open() and ag71xx_fast_reset() functions. Also recalculate the RX buffer size based on the actual maximum frame length value to optimize memory allocation. Additionaly, disallow to change the MTU value while the interface it running. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39147
* ar71xx: ag71xx: add ag71xx_max_frame_len() helperGabor Juhos2013-12-201-2/+8
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39146
* ar71xx: ag71xx: get max_frame_len and desc_pktlen_mask from platform dataGabor Juhos2013-12-203-2/+11
| | | | | | | | This will allow to use SoC specific values for both. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39145
* ar71xx: ag71xx: store descriptor packet length mask in ag71xx structGabor Juhos2013-12-202-7/+5
| | | | | | | | | | | | | | | The currently used bitmask is not correct for all SoCs. Introduce a new field in struct ag71xx and store the bitmask in that. Use the current value for now, it will be adjusted for each SoCs in further patches. Aslo use the new field directly in the ag71xx_rx_packets and ag71xx_hard_start_xmit() functions and remove the ag71xx_desc_pktlen() helper. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39144
* ar71xx: fix WD My Net N750 switch led cfgGabor Juhos2013-12-171-4/+4
| | | | | | | | | | | Now that the switch is working correctly I had the chance to actually test the LED config. Signed-off-by: Felix Kaechele <heffer@fedoraproject.org> Patchwork: http://patchwork.openwrt.org/patch/4616/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39129
* ar71xx: implement switch fix for WD My Net N750Gabor Juhos2013-12-171-0/+19
| | | | | | | | | | | | | | | The bootloader on the WD My Net N750 disables the ports on it's internal AR8327N switch by powering them down. The stock firmware then brings the ports back up again by starting the auto negotiation process on each port. This fix implements just that. Signed-off-by: Felix Kaechele <heffer@fedoraproject.org> Patchwork: http://patchwork.openwrt.org/patch/4615/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39128
* ar71xx: implement callback in mdio resetGabor Juhos2013-12-172-0/+5
| | | | | | | | | | | This enables us to add fixups to the board specific code for boards that require special treatment of PHYs on mdio bus reset. Signed-off-by: Felix Kaechele <heffer@fedoraproject.org> http://patchwork.openwrt.org/patch/4614/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39127
* ar71xx: make ag71xx_mdio_platform_data visibleGabor Juhos2013-12-172-2/+4
| | | | | | | | | | | This enables us to modify the ag71xx_mdio_platform_data from within the board support files. Signed-off-by: Felix Kaechele <heffer@fedoraproject.org> Patchwork: http://patchwork.openwrt.org/patch/4613/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39126
* ar71xx: ag71xx: compute the RX buffer size from the maximum frame sizeGabor Juhos2013-12-172-3/+1
| | | | | | | | | | | | | | | | Currently, the AG71XX_RX_PKT_SIZE value limits the received frame size to 1514/1516 bytes with/without a VLAN header respectively. However the hardware limit is controlled by the value the AG71XX_REG_MAC_MFL register which contains the value of the max_frame_len field. Compute the RX buffer size from the max_frame_len field to get rid of the 1514/1516 byte limitation. Also remove the unused AG71XX_RX_PKT_SIZE definition. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39121
* ar71xx: ag71xx: store RX buffer size in the ag71xx structGabor Juhos2013-12-172-6/+8
| | | | | | | | This allows to change the value dynamically. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39120
* ar71xx: ag71xx: store maximum frame length in the ag71xx structGabor Juhos2013-12-172-2/+8
| | | | | | | | | This will allow to use different values for the different SoCs. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39117
* ar71xx: ag71xx: use mdio bus name in ar7240_probe messagesGabor Juhos2013-12-171-4/+4
| | | | | | | | | | | | | | | The ar7240_probe function uses the network device name in the kernel log messages, however the name is not yet initialized when the ar7240_probe function is called. Use the mdio bus name in the messages to avoid ugly log lines like the following one: eth%d: Found an AR7240/AR9330 built-in switch Reported-by: Ronald Wahl <ronald.wahl@raritan.com> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39116
* ag71xx: ag71xx: use device name for debugfs entryGabor Juhos2013-12-171-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | The ag71xx debugfs code uses the network device name for the device specific debugfs directory. Since r38689 'ar71xx: ag71xx: fix a race involving netdev registration' the debugfs initialization happens before the ethernet device gets registered and the network device name contains 'eth%d' at this point. If the board setup code registers multiple ag71xx devices, the debugfs code tries to create the device specific dir with the same name which causes an error like this: eth0: Atheros AG71xx at 0xba000000, irq 5, mode:GMII ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd041, driver=Generic PHY] ag71xx: probe of ag71xx.0 failed with error -12 Use the device name for the debugfs directory to avoid the collisions. Also add an error message and change the return code if the debugfs_create_dir call fails. Reported-by: Ronald Wahl <ronald.wahl@raritan.com> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39115
* ar71xx: add initial support for the Mikrotik RB911G/RB912UAG boardsGabor Juhos2013-12-161-0/+176
| | | | | | | | | It is only on RB911G-5HPnD and RB912UAG-5HPnD boards. The LEDs and the USB port is not working yet. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39102
* ar71xx: add NAND driver for the Mikrotik RB91x boardsGabor Juhos2013-12-161-0/+355
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39097
* ar71xx: rb2011: use board name from the hardware configGabor Juhos2013-12-161-6/+9
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39096
* ar71xx: rb2011: simplify setup codeGabor Juhos2013-12-161-16/+19
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39095
* ar71xx: rb2011: use the new RouterBOOT helpersGabor Juhos2013-12-161-46/+29
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39094
* ar71xx: rb95x: use the rb_get_wlan_data helperGabor Juhos2013-12-161-37/+14
| | | | | | | | Also remove unused RB_* defines. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39092
* ar71xx: add some RouterBOOT specific helper functionsGabor Juhos2013-12-162-0/+153
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39091
* ar71xx: rb95x: nuke rb95x_gpio_initGabor Juhos2013-12-161-6/+2
| | | | | | | | | Set up the chipselect GPIO directly in rb95x_nand_init instead. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39087
* ar71xx: add kernel support for WD My Net N750Gabor Juhos2013-12-161-0/+196
| | | | | | | | Signed-off-by: Felix Kaechele <heffer@fedoraproject.org> [juhosg: use a separate patch for kernel changes] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39077
* ar71xx: add kernel support for the TL-WA901ND v3 boardGabor Juhos2013-12-151-1/+16
| | | | | | | | Based-on: http://patchwork.openwrt.org/patch/4506/ Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39073
* ar71xx: move TL-WA801ND v2 setup codeGabor Juhos2013-12-152-47/+47
| | | | | | | | | | | | The TL-WA801ND v2 board has only one LAN port which makes it more similar to the TL-WR[78]50RE devices. Move the board setup code into the mach-tl-wax50re.c file. Based-on: http://patchwork.openwrt.org/patch/4506/ Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39072
* ar71xx: refactor TL-WAx50RE setup codeGabor Juhos2013-12-151-4/+8
| | | | | | | | | | | This way it is a bit easier to add other TP-LINK devices based on the Atheros AP123 reference board with one LAN port. Based-on: http://patchwork.openwrt.org/patch/4506/ Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39071
* ar71xx: add kernel support for the TL-WA801ND v2 boardGabor Juhos2013-12-151-8/+46
| | | | | | | | | | | | | | Patch to add kernel support for the TP-LINK WA801ND v2 Signed-off-by: Jiri Pirko <jiri@resnulli.us> Patchwork: http://patchwork.openwrt.org/patch/4500/ [juhosg: - the TL-WA801ND v2 does not have a sliding switch, it uses a push button for WPS instead. Use the tl_mr3420v2_gpio_keys array to reflect that, - rename kernel patch] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39063
* ath9k: merge initval and tx gain table updates, calibration fixesFelix Fietkau2013-12-081-0/+3
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 39001
* ar71xx: add kernel support for the TL-WR1043ND v2 boardGabor Juhos2013-11-291-0/+224
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38955
* ar71xx: improve support for the My Net Wi-Fi Range Extender deviceGabor Juhos2013-11-291-4/+7
| | | | | | | | | | | | | | | | | | | | 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
* ar71xx: Kernel support update tl-wr842n_v2 added missing usb ledGabor Juhos2013-11-291-1/+1
| | | | | | | | | | | Just a small oversight my part, added the support for the USB led Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com> Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com> Patchwork: http://patchwork.openwrt.org/patch/4425/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38946
* ar71xx: Add kernel support for the WR842N/ND v2Gabor Juhos2013-11-151-0/+22
| | | | | | | | | | | Patch to add kernel support for the TP-LINK WR842N/ND v2 Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com> Patchwork: http://patchwork.openwrt.org/patch/4352/ [juhosg: refresh kernel patch] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38813
* ar71xx: Use KEY_RESTART key code for the reset button on WD My Net N600 boardsGabor Juhos2013-11-111-1/+1
| | | | | | | Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38720
* ar71xx: Add kernel support for the TP-Link WA750RE / WA850RE range extenderGabor Juhos2013-11-111-0/+183
| | | | | | | | | | | Patch to add kernel support for the TP-LINK WA750RE and the WA850RE range extender Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com> [juhosg: rename and refresh kernel patch] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38717
* ar71xx: ag71xx: fix ag71xx_probe error pathGabor Juhos2013-11-111-1/+3
| | | | | | | Signed-off-by: Catalin Patulea <cat@vv.carleton.ca> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38716
* ar71xx: ag71xx: fix a race involving netdev registrationGabor Juhos2013-11-082-23/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, phy_connect before register_netdev. This is because register_netdev runs the netdev notifiers, which can race with the rest of the initialization in ag71xx_probe. In my case this manifested in two ways: 1) If ag71xx is compiled as a module and inserted after netifd has started, netifd is notified by register_netdev before the call to ag71xx_phy_connect. netifd tries to bring the interface up, which calls ag71xx_open, which in turn enters ag71xx_phy_start. This keys off ag->phy_dev (which is still NULL) and thinks this is a fixed-link board, and enters ag71xx_link_adjust. This looks at ag->speed which is not yet initialized and hits the BUG() in the switch (ag->speed) in ag71xx_link_adjust. This is the wrong code path for ag71xx_phy_start - my board has PHYs that need to be brought up with phy_start. Doing ag71xx_phy_connect before register_netdev ensures that ag->phy_dev is non-NULL before ag71xx_phy_start is ever called. 2) When ag71xx is built into the kernel, and netconsole is enabled, there is a gap in the initial burst of replayed printks right after the netdev comes up. My assumption is that netconsole is also triggered by a netdev notifier, and part of this printk burst happens before the call into ag71xx_phy_connect, so part of the burst is lost while the PHY comes up. This patch fixes the gap - all the printks before eth0 comes up are bursted in full when netconsole initializes. ag71xx_phy_connect_xxx no longer runs with a registered netdev, so the logging has been adjusted accordingly to avoid "unregistered net_device" or "eth%d" messages in dmesg. Signed-off-by: Catalin Patulea <cat@vv.carleton.ca> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38689
* ar71xx: add kernel support for the My Net Wi-Fi Range Extender deviceGabor Juhos2013-11-071-0/+175
| | | | | | | | | | | | | This patch adds a new device definition for a Western Digital device. The hardware seems to be based on Qualcomm Atheros DB120 design. Patchwork: http://patchwork.openwrt.org/patch/4281/ Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> [juhosg: refresh kernel patch] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38686
* ar71xx: add kernel support for BHU Networks BXU2000n-2 A1 boardGabor Juhos2013-10-301-0/+120
| | | | | | | | | | | | | | BXU2000n-2 A1 is a BHU Networks WLAN board, use ar9341 chip. Patchwork: http://patchwork.openwrt.org/patch/4183/ Signed-off-by: Terry Yang <yangbo@bhunetworks.com> [juhosg: - rename and refresh kernel patch, - fix some checkpatch warnings and adjust whitespaces in mach-bhu-bxu2000n2-a.c] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38591
* ar71xx: add kernel support for the Sitecom WLR-8100 wireless routerGabor Juhos2013-10-301-0/+222
| | | | | | | | | | | | - unsure about copyright message - based on AP136-010 Patchwork: http://patchwork.openwrt.org/patch/4147/ Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de> [juhosg: rename and refresh kernel patch] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38589
* ar71xx: add kernel support for DRAGINO2Gabor Juhos2013-10-301-0/+127
| | | | | | | | | | | | | | | | | | | This patch adds support for DRAGINO2 board (used by Meshpotato v2). Most of the files included can be found in the official svn repository provided by the company [1]. I have just adapt it to the last OpenWrt trunk revision (Fri Oct 4 10:49:47 2013). 1. http://svn.dragino.com/dragino2 Patchwork: http://patchwork.openwrt.org/patch/4234/ Signed-off-by: Pau Escrich <p4u@dabax.net> [juhosg: - rename and refresh kernel patch, - fix checkpatch warnings in mach-dragino2.c] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38587
* ar71xx: fix WLAN 5 GHz LED init on dir-825-c1Gabor Juhos2013-10-201-2/+1
| | | | | | | | | | | | Fixes the 5 GHz LED. The same function has no effect on the 2.4 GHz LED at all, so we might as well remove it. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 38482