aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files
Commit message (Collapse)AuthorAgeFilesLines
* 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: 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> (cherry picked from commit cb49e46a8a4526d86270ced3ba3aa90225ca82d7)
* ar71xx: Archer C7 v1 LED names and RFKILL fixesTomislav Požega2019-07-281-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> (cherry picked from commit c79c001b593bd826d51722f2c83ad8770255f3b3)
* ar71xx: enable SGMII fixup on Mikrotik wAP ACEtienne Champetier2019-07-211-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> (cherry picked from commit 2a7519e29d6cbbe1eb73623ef35add0ef596fb5f)
* ar71xx: fix nand init issues on some rb2011 devicesKoen Vandeputte2019-07-121-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: 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> (cherry picked from commit 8c7d6c47a7893db689e50e1917479ad07a96547a)
* 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>
* Revert "ar71xx: ag71xx: Add connect message: fixed phy"Jo-Philipp Wich2018-08-011-7/+0
| | | | | | | | | | | This reverts commit 0b9f4e880807e3cfd22d12b929202e1edcdc577c. 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>
* Revert "ar71xx: ag71xx_phy: Fix compilation for debug messages"Jo-Philipp Wich2018-08-011-4/+2
| | | | | | | | This reverts commit 2655fbe8efb2a596aa8db92cffa817e3bf0c64ea. The patch introduces syntax errors, revert it for now. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* ar71xx: cr3000: cleanup board definitionDaniel F. Dickinson2018-08-011-16/+23
| | | | | | | | | | | | | 1) Add comments so it's clear why we did things; this may prevent someone (e.g. me) from sinking time into fixing things that aren't broken and/or were done for reason. 2) Drop mdio 0 probe/register; we don't use ag1xx mdio bus 0. 3) Cosmetic reording of some code (tested) that makes the defintion more clear. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cr3000: Use correct company nameDaniel F. Dickinson2018-08-013-3/+3
| | | | | | It's 'PowerCloud Systems' not 'PowerCloud'. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: TL-WR1043N v4/v5: add orange WAN LED supportTim Thorpe2018-07-301-3/+14
| | | | | | | | | | | Add missing definitions for the orange WAN LED on the TL-WR1043N(D) v4 and v5. Change the name of a MAC address offset constant to make it consistent with the format of the existing constants. Signed-off-by: Tim Thorpe <tim@tfthorpe.net>
* ar71xx: add support for TP-Link Archer C59 v2Keith Maika2018-07-303-4/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link Archer C59v2 is a dual-band AC1350 router based on Qualcomm/Atheros QCA9561+QCA9886 chips. Specification: - 775/650/258 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz - 2T2R 5 GHz - 5x 10/100 Mbps Ethernet - USB 2.0 port - UART header on PCB Flash instruction: - via web UI: 1. Download openwrt-ar71xx-generic-archer-c59-v2-squashfs-factory.bin 2. Login to router and open the Advanced tab 3. Navigate to System Tools -> Firmware Upgrade 4. Upload firmware using the Manual Upgrade form - via TFTP: 1. Set PC to fixed ip address 192.168.0.66 2. Download openwrt-ar71xx-generic-archer-c59-v2-squashfs-factory.bin and rename it to tp_recovery.bin 3. Start a tftp server with the file tp_recovery.bin in its root directory 4. Turn off the router 5. Press and hold Reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery. Signed-off-by: Keith Maika <keithm@aoeex.com>
* ar71xx:add support for E750G v8张鹏2018-07-304-0/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qxwlan E750G v8 is based on Qualcomm QCA9344. Specification: - 560/450/225 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 2.4G GHz (AR9344) - 2x 10/100 Mbps Ethernet (PoE support) - 2x 10/100/1000 Mbps Ethernet - 7x LED (6 driven by GPIO) - 1x button (reset) - 1x DC jack for main power input (9-48 V) - UART (J23) and LEDs (J2) headers on PCB Flash instruction (using U-Boot CLI and tftp server): - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "sysupgrade" filename to "firmware.bin" and place it in tftp server directory. - Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. - Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): - Configure PC with static IP 192.168.1.xxx(2-254)/24. - Connect PC with one of RJ45 ports, press the reset button, power up the board and keep button pressed for around 6-7 seconds, until LEDs start flashing. - Open your browser and enter 192.168.1.1, select "sysupgrade" image and click the upgrade button. Signed-off-by: 张鹏 <sd20@qxwlan.com>
* ar71xx:add support for E750A v4张鹏2018-07-304-0/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qxwlan E750A v4 is based on Qualcomm QCA9344. Specification: - 560/450/225 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 5G GHz (AR9344) - 2x 10/100 Mbps Ethernet (one port with PoE support) - 1x miniPCIe slot (USB 2.0 bus only) - 7x LED (6 driven by GPIO) - 1x button (reset) - 1x DC jack for main power input (9-48 V) - UART (J23) and LEDs (J2) headers on PCB Flash instruction (using U-Boot CLI and tftp server): - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "sysupgrade" filename to "firmware.bin" and place it in tftp server directory. - Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. - Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): - Configure PC with static IP 192.168.1.xxx(2-254)/24. - Connect PC with one of RJ45 ports, press the reset button, power up the board and keep button pressed for around 6-7 seconds, until LEDs start flashing. - Open your browser and enter 192.168.1.1, select "sysupgrade" image and click the upgrade button. Signed-off-by: 张鹏 <sd20@qxwlan.com>
* ar71xx:add support for E558 v2张鹏2018-07-304-0/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qxwlan E558 v2 is based on Qualcomm QCA9558 + AR8327. Specification: - 720/600/200 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 2.4 GHz (QCA9558) - 3x 10/100/1000 Mbps Ethernet (one port with PoE support) - 4x miniPCIe slot (USB 2.0 bus only) - 1x microSIM slot - 5x LED (4 driven by GPIO) - 1x button (reset) - 1x 3-pos switch - 1x DC jack for main power input (9-48 V) - UART (JP5) and LEDs (J8) headers on PCB Flash instruction (using U-Boot CLI and tftp server): - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "sysupgrade" filename to "firmware.bin" and place it in tftp server directory. - Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. - Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): - Configure PC with static IP 192.168.1.xxx(2-254)/24. - Connect PC with one of RJ45 ports, press the reset button, power up the board and keep button pressed for around 6-7 seconds, until LEDs start flashing. - Open your browser and enter 192.168.1.1, select "sysupgrade" image and click the upgrade button. Signed-off-by: 张鹏 <sd20@qxwlan.com>
* ar71xx: ag71xx: Prevent kernel oops for board defDaniel F. Dickinson2018-07-301-1/+15
| | | | | | | | | | | The driver is written in such a way that with a board defintion that connects a fixed phy, mdio, and switch in a certain way, a kernel oops could result because of lack of previously probed mdio bus. This commit allows for easier debugging in this case by casting the correct blame with serial console messages. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: ag71xx: Add connect message: fixed phyDaniel F. Dickinson2018-07-301-0/+7
| | | | | | | | It's a little noisier but makes it obvious when the ar7240 switch was connected to the MDIO bus, and to which phy device (or the failure to do so). Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: ag71xx_phy: Fix compilation for debug messagesDaniel F. Dickinson2018-07-301-2/+4
| | | | | | | | | | | NB: Error only appears with ag71xx debug messages and dynamic printk enabled. This is probably why no one has caught it before. Previously phy probe debug messages used old (now wrong) functions to get the phy name for printing. There was also the chance of a NULL pointer in the event no phy_device was found. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cap324: Use correct company nameDaniel F. Dickinson2018-07-303-3/+3
| | | | | | It's 'PowerCloud Systems' not just 'PowerCloud' Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cap324: Use correct MAC addressesDaniel F. Dickinson2018-07-301-3/+3
| | | | | | | The wrong MAC addresses (from the point of view of the physical device label) were being assigned to the wrong interfaces. Fix that. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cr5000: use correct company nameDaniel F. Dickinson2018-07-302-3/+3
| | | | | | It's 'PowerCloud Systems' not just 'PowerCloud' Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* ar71xx: cr5000: Tweak switch LED settingsDaniel F. Dickinson2018-07-301-4/+4
| | | | | | | This is basically cosmetic and sets the Port 1-4 LEDs to blink on 10/100/1000M. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>