aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: fix LED setup for TL-WDR4900 v2Adrian Schmutzler2019-11-191-2/+36
| | | | | | | | | | | | | | | | | In ar71xx there is only one combined mach file for Archer C5/C7 and TL-WDR4900 v2. This one uses the same LED struct for all devices, defining "green" LEDs for them. However, WDR4900 uses blue front LEDs, while only C5/C7 uses green ones. Despite, in base-files WDR4900 is actually set up with "blue" for the mentioned LEDs. Thus, this patch creates a separate LED struct for WDR4900, so the LEDs can be set up correctly. Despite, the wlan5g LED is removed as it is controlled by ath9k chip for WDR4900 (in contrast to C5/C7). Note: While front LEDs are blue, USB LEDs (on the back) are green, so colors are mixed intentionally for the WDR4900 v2. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx: fix MAC address setup for TL-WDR4900 v2Adrian Schmutzler2019-11-171-3/+6
| | | | | | | | | | | | The MAC address setup of the TL-WDR4900 v2 is different from the C5/C7. This aligns ar71xx with the setup in ath79: wlan0 (5GHz) : -2 wlan1 (2.4GHz) : -1 eth1 (LAN) : 0 eth0 (WAN) : 1 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx: fix MAC addresses for Archer C5 v1, C7 v1/v2, WDR4900 v2Adrian Schmutzler2019-11-131-2/+1
| | | | | | | | | | | | | | | | | | | As discussed in 1d18a14a90c7 ("ath79: really fix TP-Link Archer C7 v2 MAC address"), stock firmware MAC address assignment is actually as follows: wlan0 (5GHz) : -1 wlan1 (2.4GHz) : 0 eth1 (LAN) : 0 eth0 (WAN) : 1 This has never been fixed for ar71xx, so let's do it now. Note that with WDR4900 v2 even both wlan0 and wlan1 where assigned to basemac-1 before ... Fixes: FS#408 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx: improve support for TP-Link CPE510 v2Adrian Schmutzler2019-10-212-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes commit bae927c551fd ("ar71xx: add support for TP-LINK CPE510 V2.0") where the support for this device wasn't optimal. Device support for the CPE510v2 so far has been a hack to enable flashing with CPE510v1 images. Those even have different hardware (e.g. additional ethernet port). With this patch, we provide proper support for this device in ar71xx. Installation: - Flash factory image through stock firmware WEB UI or through TFTP - To get to TFTP recovery just hold reset button while powering on for around 4-5 seconds and release. - Rename factory image to recovery.bin - Stock TFTP server IP: 192.168.0.100 - Stock device TFTP address: 192.168.0.254 Fixes: bae927c551fd ("ar71xx: add support for TP-LINK CPE510 V2.0") Signed-off-by: Andrew Cameron <apcameron@softhome.net> [Rebased onto revert commit, changed comments in mach-cpe510.c, changed commit title and description, fixed eth0 MAC address, removed eth1 initialization] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> [squashed revert, added fixes tag] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ar71xx: WNDR4300: use standard labels for buttonsMichal Cieslakiewicz2019-10-211-3/+3
| | | | | | | GPIO key labels have been changed to standard ones (rfkill, reset, wps). It does not affect button functionality. Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
* ar71xx: remove unnecessary execute permission bitSungbo Eo2019-10-121-0/+0
| | | | | | .c files do not need to be executable. 644 is enough. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ar71xx: WNR2200: remove redundant GPIO for WLAN LEDMichal Cieslakiewicz2019-08-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Without this patch, an extra entry appears for AR9287 GPIO that duplicates WLAN LED but in fact drives nothing: gpiochip1: GPIOs 502-511, ath9k-phy0: gpio-502 ( |netgear:blue:wlan ) out hi gpio-503 ( |netgear:amber:test ) out hi gpio-504 ( |netgear:green:power ) out lo gpio-505 ( |rfkill ) in hi gpio-507 ( |wps ) in hi gpio-508 ( |reset ) in hi gpio-510 ( |ath9k-phy0 ) out hi <===! The pin pointed above is default LED GPIO (8) for AR9287. For WNR2200 it is not connected anywhere - pin 0 drives blue WLAN LED instead - but initialization code is missing that information. This fix calls ap9x_pci_setup_wmac_led_pin() function at device setup, forcing WLAN LED pin to be 0 and removing redundant entry. Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
* ar71xx/ath79: ag71xx: dont fetch the same var againKoen Vandeputte2019-08-271-1/+1
| | | | | | | tx_size was just declared above and set to BIT(tx->order) Use the declaration instead, which could avoid a pointer deref Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: ag71xx: use base address value directly from the sourceKoen Vandeputte2019-08-271-2/+2
| | | | | | This brings the code more inline with the ath79 flavour Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: ag71xx: make use of managed dev API simplifying codeKoen Vandeputte2019-08-271-51/+34
| | | | | | | | | Backport of a4eef43a120d ("ath79: ag71xx: replace alloc_etherdev with devm_alloc_etherdev") combined with the initial changes from John Crispin. Simplifies the code a lot by using the Managed dev API. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: ag71xx: replace ag71xx_get_phy_if_mode_name with phy_modes()Koen Vandeputte2019-08-271-22/+1
| | | | | | Backport of f73b2d64ed56 ("ath79: ag71xx: replace ag71xx_get_phy_if_mode_name() with phy_modes()") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: ag71xx: pass correct device pointer to dmaKoen Vandeputte2019-08-271-7/+7
| | | | | | | | | Backport of 4eaa3626a821 ("ath79: ag71xx: pass correct device pointer to dma functions") While 4.14 does not contain the warnings, it still makes sense to use the proper pointers here. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx/ath79: ag71xx: get ring_mask consistentKoen Vandeputte2019-08-271-1/+1
| | | | | | | | | All other instances of this identical declaration fetch the value directly from the ring_order. Also do it here. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: ag71xx: add missing register writesKoen Vandeputte2019-08-271-0/+5
| | | | | | These are added in ath79, but were not backported here Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: ag71xx: init rings with GFP_KERNELKoen Vandeputte2019-08-091-1/+1
| | | | | | | ar71xx got lost during final rebase .. Fixes: b417a0c48d63 ("ar71xx/ath79: ag71xx: init rings with GFP_KERNEL") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx/ath79: ag71xx: fix sleep in atomicKoen Vandeputte2019-08-091-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When enabling atomic-sleep-debugging options in the kernel, following splat is seen when disabling the interface (which happens on boot): [ 10.892878] eth0: link down [ 10.896788] BUG: sleeping function called from invalid context at net/core/dev.c:5563 [ 10.904730] in_atomic(): 1, irqs_disabled(): 1, pid: 425, name: ip [ 10.911004] 2 locks held by ip/425: [ 10.914539] #0: (rtnl_mutex){....}, at: [<80377474>] rtnetlink_rcv_msg+0x2d8/0x380 [ 10.922441] #1: (&(&ag->lock)->rlock){....}, at: [<80330158>] ag71xx_hw_disable+0x24/0x94 [ 10.930976] CPU: 0 PID: 425 Comm: ip Not tainted 4.14.136 #0 [ 10.936716] Stack : 805e0000 80589228 80557404 876998ec 80610000 80610000 87cdcafc 805b5327 [ 10.945233] 80551534 000001a9 8061386c 87699ccc 87cfb180 00000001 876998a0 84f70903 [ 10.953751] 00000000 00000000 80b00000 8769979c 6a7407fa 00000000 00000007 00000000 [ 10.962270] 000000b7 16d0954a 000000b6 00000000 80000000 87cb658c 87cb65b0 00000001 [ 10.970787] 8046f97c 87699ccc 87cfb180 87ff2810 00000003 802ce724 0806e098 80610000 [ 10.979306] ... [ 10.981797] Call Trace: [ 10.984287] [<8006cb0c>] show_stack+0x58/0x100 [ 10.988814] [<800aab34>] ___might_sleep+0x100/0x120 [ 10.993774] [<8035c434>] napi_disable+0x30/0xd8 [ 10.998377] [<80330198>] ag71xx_hw_disable+0x64/0x94 [ 11.003418] [<8033069c>] ag71xx_stop+0x24/0x38 [ 11.007959] [<80359e30>] __dev_close_many+0xcc/0x104 [ 11.013009] [<80362eac>] __dev_change_flags+0xc8/0x1ac [ 11.018227] [<80362fb8>] dev_change_flags+0x28/0x70 [ 11.023182] [<80376890>] do_setlink+0x31c/0x91c [ 11.027786] [<80379360>] rtnl_newlink+0x3ec/0x7f8 [ 11.032563] [<80377498>] rtnetlink_rcv_msg+0x2fc/0x380 [ 11.037799] [<8039a734>] netlink_rcv_skb+0xd4/0x178 [ 11.042754] [<80399d10>] netlink_unicast+0x168/0x250 [ 11.047796] [<8039a2d4>] netlink_sendmsg+0x3d8/0x434 [ 11.052841] [<8033f0e4>] ___sys_sendmsg+0x1dc/0x290 [ 11.057794] [<80340140>] __sys_sendmsg+0x54/0x84 [ 11.062495] [<8007212c>] syscall_common+0x34/0x58 This is caused by calling napi_disable() while holding the spinlock. Fix it by omitting the spinlock, which is not required here Extensively tested on GL-MiFi, RB-912 and RB-922 hardware Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: wpj531: fix SIG1/RSS1 LED GPIOLeon M. George2019-08-041-1/+1
| | | | | | | | | | | | | | In commit 6c937df749c7 ("ar71xx: wpj531: fix GPIOs for LED") wrong GPIO 13 for SIG1/RSS1 LED was commited, the correct GPIO number for this LED is 12. It's listed in "Hardware Guide - wpj531 7A06 (02/07/2019)" as GPIO12/RSS1 on the LED header and same GPIO 12 is used in the vendor's SDK as well. Fixes: 6c937df749c7 ("ar71xx: wpj531: fix GPIOs for LED") Signed-off-by: Leon M. George <leon@georgemail.eu> [commit subject/message facelift] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ar71xx: fix HiveAP 121 PLL for 1000MDavid Bauer2019-08-011-1/+1
| | | | | | | | | | | | The Aerohive HiveAP 121 has the wrong PLL value set for Gigabit speeds, leading to packet-loss. 10M and 100M work fine. This commit sets the Gigabit Ethernet PLL value to the correct value, fixing packet loss. Confirmed with iperf and floodping. Signed-off-by: David Bauer <mail@david-bauer.net>
* ar71xx: fix nand init issues on some rb2011 devicesKoen Vandeputte2019-07-311-1/+5
| | | | | | | | | | | | | | | | | | | | While flashing lots of RB2011 devices, I noticed that some of them refused to boot properly, failing over the NAND parameters. Checking in detail shows that some device seem to use another NAND flash which only support standard 2048-byte pages, without 512-byte subpage support. This commit disables usage of these small subpage completely. Advantages: - Both NAND's with(out) subpage support are working now - The nand speed increases a bit (measured roughly 1%) in typical usecases Disadvantages: - The maximum storage capacity decreases by ~0.2% as small changes can consume a full page (2048 bytes) now. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: Archer C7 v1 LED names and RFKILL fixesTomislav Požega2019-07-251-10/+10
| | | | | | | | | | All leds on these boards are green. v1 has RFKILL GPIO 23 for production units (it had GPIO 13 only for test phase units, and these are rather very rare to find). As for the previous attempt to fix this and revert due to WDR boards have blue leds, it was wrong: WDR board does not use common setup (false). Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
* ar71xx: enable SGMII fixup on Mikrotik wAP ACEtienne Champetier2019-07-161-0/+16
| | | | | | | | | | | | | | | | fixes intermittent loss of connectivity on 1Gbit port, with log message: > 803x_aneg_done: SGMII link is not ok Thanks to David Bauer for pointing me in the right direction. I just had to figure out the right bus_id, which you find in this log: > ag71xx ag71xx.1: connected to PHY at gpio-1:00 [uid=004dd074, driver=Atheros 8031 ethernet] Fixes FS#2236 Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com> [Wrapped commit message - Fixed whitespace erors] Signed-off-by: David Bauer <mail@david-bauer.net>
* ar71xx: fix ath79/rb4xx IRQ initialization on kernel 4.14W. Michael Petullo2019-07-031-1/+1
| | | | | | | | | | | | Apply the same approach as in commit 3b53d6fdbc24 ("ar71xx: fix pci irq init on kernel 4.14") to fix IRQ initialization for ath79-based chipsets on rb4xx. Ref: PR#2182 Acked-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: W. Michael Petullo <mike@flyn.org> [commit ref fix] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ar71xx: ag71xx: update ethtool supportPetr Štetiar2019-06-051-34/+14
| | | | | | | | | | Remove references to broken and mostly deprecated phy_ethtool_ioctl, use new {s,g}et_link_ksettings and add nway_reset which was previously handled in phy_ethtool_ioctl. Cc: John Crispin <john@phrozen.org> Ref: https://bugs.openwrt.org/index.php?do=details&task_id=1982 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ar71xx: ag71xx: remove unused SIOCETHTOOL ioctl handlingPetr Štetiar2019-06-051-10/+0
| | | | | | | | | | | | This ioctl is currently routed through generic interface code: dev_ioctl dev_ethtool __ethtool_get_link_ksettings phy_ethtool_ioctl Cc: Felix Fietkau <nbd@nbd.name> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ar71xx: wr940 v4/v6: correct lan interface mac addressAlexander Couzens2019-05-211-1/+1
| | | | | | | | The vendor firmware only uses two mac addresses, the mac address on the label and the label + 1. While checking multiple devices, all labels have even mac addresses. Concluding only 2 address are assigned to a device. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* ar71xx: ag71xx: Fix broken networking on some devices (FS#2177)Petr Štetiar2019-04-081-2/+3
| | | | | | | | | It was reported, that latest ar71xx builds have broken networking on TP-Link TL-WPA8630 and Nanostation M5 XW devices and that by reverting the offending commit, everything is back to normal. Fixes: d3506d1 ("ar71xx: ag71xx: fix compile error when enabling debug") Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ar71xx: Add support for Ubiquity Bullet M (XW)Petr Štetiar2019-04-082-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CPU: AR9342 SoC RAM: 64 MB DDR2 Flash: 8 MB NOR SPI Ports: 100 MBit (24V PoE in) WLAN: 2.4/5 GHz UART: 1 UART on PCB marked as J1 with 115200 8N1 config LEDs: Power, Ethernet, 4x RSSI LEDs (orange, red, 2x green) Buttons: Reset UART connection details .---------------------------------. | | [ETH] J1 [ANT] | o VCC o RX o TX o GND | `---------------------------------' Flashing instructions using recovery method over TFTP 1. Unplug the ethernet cable from the router. 2. Using paper clip press and hold the router's reset button. Make sure you can feel it depressed by the paper clip. Do not release the button until step 4. 3. While keeping the reset button pressed in, plug the ethernet cable back into the AP. Keep the reset button depressed until you see the device's LEDs flashing in upgrade mode (alternating LED1/LED3 and LED2/LED4), this may take up to 25 seconds. 4. You may release the reset button, now the device should be in TFTP transfer mode. 5. Set a static IP on your Computer's NIC. A static IP of 192.168.1.25/24 should work. 6. Plug the PoE injector's LAN cable directly to your computer. 7. Start tftp client and issue following commands: tftp> binary tftp> connect 192.168.1.20 tftp> put openwrt-ar71xx-generic-ubnt-bullet-m-xw-squashfs-factory.bin Tested only on Bullet M2HP. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ar71xx: Add support for TP-Link CPE210 v3Robert Marko2019-04-022-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Looks identical to the v2. This PR adds support for a popular low-cost 2.4GHz N based AP Specifications: - SoC: Qualcomm Atheros QCA9533 (650MHz) - RAM: 64MB - Storage: 8 MB SPI NOR - Wireless: 2.4GHz N based built into SoC 2x2 - Ethernet: 1x 100/10 Mbps, integrated into SoC, 24V POE IN Installation: Flash factory image through stock firmware WEB UI or through TFTP To get to TFTP recovery just hold reset button while powering on for around 4-5 seconds and release. Rename factory image to recovery.bin Stock TFTP server IP:192.168.0.100 Stock device TFTP adress:192.168.0.254 Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Signed-off-by: Robert Marko <robimarko@gmail.com> [Rebased, adjusted for separate tplink-safeloader entry, dynamic partitioning] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx: add support for MikroTik RouterBOARD 922UAGS-5HPacDKoen Vandeputte2019-03-261-28/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the MikroTik RouterBOARD 922UAGS-5HPacD with a built-in 802.11ac High-Power radio (31dBm). See https://mikrotik.com/product/RB922UAGS-5HPacD for more info. Specifications: - SoC: Qualcomm Atheros QCA9557 (720 MHz) - RAM: 128 MB - Storage: 128 MB NAND - Wireless: external QCA9882 802.11a/ac 2x2:2 - Ethernet: 1x 1000/100/10 Mbps, integrated, via AR8031 PHY, passive PoE-in 24V - SFP: 1x host - USB: 1x 2.0 type A - PCIe: 1x Mini slot (also contains USB 2.0 for 3G/LTE modems) - SIM slot: 1x mini-SIM Working: - Board/system detection - NAND storage detection - PCIe - USB: Type A & mini PCIe - Wireless - Ethernet - LED's (excl. SFP and RSSI levels) - Reset button - Sysupgrade Not working: - SFP cage Installation: - Boot vmlinux-initramfs image via BOOTP/TFTP and then flash sysupgrade image using "sysupgrade -n" Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* ar71xx: Add support for Mikrotik RB SXT 2nD r3Xavier Douville2019-03-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The Mikrotik RouterBOARD SXT 2nD r3 is an outdoor WiFi AP / CPE with a single 2.4 GHz radio and a 100 Mbps Ethernet port. The device similar to the SXT 2nD r2, but it has SPI NOR flash instead of NAND flash. Hardware -------- CPU: Atheros AR9344 (600 MHz) RAM: 64 MiB FLASH: 16 MiB SPI NOR W25Q128 ETH: 1x 100 Mbps Atheros AG71xx WiFi: 2T2R 802.11b/g/n (ath9k) Power: Passive PoE 8-30 V Installation instructions: 1. Boot openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf using a DHCP+TFTP server. 2. Erase the "firmware" partition using the mtd command. This should no longer be required once this patch is merged. 3. Use sysupgrade to install to flash. The file openwrt-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin should be used. Signed-off-by: Xavier Douville <github@douville.org>
* ar71xx: enable QCA955x SGMII fixup on RambutanMantas Pucka2019-03-061-0/+2
| | | | | | | | | fixes intermittent loss of connectivity on 1Gbit port, with log message: 803x_aneg_done: SGMII link is not ok Signed-off-by: Mantas Pucka <mantas@8devices.com>
* ar71xx: ag71xx: fix compile error when enabling debugKoen Vandeputte2019-03-051-6/+5
| | | | | | | | | | | | | | | | | | | | | | | Starting from kernel 4.5, phy_id needs to be fetched from a different location. not doing so results in this compile error: drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c: In function 'ag71xx_phy_connect_multi': drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c:133:35: error: 'struct mdio_device' has no member named 'phy_id' ag->mii_bus->mdio_map[phy_addr]->phy_id); ^ ./include/linux/printk.h:137:18: note: in definition of macro 'no_printk' printk(fmt, ##__VA_ARGS__); \ ^~~~~~~~~~~ drivers/net/ethernet/atheros/ag71xx/ag71xx.h:72:27: note: in expansion of macro 'pr_debug' #define DBG(fmt, args...) pr_debug(fmt, ## args) ^~~~~~~~ drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.c:130:3: note: in expansion of macro 'DBG' DBG("%s: PHY found at %s, uid=%08x\n", ^~~ scripts/Makefile.build:326: recipe for target 'drivers/net/ethernet/atheros/ag71xx/ag71xx_phy.o' failed Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: GL.iNet AR300M family: correct LED definitionsAndreas Ziegler2019-02-261-8/+1
| | | | | | | | remove USB as this is no LED but power control rename WiFi LED with correct color red (like in stock firmware) set middle LED to be used for LAN link/activity Signed-off-by: Andreas Ziegler <dev@andreas-ziegler.de>
* ar71xx: fix Arduino Yun enabling of level shifters outputsEdoardo Scaglia2019-02-081-2/+2
| | | | | | | | | | | | | | | As show in Arduino Yun schematic [1] GPIO 21 and 22 are connected to output enable pin (OE) of two NTB01xx level shifters. NTB01xx datasheets [2] [3] states that OE pin are active-high therefore we should initialize GPIO 21 (DS_GPIO_OE) and GPIO 22 (DS_GPIO_OE2) accordingly to actually enable level shifters outputs. [1] https://www.arduino.cc/en/uploads/Main/arduino-Yun-schematic.pdf [2] https://www.nxp.com/docs/en/data-sheet/NTB0102.pdf [3] https://www.nxp.com/docs/en/data-sheet/NTB0104.pdf Signed-off-by: Edoardo Scaglia <edoardo.87@gmail.com>
* ar71xx: ag71xx: preserve port mirror flags during swconfig applyMilan Krstic2019-01-221-0/+4
| | | | | | | | | | The swconfig load operation always triggers 'apply' function which in this driver currently clears port mirroring flags effectively undoing port mirroring configuration. This fix preserves port mirroring flags during apply. Signed-off-by: Milan Krstic <milan.krstic@gmail.com>
* ar71xx: Fix PowerCloud CR5000 5GHz wifi macDaniel F. Dickinson2018-12-201-3/+6
| | | | | | | | | | | | | | | | | | Without this patch PowerCloud CR5000 AR9382 PCIe 5GHz Wifi uses the mac address from eeprom instead the one specified when initializing the PCIe chip. There were two issues: 1) ap94_pci_init on the second PCIe wmac is wrong as there is only one PCIe wmac on this device (the other wmac is the AR1022/AR9342 SoC wmac). 2) Without specifying pdata->use_eeprom there is a failure to load firmware and caldata. Thanks to Christian Lamparter (@chunkeey) for the heavy lifting and help. [0] [0] <https://github.com/openwrt/openwrt/pull/1613> Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: ag71xx: Replace duplicate debugging code with simple function callPetr Štetiar2018-12-171-16/+1
| | | | | | | ag71xx_dump_regs is used in code several times, and is providing same output. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* Add support for TL-WA801ND v4Romain MARIADASSOU2018-12-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This add support for TP-Link TL-WA801ND v4 (same as TL-WA801ND v3) : Specification: - System-On-Chip: Qualcomm Atheros QCA9533 - CPU/Speed: 650 MHz - Flash-Chip: Winbond W25Q32BVSIG - Flash size: 4096 KiB - RAM: 32 MiB - Wireless No1: SoC-integrated: QCA9533 2.4GHz 802.11bgn Flash instructions: 1) To flash the image, rename the file openwrt-ar71xx-generic-tl-wa801nd-v4-squashfs-factory.bin to firmware.bin 2) Connect your device to the LAN port, then upload the firmware through web interface. It will try to download the image and flash it. It can take up to 2-3 minutes to finish. When it reaches 100%, the router will reboot itself. Signed-off-by: Romain MARIADASSOU <roms2000@free.fr>
* ar71xx: fix RouterBOARD Power LED default stateSergey Ryazanov2018-11-262-2/+2
| | | | | | | | | | | | | | RouterBOARD(s) bootloader actully turns Power LED off just before it starts the kernel. So we need to set the LED default status to On instead of Keep in order to keep LED on during kernel boot. This change fixes Power LED off during the kernel boot on the RB91x and SXT Lite boards. Fixes: 6cad8ee0bd ("ar71xx: keep the RouterBOARD Power LED in On state") CC: Mathias Kresin <dev@kresin.me> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* ar71xx: add support for UniFi-AC-Mesh-ProChristoph Krapp2018-11-263-3/+3
| | | | | | | | | | | | | | | | This adds the build option for UniFi AC Mesh Pro as well as model detection for it. The device is a hardware clone of the AC Pro. - SoC: QCA9563-AL3A (775Mhz) - RAM: 128MiB - Flash: 16MiB - dual firmware partitions! - LAN: 2x 1000M - POE+ - Wireless: 2.4G: QCA9563 5G: UniFi Chip, QCA988X compatible Signed-off-by: Christoph Krapp <achterin@googlemail.com>
* ar71xx: add support for Gainstrong MiniBox V3.2Pau Escrich2018-11-154-0/+135
| | | | | | | | | | | | Adds MiniBox V3.2 ar71xx target (QCA99531 + QCA9887) Info: http://oolite.cn/minibox-v3-2-qca9531-qca9887-module-pin-specification.html Reference patch: http://oolite.cn/wp-content/uploads/2017/09/minibox_v3_cc15.05_20160325.patch Installation: Upload firmware to uboot via HTTP at 192.168.1.1 (press button for 5 seconds) Signed-off-by: Pau Escrich <p4u@dabax.net> Signed-off-by: Daniel Golle <daniel@makrotopia.org> (daniel@makrotopia.org: rebased and fixed conflicts, fixed LED name, added ath10k eeprom)
* ar71xx: flag FritzBox 4020 buttons as active lowDavid Bauer2018-09-221-2/+2
| | | | | | | | | Buttons of AVM FritzBox 4020 are incorrectly flagged as active high. This was an oversight as RFKill button was working as expected even with incorrectly flagged GPIO. Signed-off-by: David Bauer <mail@david-bauer.net>
* ar71xx: WNR612v2: fix kernel panic due to wrong Wifi LED initMichal Cieslakiewicz2018-08-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Netgear WNR612v2 flashed with recent OpenWrt builds suffers from kernel panic at boot during wireless chip initialization, making device unusable: ath: phy0: Ignoring endianness difference in EEPROM magic bytes. ath: phy0: Enable LNA combining CPU 0 Unable to handle kernel paging request at virtual address 1000fee1, epc == 801d08f0, ra == 801d0d90 Oops[#1]: CPU: 0 PID: 469 Comm: kmodloader Not tainted 4.9.120 #0 [ ... register dump etc ... ] Kernel panic - not syncing: Fatal exception Rebooting in 1 seconds.. This simple patch fixes above error. It keeps LED table in memory after kernel init phase for ath9k driver to operate correctly (__initdata removed). Also, another bug is fixed - correct array size is provided to function that adds platform LEDs (this device has only 1 connected to Wifi chip) preventing code from going outside array bounds. Fixes: 1f5ea4eae46e ("ar71xx: add correct named default wireless led by using platform leds") Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl> [trimmed commit message] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ar71xx: fix typo in rb91x nand sourceKoen Vandeputte2018-08-241-1/+2
| | | | | | Fixes: 3b1ea0996f83 ("ar71xx: fix build error due to bad include") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: fix build error due to bad includeKoen Vandeputte2018-08-224-5/+20
| | | | | | | | | | | | | | | | | | While "rawnand.h" is available in kernel 4.14, the default for this target is kernel 4.9 in which "nand.h" should be used. Add an extra check to include the correct file depending on kernel version Fixes these build errors: drivers/mtd/nand/ar934x_nfc.c:16:10: fatal error: linux/mtd/rawnand.h: No such file or directory #include <linux/mtd/rawnand.h> ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. Fixes: 318e19ba6755 ("ar71xx: add v4.14 support") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: add missing include for checking kernel versionKoen Vandeputte2018-08-2210-0/+10
| | | | | | | | | | | | | | | | | | Fixes these build errors: arch/mips/ath79/mach-rb2011.c:20:5: error: "LINUX_VERSION_CODE" is not defined, evaluates to 0 [-Werror=undef] #if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0) ^~~~~~~~~~~~~~~~~~ arch/mips/ath79/mach-rb2011.c:20:26: error: "KERNEL_VERSION" is not defined, evaluates to 0 [-Werror=undef] #if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0) ^~~~~~~~~~~~~~ arch/mips/ath79/mach-rb2011.c:20:40: error: missing binary operator before token "(" #if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0) ^ Fixes: 318e19ba6755 ("ar71xx: add v4.14 support") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: add v4.14 supportJohn Crispin2018-08-2273-78/+140
| | | | | | adds v4.14 patches for testing but leaves v4.9 as default for now. Signed-off-by: John Crispin <john@phrozen.org>
* ar71xx: allow to override at803x sgmii aneg statusDavid Bauer2018-08-081-0/+1
| | | | | | | | | | | | | When checking the outcome of the PHY autonegotiation status, at803x currently returns false in case the SGMII side is not established. Due to a hardware-bug, ag71xx needs to fixup the SoCs SGMII side, which it can't as it is not aware of the link-establishment. This commit allows to ignore the SGMII side autonegotiation status to allow ag71xx to do the fixup work. Signed-off-by: David Bauer <mail@david-bauer.net>
* ar71xx: fix QCA955X SGMII link lossDavid Bauer2018-08-084-0/+83
| | | | | | | | | | | | | | | | | | | The QCA955X is affected by a hardware bug which causes link-loss of the SGMII link between SoC and PHY. This happens on change of link-state or speed. It is not really known what causes this bug. It definitely occurs when using a AR8033 Gigabit Ethernet PHY. Qualcomm solves this Bug in a similar fashion. We need to apply the fix on a per-device base via platform-data as performing the fixup work will break connectivity in case the SGMII interface is connected to a Switch. This bug was first proposed to be fixed by Sven Eckelmann in 2016. https://patchwork.ozlabs.org/patch/604782/ Based-on-patch-by: Sven Eckelmann <sven.eckelmann@open-mesh.com> Signed-off-by: David Bauer <mail@david-bauer.net>
* Revert "ar71xx: ag71xx: Prevent kernel oops for board def"Jo-Philipp Wich2018-08-011-15/+1
| | | | | | | | | | | This reverts commit 7a3e133751870a3431e2430386a77a002eb24117. This change reportedly breaks connectivity on some ar71xx devices, so revert it for now. Ref: https://github.com/openwrt/openwrt/pull/1217#issuecomment-409708087 Reported-by: Hannu Nyman <hannu.nyman@iki.fi> Signed-off-by: Jo-Philipp Wich <jo@mein.io>