summaryrefslogtreecommitdiff
path: root/target/linux/ar71xx/files
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: rb91x: fix ethernet packet loss issuesGabor Juhos2014-04-131-0/+19
| | | | | | | | | | | | | | The RB91x boards are suffering from ethernet packet loss after a cold boot. The cause of the problem is that the AR8035 PHYs requires special register settings to work reliably on these boards. Enable the RGMII TX, RX delays and disable SmartEE functionality of the AR8035 PHYs. Also enable the RXD delay in the ETH_CFG register to fix the issue. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 40509
* ar71xx: add kernel support for ZyXEL NBG 6716Gabor Juhos2014-04-131-0/+285
| | | | | | | | | | | | | | | | | | | | | | With this patch OpenWRT supports the following on the ZyXEL NBG 6716: -WiFi 2G (ath9k) -WiFi 5G (ath10k) -NAND flash -2 Ethernet interfaces -USB 2.0 -LEDs including switch -reasonale defaults at first boot Signed-off-by: André Valentin <avalentin@marcant.net> Patchwork: http://patchwork.openwrt.org/patch/5101/ [juhosg: - rename and refresh kernel patch, - fix a few typos, - change button key codes, - use zyxel prefix in LED names] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 40499
* ar71xx: wndr4300: indicate WNDR3700v4 in the kernel support filesGabor Juhos2014-04-121-2/+2
| | | | | | | | | Apart from the wireless chip, the WNDR3700 v4 and the WNDR4300 is the same device. Indicate this in the kernel files. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 40479
* ar71xx: wndr4300: enable 5V power for the USB portGabor Juhos2014-04-121-0/+9
| | | | | | | | | | | | | | The 5V power of the USB is controlled by a GPIO pin of the external WiFi chip. Setup the GPIO bitmasks in the platform data of the WiFi chip to ensure that the 5V power gets enabled by the ath9k driver. Based on the the WNDR3700v4 support patch from Ralph Perlich: http://patchwork.openwrt.org/patch/4763/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 40478
* ar71xx: wndr4300: use KEY_RFKILL code for the Wireless buttonGabor Juhos2014-04-121-1/+1
| | | | | | | | | Based on the the WNDR3700v4 support patch from Ralph Perlich: http://patchwork.openwrt.org/patch/4763/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 40477
* ar71xx: wndr4300: add LED for 2.4Ghz wifi interfaceGabor Juhos2014-04-121-0/+6
| | | | | | | | | Based on the the WNDR3700v4 support patch from Ralph Perlich: http://patchwork.openwrt.org/patch/4763/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 40475
* ar71xx: wndr4300: select GPIO_OUT functionality for LED GPIOsGabor Juhos2014-04-121-0/+6
| | | | | | | | | The bootloader does not initializes the output function correctly for all LEDs. DO that from the board setup code. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 40474
* ar71xx: wndr4300: change 'orange' to 'amber' in LED color namesGabor Juhos2014-04-121-9/+10
| | | | | | | | | | | | The hardware manual says amber so change the color part of the LED names to reflect that. Also update the constant names. Based on the the WNDR3700v4 support patch from Ralph Perlich: http://patchwork.openwrt.org/patch/4763/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 40473
* ar71xx: add support for the TP-LINK TL-WR841N/ND v9Felix Fietkau2014-04-071-0/+138
| | | | | | | | | | Everything seems to be working fine. Potential issues: * VLAN port IDs are reversed with regard to the numbers on the case. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 40400
* ar71xx: add support for QCA953x SoCFelix Fietkau2014-04-071-0/+40
| | | | | | | | | | | | | | | | | I don't have access to the specs, so I'm not sure about every detail, but I haven't seen any problems with my test system, a TL-WR841N v9. It looks pretty much like a QCA955x without PCI, a little twist in the clock calculation and a AR9331-compatible switch. Features not yet supported: * EHCI (my test system doesn't have USB) * ? (I have no idea if the QCA953x has any other features I don't know about that aren't used by the TL-WR841N v9) Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 40399
* ar71xx: add kernel support for the Oolite v1 boardGabor Juhos2014-03-271-0/+103
| | | | | | | | | | | | | | Patch-by: Lars Bøgild Thomsen <lth@cow.dk> Patchwork: http://patchwork.openwrt.org/patch/4922/ [juhosg: - use a separate patch for kernel changes, - reorder Kconfig and Makefile entries, - change function and variable names to be lowercase only and fix misaligned tabs in mach-gs-oolite.c, ... ] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 40032
* ar71xx: rb95x: use correct SPI flash addressGabor Juhos2014-03-121-1/+1
| | | | | | | | | | | The flash address passed to rb_init_info() is bogus, use the predefined AR71XX_SPI_BASE macro instead. Compile tested only. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39891
* ar71xx: ar934x_nfc: fix memory initialization bugGabor Juhos2014-03-121-1/+1
| | | | | | | | | | | sizeof(array_from_function_definition) gives back the size of the pointer. sizeof(type) * array_size should be used in memset. Signed-off-by: David Völgyes <david.volgyes@gmail.com> Patchwork: http://patchwork.openwrt.org/patch/4950/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39890
* ar71xx: rb91x: register GPIO LEDsGabor Juhos2014-02-231-0/+51
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39704
* ar71xx: rb91x: add SPI device for the serial shift registerGabor Juhos2014-02-231-2/+62
| | | | | | | | | | | | | The RB91x boards are using a serial shift register connected to the SPI bus to drive some of the LEDs. Rework the board setup code to register a SPI device for that. This makes it possible to use the 'spi-74x164' driver to control the device. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39703
* ar71xx: rb91x-nand: rewrite to use GPIO APIGabor Juhos2014-02-233-115/+174
| | | | | | | | | Rewrite tha rb91x-nand driver to use GPIO API to modify the NAND control lines. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39700
* ar71xx: rb91x: register a gpio-latch platform deviceGabor Juhos2014-02-221-0/+21
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39699
* ar71xx: add a generic GPIO latch driverGabor Juhos2014-02-222-0/+233
| | | | | | | | It will be used for the Mikrotik boards. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39697
* ar71xx: rb91x: fix pll_1000 value for eth0 to avoid packet lossGabor Juhos2014-02-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | When the RB91x device uses a GbE link the connection suffers from packet loss: root@OpenWrt:/# ping 192.168.1.254 -s 65507 -c 20 -q PING 192.168.1.254 (192.168.1.254): 65507 data bytes --- 192.168.1.254 ping statistics --- 20 packets transmitted, 9 packets received, 55% packet loss round-trip min/avg/max = 4.570/4.815/4.999 ms Using a different PLL value fixes the issue. root@OpenWrt:/# ping 192.168.1.254 -s 65507 -c 100 -q PING 192.168.1.254 (192.168.1.254): 65507 data bytes --- 192.168.1.254 ping statistics --- 100 packets transmitted, 100 packets received, 0% packet loss round-trip min/avg/max = 4.449/5.413/13.870 ms Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39642
* ar71xx: Add support for MikroTik RB951Ui-2HnDGabor Juhos2014-02-201-4/+75
| | | | | | | | | | | | | | | | | | | | | | | | I noticed that the patch at http://patchwork.openwrt.org/patch/4017/ for adding support for the MikroTik RouterBOARD 951Ui-2HnD had been abandoned because it wasn't generated and sent to the mailing list correctly and doesn't apply as a result. I have cleaned up this patch. When testing this on real hardware, I also noticed that wireless didn't work, so this patch fixes that as well. This patch applies cleanly to SVN 39392. Signed-off-by: Matthew Reeve <mreeve@tenxnetworks.com> Patchwork: http://patchwork.openwrt.org/patch/4773/ [juhosg: - drop the 'rb951ui_wlan_init' function and rework the code to use the recently introduced rb95x_wlan_init function instead, - fix GPIO number of the port5 LED, - rename LEDs according to the standard LED naming conventions, and use 'rb' prefix in the names] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39641
* ar71xx: add kernel support for the TP-Link TL-WDR4900 v2.0 boardGabor Juhos2014-02-191-4/+27
| | | | | | | | | | | | Patch-by: TenNinjas <tenninjas@tenninjas.ca> Patchwork: http://patchwork.openwrt.org/patch/4848/ [juhosg: - rename and refresh kernel patch, - merge the board setup code into mach-archer-c7.c and drop mach-tl-wdr49000-v2.c] Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39635
* ar71xx: wpe72: set active_low flag for the reset buttonGabor Juhos2014-01-261-0/+1
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39401
* ar71xx: wp543: set active_low flag for the buttonsGabor Juhos2014-01-261-0/+2
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39400
* ar71xx: archer c7: define LEDs connected to the AR8327 switchGabor Juhos2014-01-251-0/+10
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39395
* ar71xx: fix bad RX sensitivity on newer TL-WDR4300 boardsGabor Juhos2014-01-241-0/+6
| | | | | | | | | | | | | On recent TL-WDR4300 boards the external LNAs of the 2.4GHz interface are connected to GPIO lines. Because these GPIO lines are disabled by default, the RX sensitivity of the device is quite bad. Setup the GPIOs of the external LNAs to fix the issue. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39392
* ar71xx: wp543: use KEY_RESET code for the sw4 buttonGabor Juhos2014-01-231-1/+1
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39374
* ar71xx: mynet-n750: define LEDs connected to the AR8327 switchGabor Juhos2014-01-211-0/+15
| | | | | | | | Signed-off-by: Felix Kaechele <heffer@fedoraproject.org> Patchwork: http://patchwork.openwrt.org/patch/4743/ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39361
* ar71xx: tl-wr1043nd-v2: define LEDs connected to the AR8327 switchGabor Juhos2014-01-201-0/+10
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39346
* ar71xx: tl-wdr4300: define LEDs connected to the AR8327 switchGabor Juhos2014-01-201-0/+10
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39345
* ar71xx: rb2011: define LEDs connected to the AR8327 switchGabor Juhos2014-01-201-0/+16
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 39341
* 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