aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79
Commit message (Collapse)AuthorAgeFilesLines
* ath79: fix ath10k caldata extraction on some D-Link DIR-842 C3 devicesPaul Fertser2020-11-161-2/+7
| | | | | | | | | | | | | | | | | | | According to forum threads [0][1] and a report on IRC by Doc-Saintly some of those boards have calibration data in a different place. Only one alternative location is known. Without proper board calibration data (board.bin having all 0xff bytes) ath10k firmware still tries to load but crashes on startup with a confusing error message. If you're applying this patch manually on your device do not forget to remove /lib/firmware/ath10k/pre-cal-pci-0000:00:00.0.bin and reboot to force caldata re-extraction. [0] https://forum.openwrt.org/t/support-for-d-link-dir842-rev-c3/41654 [1] https://forum.openwrt.org/t/d-link-dir-842-cant-access-firmware-upload-form/65454 Signed-off-by: Paul Fertser <fercerpav@gmail.com>
* ath79: add support for Qxwlan E600G v2 / E600GAC v2张鹏2020-11-129-0/+332
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | E600G v2 based on Qualcomm/Atheros QCA9531 Specification: - 650/600/200 MHz (CPU/DDR/AHB) - 128/64 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 2.4 GHz - 2 x 10/100 Mbps Ethernet(RJ45) - 1 x MiniPCI-e - 1 x SIM (3G/4G) - 5 x LED , 1 x Button(SW2-Reset Buttun), 1 x power input - UART(J100) header on PCB(115200 8N1) E600GAC v2 based on Qualcomm/Atheros QCA9531 + QCA9887 Specification: - 650/600/200 MHz (CPU/DDR/AHB) - 128/64 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 2.4 GHz - 1T1R 5 GHz - 2 x 10/100 Mbps Ethernet(RJ45) - 6 x LED (one three-color led), 2 x Button(SW2-Reset Buttun),1 x power input - UART (J100)header on PCB(115200 8N1) Flash instruction: 1.Using tftp mode with UART connection and original OpenWrt image - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "openwrt-ath79-generic-xxx-squashfs-sysupgrade.bin" to "firmware.bin" and place it in tftp server directory. - Connect PC with one of LAN ports, power up the router and press key "Enter" to access U-Boot CLI. - Use the following commands to update the device to OpenWrt: run lfw - After that the device will reboot and boot to OpenWrt. - Wait until all LEDs stops flashing and use the router. 2.Using httpd mode with Web UI connection and original OpenWrt image - Configure PC with static IP 192.168.1.xxx(2-255) and tftp server. - Connect PC with one of LAN ports,press the reset button, power up the router and keep button pressed for around 6-7 seconds, until leds flashing. - Open your browser and enter 192.168.1.1,You will see the upgrade interface, select "openwrt-ath79-generic-xxx-squashfs- sysupgrade.bin" and click the upgrade button. - After that the device will reboot and boot to OpenWrt. - Wait until all LEDs stops flashing and use the router. Signed-off-by: 张鹏 <sd20@qxwlan.com> [rearrange in generic.mk, fix one case in 04_led_migration, update commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: streamline image-generation for OCEDO boardsDavid Bauer2020-11-051-6/+0
| | | | | | | | Use the default sysupgrade generation procedure provided by the target. The previously generated images had the rootfs not aligned to an eraseblock. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: remove redundant setup of wmac for ubnt WA devicesAdrian Schmutzler2020-11-033-18/+0
| | | | | | | | | | | Several Ubiquiti WA devices set up &wmac again in their DTS files, although this is already done in ar9342_ubnt_wa.dtsi. Fixes: fa3c2676ab0c ("ath79: Add support for Ubiquiti Nanostation AC") Fixes: cf5a1abe46fc ("ath79: define 2.4GHz radio for nanostation ac loco") Fixes: 09804da80a99 ("ath79: define 2.4GHz radio for litebeam ac gen2") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: create DTSI files for ubnt WA 1-/2-port devicesNick Hainke2020-11-038-176/+76
| | | | | | | | | | The ar9342 Ubiquiti WA devices appear to only have two different network setups, based on the number of ethernet ports. Create DTSI files for them to consolidate duplicate definitions. Signed-off-by: Nick Hainke <vincent@systemli.org> [rephrase commit message/title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix nanobeam ac ethernet interfaceNick Hainke2020-11-031-3/+2
| | | | | | | | | | | | | | | | | | | | | | In 4.14 the delays were not cleared, so setting "rgmii" as phy-mode did not affect delays set by the bootloader. With 5.4 kernel the situation changed and the ethernet interface stopped working. "rgmii" requires rx and tx delays depending on the hardware circuit and wiring. The mac or the phy can add these delays. - "rgmii": delays are controlled by the mac - "rgmii-id": delays are controlled by the phy More Information in Linux Kernel Tree: Documentation/devicetree/bindings/net/ethernet-controller.yaml "rgmii" should be the preferred mode, which allows the mac layer to turn off the dealys completely if they are not needed. However, the delays are not set correctly, which causes the ethernet interface to be broken. Just taking the ethernetpart from the litebeam ac gen2 will fix the issue. Explained-by: David Bauer <mail@david-bauer.net> Signed-off-by: Nick Hainke <vincent@systemli.org>
* ath79: ubnt-unifi: make u-boot-env partition read-onlyLech Perczak2020-11-021-0/+1
| | | | | | | | | This partition isn't normally modified during boot process. Make it read-only to prevent accidental overwrite. If needed this can be overriden with installing kmod-mtd-rw; the same way as for installing modified U-boot. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ath79: ubnt-xm: make u-boot-env partition read-onlyLech Perczak2020-11-021-0/+1
| | | | | | | | | This partition isn't normally modified during boot process. Make it read-only to prevent accidental overwrite. If needed this can be overriden with installing kmod-mtd-rw; the same way as for installing modified U-boot. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ath79: use correct firmware name for UniFi APDavid Bauer2020-11-011-3/+3
| | | | | | | | | The Ubiquiti UniFi AP does not have a AHB connected radio but a PCI one. Also the EEPROM ist only 0x440 bytes of length. Reported-by: Martin Weinelt <martin@darmstadt.freifunk.net> Tested-by: Martin Weinelt <martin@darmstadt.freifunk.net> Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: remove AT803X config symbol from subtargetsDavid Bauer2020-11-012-2/+0
| | | | | | | The AT803X_PHY kernel config symbol is already enabled target-wide. SO it does not have to be enabled for individual subtargets. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: drop upstreamed patchDavid Bauer2020-11-011-24/+0
| | | | | | | | | | | Patch was upstreamed a long time ago (over 2 years) as commit a08227a206b8d ("MIPS: ath79: select the PINCTRL subsystem"). When porting this patch to a newer kernel, nobody noticed we now patch a Broadcom platform. This is clearly not intended. So drop this patch and pretend nothing ever happened. Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: bump 5.4 to 5.4.73John Audia2020-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed upstreamed patches: generic/pending-5.4 445-mtd-spinand-gigadevice-Only-one-dummy-byte-in-QUA.patch 446-mtd-spinand-gigadevice-Add-QE-Bit.patch pistachio/patches-5.4 150-pwm-img-Fix-null-pointer-access-in-probe.patch Manually rebased: layerscape/patches-5.4 801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch 801-audio-0039-MLK-16224-6-ASoC-fsl_sai-fix-DSD-suspend-resume.patch 801-audio-0073-MLK-21957-3-ASoC-fsl_sai-add-bitcount-and-timestamp-.patch 820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh.patch All modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711, mvebu (mamba, rango), x86_64, ramips/mt7621 Run-tested: ipq806x/R7800, mvebu (mamba, rango), x86_64, ramips (RT-AC57U) No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [alter 820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* target: remove obsolete kernel version switches for 4.19Adrian Schmutzler2020-10-302-156/+0
| | | | | | | This removes unneeded kernel version switches from the targets after kernel 4.19 has been dropped. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: remove support for kernel 4.19Adrian Schmutzler2020-10-3053-8286/+0
| | | | | | | We use 5.4 on all targets by default, and 4.19 has never been released in a stable version. There is no reason to keep it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: mikrotik: use vmlinuz (zBoot ELF)John Thomson2020-10-292-3/+5
| | | | | | | | | | | - minimal built initramfs: 10MB vmlinux ELF -> 6MB vmlinuz - ~5 seconds for kernel decompression, which was equivalent to the additional time to load the uncompressed ELF from SPI NOR. - Removes requirement for lzma-loader, which may have been causing some image builds to fail to boot on Mikrotik mt7621. Suggested-by: Thibaut VARÈNE <hacks@slashdirt.org> Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
* ath79: enable upgrade from ar71xx for Qxwlan devicesAdrian Schmutzler2020-10-262-0/+14
| | | | | | | This supports upgrade from ar71xx for the recently added Qxwlan devices E1700AC v2, E558 v2, E750A v4 and E750G v8. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix block protection clearingNick Hainke2020-10-261-0/+28
| | | | | | | | | | | | | | | The block protection bits of macronix do not match the implementation. The chip has 3 BP bits. Bit 5 is actually the third BP but here the 5th bit is SR_TB. Therefore the patch adds SR_TB to the mask. In the 4.19er kernel the whole register was simply set to 0. The wrong implementation did not remove the block protection. This led to jffs2 errors in the form of: "jffs2: Newly-erased block contained word 0x19852003 at offset 0x..." This caused inconsistent memory and other errors. Suggested-by: David Bauer <mail@david-bauer.net> Signed-off-by: Nick Hainke <vincent@systemli.org>
* ath79: define 2.4GHz radio for litebeam ac gen2Nick Hainke2020-10-251-0/+6
| | | | | | The litebeam ac gen2 has a 2.4GHz management radio. Signed-off-by: Nick Hainke <vincent@systemli.org>
* ath79: define 2.4GHz radio for nanostation ac locoNick Hainke2020-10-251-0/+6
| | | | | | The nanostation ac loco has a 2.4GHz management radio. Signed-off-by: Nick Hainke <vincent@systemli.org>
* ath79: fix nanostation ac loco ethernet interfaceNick Hainke2020-10-251-3/+2
| | | | | | | | | | | | In 4.14 the delays were not cleared, so setting "rgmii" as phy-mode did not affect delays set by the bootloader. With 5.4 kernel the situation changed and the ethernet interface stopped working. Just taking the ethernetpart from the litebeam ac gen2 will fix the issue. Explained-by: David Bauer <mail@david-bauer.net> Signed-off-by: Nick Hainke <vincent@systemli.org>
* ath79: add support for Qxwlan E1700AC v2张鹏2020-10-176-0/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | E1700AC v2 based on Qualcomm/Atheros QCA9563 + QCA9880. Specification: - 750/400/250 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz - 3T3R 5 GHz - 2 x 10/1000M Mbps Ethernet (RJ45) - 1 x MiniPCI-e - 1 x SIM (3G/4G) - 1 x USB 2.0 Port - 5 x LED , 2 x Button(S8-Reset Buttun), 1 x power input - UART (J5) header on PCB (115200 8N1) Flash instruction: 1.Using tftp mode with UART connection and original LEDE image - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "openwrt-ar71xx-generic-xxx-squashfs-sysupgrade.bin" to "firmware.bin" and place it in tftp server directory. - Connect PC with one of LAN ports, power up the router and press key "Enter" to access U-Boot CLI. - Use the following commands to update the device to LEDE: run lfw - After that the device will reboot and boot to LEDE. - Wait until all LEDs stops flashing and use the router. 2.Using httpd mode with Web UI connection and original LEDE image - Configure PC with static IP 192.168.1.xxx(2-255) and tftp server. - Connect PC with one of LAN ports,press the reset button, power up the router and keep button pressed for around 6-7 seconds, until leds flashing. - Open your browser and enter 192.168.1.1,You will see the upgrade interface, select "openwrt-ar71xx-generic-xxx-squashfs- sysupgrade.bin" and click the upgrade button. - After that the device will reboot and boot to LEDE. - Wait until all LEDs stops flashing and use the router. Signed-off-by: 张鹏 <sd20@qxwlan.com> [cut out of bigger patch, keep swconfig, whitespace fixes] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Qxwlan E558 v2张鹏2020-10-175-0/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: 1.Using tftp mode with UART connection and original LEDE image - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "openwrt-ar71xx-generic-xxx-squashfs-sysupgrade.bin" to "firmware.bin" and place it in tftp server directory. - Connect PC with one of LAN ports, power up the router and press key "Enter" to access U-Boot CLI. - Use the following commands to update the device to LEDE: run lfw - After that the device will reboot and boot to LEDE. - Wait until all LEDs stops flashing and use the router. 2.Using httpd mode with Web UI connection and original LEDE image - Configure PC with static IP 192.168.1.xxx(2-255) and tftp server. - Connect PC with one of LAN ports,press the reset button, power up the router and keep button pressed for around 6-7 seconds, until leds flashing. - Open your browser and enter 192.168.1.1,You will see the upgrade interface, select "openwrt-ar71xx-generic-xxx-squashfs- sysupgrade.bin" and click the upgrade button. - After that the device will reboot and boot to LEDE. - Wait until all LEDs stops flashing and use the router. Signed-off-by: 张鹏 <sd20@qxwlan.com> [cut out of bigger patch, keep swconfig, whitespace adjustments] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Qxwlan E750G v8张鹏2020-10-174-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qxwlan E750G v8 is based on Qualcomm QCA9344 + QCA9334. 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/1000 Mbps Ethernet (one port with PoE support) - 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: 1.Using tftp mode with UART connection and original LEDE image - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "openwrt-ar71xx-generic-xxx-squashfs-sysupgrade.bin" to "firmware.bin" and place it in tftp server directory. - Connect PC with one of LAN ports, power up the router and press key "Enter" to access U-Boot CLI. - Use the following commands to update the device to LEDE: run lfw - After that the device will reboot and boot to LEDE. - Wait until all LEDs stops flashing and use the router. 2.Using httpd mode with Web UI connection and original LEDE image - Configure PC with static IP 192.168.1.xxx(2-255) and tftp server. - Connect PC with one of LAN ports,press the reset button, power up the router and keep button pressed for around 6-7 seconds, until leds flashing. - Open your browser and enter 192.168.1.1,You will see the upgrade interface, select "openwrt-ar71xx-generic-xxx-squashfs- sysupgrade.bin" and click the upgrade button. - After that the device will reboot and boot to LEDE. - Wait until all LEDs stops flashing and use the router. Signed-off-by: 张鹏 <sd20@qxwlan.com> [cut out of bigger patch, keep swconfig] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Qxwlan E750A v4Peng Zhang2020-10-155-1/+235
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: 1.Using tftp mode with UART connection and original LEDE image - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "openwrt-ar71xx-generic-xxx-squashfs-sysupgrade.bin" to "firmware.bin" and place it in tftp server directory. - Connect PC with one of LAN ports, power up the router and press key "Enter" to access U-Boot CLI. - Use the following commands to update the device to LEDE: run lfw - After that the device will reboot and boot to LEDE. - Wait until all LEDs stops flashing and use the router. 2.Using httpd mode with Web UI connection and original LEDE image - Configure PC with static IP 192.168.1.xxx(2-255) and tftp server. - Connect PC with one of LAN ports,press the reset button, power up the router and keep button pressed for around 6-7 seconds, until leds flashing. - Open your browser and enter 192.168.1.1,You will see the upgrade interface, select "openwrt-ar71xx-generic-xxx-squashfs- sysupgrade.bin" and click the upgrade button. - After that the device will reboot and boot to LEDE. - Wait until all LEDs stops flashing and use the router. Signed-off-by: Peng Zhang <sd20@qxwlan.com> [cut out of bigger patch, alter use of DEVICE_VARIANT, merge case in 01_leds, use lower case for v4] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: drop redundant gpios on i2cAdrian Schmutzler2020-10-092-8/+0
| | | | | | | | | Since "sda-gpios" and "scl-gpios" are only available since kernel 4.19, a few devices have redundantly defined "gpios" to also support older kernels. Since we have nothing older than 4.19 now, we can remove the redundant definitions. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: rename ubnt,acb-isp to ubnt,aircube-ispRoman Kuzmitskii2020-10-064-7/+8
| | | | | | | | | | | | Use the full model name for this device to make it easier to recognize for the users and in order to make it consistent with the other devices. While at it, fix sorting in 03_gpio_switches. Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com> [commit message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: rename TP-Link TL-WPA8630P v2 (EU) to v2.0 (EU)Adrian Schmutzler2020-10-045-12/+13
| | | | | | | Since we have a v2.1 (EU) with different partitioning now, rename the v2.0 to make the difference visible to the user more directly. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link TL-WPA8630P (EU) v2.1Joe Mullally2020-10-048-9/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the TP-Link TL-WPA8630P (EU) in its v2.1 version. The only unique aspect for the firmware compared to v2 layout is the partition layout. Note that while the EU version has different partitioning for v2.0 and v2.1, the v2.1 (AU) is supported by the v2-int image. If you plan to use this device, make sure you have a look at the Wiki page to check whether the device is supported and which image needs to be taken. Specifications -------------- - QCA9563 750MHz, 2.4GHz WiFi - QCA9888 5GHz WiFi - 8MiB SPI Flash - 128MiB RAM - 3 GBit Ports (QCA8337) - PLC (QCA7550) Installation ------------ Installation is possible from the OEM web interface. Make sure to install the latest OEM firmware first, so that the PLC firmware is at the latest version. However, please also check the Wiki page for hints according to altered partitioning between OEM firmware revisions. Notes ----- The OEM firmware has 0x620000 to 0x680000 unassigned, so we leave this empty as well. It is complicated enough already ... Signed-off-by: Joe Mullally <jwmullally@gmail.com> [improve partitions, use v2 DTSI, add entry in 02_network, rewrite and extend commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: remove model name from LED labelsAdrian Schmutzler2020-10-02241-1487/+1334
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we request LED labels in OpenWrt to follow the scheme modelname:color:function However, specifying the modelname at the beginning is actually entirely useless for the devices we support in OpenWrt. On the contrary, having this part actually introduces inconvenience in several aspects: - We need to ensure/check consistency with the DTS compatible - We have various exceptions where not the model name is used, but the vendor name (like tp-link), which is hard to track and justify even for core-developers - Having model-based components will not allow to share identical LED definitions in DTSI files - The inconsistency in what's used for the model part complicates several scripts, e.g. board.d/01_leds or LED migrations from ar71xx where this was even more messy Apart from our needs, upstream has deprecated the label property entirely and introduced new properties to specify color and function properties separately. However, the implementation does not appear to be ready and probably won't become ready and/or match our requirements in the foreseeable future. However, the limitation of generic LEDs to color and function properties follows the same idea pointed out above. Generic LEDs will get names like "green:status" or "red:indicator" then, and if a "devicename" is prepended, it will be the one of an internal device, like "phy1:amber:status". With this patch, we move into the same direction, and just drop the boardname from the LED labels. This allows to consolidate a few definitions in DTSI files (will be much more on ramips), and to drop a few migrations compared to ar71xx that just changed the boardname. But mainly, it will liberate us from a completely useless subject to take care of for device support review and maintenance. To also drop the boardname from existing configurations, a simple migration routine is added unconditionally. Although this seems unfamiliar at first look, a quick check in kernel for the arm/arm64 dts files revealed that while 1033 lines have labels with three parts *:*:*, still 284 actually use a two-part labelling *:*, and thus is also acceptable and not even rare there. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: ar8216: make switch register access atomicChuanhong Guo2020-09-301-0/+59
| | | | | | | | | | | | | | | | | | | reg accesses on integrated ar8229 sometimes fails. As a result, phy read got incorrect port status and wan link goes down and up mysteriously. After comparing ar8216 with the old driver, these local_irq_save/restore calls are the only meaningful differences I could find and it does fix the issue. The same changes were added in svn r26856 by Gabor Juhos: ar71xx: ag71xx: make switch register access atomic As I can't find the underlying problem either, this hack is broght back to fix the unstable link issue. This hack is only suitable for ath79 mdio and may easily break the driver on other platform. Limit it to ath79-only as a target patch. Fixes: FS#2216 Fixes: FS#3226 Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: add WiFi migration for AR913xDavid Bauer2020-09-281-0/+4
| | | | | | | | This adds the automatic WiFi path migration for AR913x platforms. Tested on: TP-Link TL-WA901ND v2 Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add support for Hak5 WiFi Pineapple NANOPiotr Dymacz2020-09-283-0/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hak5 WiFi Pineapple NANO is an "USB dongle" device dedicated for Wi-Fi pentesters. This device is based on Atheros AR9331 and AR9271. Support for it was first introduced in 950b278c81 (ar71xx). FCC ID: 2AB87-NANO. Specifications: - Atheros AR9331 - 400/400/200 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR1) - 16 MB of flash (SPI NOR) - 1T1R 2.4 GHz Wi-Fi (AR9331) - 1T1R 2.4 GHz Wi-Fi (AR9271L), with ext. PA and LNA (Qorvo RFFM4203) - 2x RP-SMA antenna connectors - 1x USB 2.0 to 10/100 Ethernet bridge (ASIX AX88772A) - integrated 4-port USB 2.0 HUB: Alcor Micro AU6259: - 1x USB 2.0 - 1x microSD card reader (Genesys Logic GL834L) - Atheros AR9271L - 1x LED, 1x button - UART (4-pin, 2 mm pitch) header on PCB - USB 2.0 Type-A plug for power and AX88772A Flash instruction: You can use sysupgrade image directly in vendor firmware which is based on OpenWrt/LEDE. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: add support for Hak5 Packet SquirrelPiotr Dymacz2020-09-285-96/+182
| | | | | | | | | | | | | | | | | | | | | | | | Hak5 Packet Squirrel is a pocket-sized device dedicated for pentesters (MITM attacks). This device is based on Atheros AR9331 but it lacks WiFi. Support for it was first introduced in 950b278c81 (ar71xx). Specifications: - Atheros AR9331 - 400/400/200 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 16 MB of flash (SPI NOR) - 2x RJ45 10/100 Mbps Ethernet (AR9331) - 1x USB 2.0 - 1x RGB LED, 1x button, 1x 4-way mechanical switch - 1x Micro USB Type-B for main power input Flash instruction: You can use sysupgrade image directly in vendor firmware which is based on OpenWrt/LEDE. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: add support for Hak5 LAN TurtlePiotr Dymacz2020-09-284-0/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hak5 LAN Turtle is an "USB Ethernet Adapter" shaped device dedicated for sysadmins and pentesters. This device is based on Atheros AR9331 but it lacks WiFi. Support for it was first introduced in 950b278c81 (ar71xx). Two different versions of this device exist and it's up to the user to install required drivers (generic image supports only common features): - LAN Turtle 3G with Quectel UG96 3G modem - LAN Turtle SD with microSD card reader (Alcorlink AU6435R) Specifications: - Atheros AR9331 - 400/400/200 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 16 MB of flash (SPI NOR) - 1x RJ45 10/100 Mbps Ethernet (AR9331) - 1x USB 2.0 to 10/100 Ethernet bridge (Realtek RTL8152B) - 2x LED (power, system), 1x button (inside, on the PCB) - USB 2.0 Type-A plug for power and RTL8152B Flash instruction: You can use sysupgrade image directly in vendor firmware which is based on OpenWrt/LEDE. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: add support for ALFA Network N5QPiotr Dymacz2020-09-284-0/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network N5Q is a successor of previous model, the N5 (outdoor CPE/AP, based on Atheros AR7240 + AR9280). New version is based on Atheros AR9344. Support for this device was first introduced in 4b0eebe9df (ar71xx target) but users are advised to migrate from ar71xx target without preserving settings as ath79 support includes some changes in network and LED default configuration. They were aligned with vendor firmware and recently added N2Q model (both Ethernet ports as LAN, labelled as LAN1 and LAN2). Specifications: - Atheros AR9344 - 550/400/200 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 16 MB of flash (SPI NOR) - 2x 10/100 Mbps Ethernet, with passive PoE support (24 V) - 2T2R 5 GHz Wi-Fi, with ext. PA (RFPA5542) and LNA, up to 27 dBm - 2x IPEX/U.FL or MMCX antenna connectors (for PCBA version) - 8x LED (7 are driven by GPIO) - 1x button (reset) - external h/w watchdog (EM6324QYSP5B, enabled by default) - header for optional 802.3at/af PoE module - DC jack for main power input (optional, not installed by default) - UART (4-pin, 2.54 mm pitch) header on PCB - LEDs (2x 5-pin, 2.54 mm pitch) header on PCB Flash instruction: You can use sysupgrade image directly in vendor firmware which is based on OpenWrt/LEDE. Alternatively, you can use web recovery mode in U-Boot: 1. Configure PC with static IP 192.168.1.2/24. 2. Connect PC with one of RJ45 ports, press the reset button, power up device, wait for first blink of all LEDs (indicates network setup), then keep button for 3 following blinks and release it. 3. Open 192.168.1.1 address in your browser and upload sysupgrade image. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: add support for ALFA Network N2QPiotr Dymacz2020-09-286-128/+283
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network N2Q is an outdoor N300 AP/CPE based on Qualcomm/Atheros QCA9531 v2. This model is a successor of the old N2 which was based on Atheros AR7240. FCC ID: 2AB8795311. Specifications: - Qualcomm/Atheros QCA9531 v2 - 650/400/200 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 16 MB of flash (SPI NOR) - 2T2R 2.4 GHz Wi-Fi with ext. PA (Skyworks SE2623L) and LNA - 2x 10/100 Mbps Ethernet with passive PoE input in one port (24 V) - PoE pass through in second port (controlled by GPIO) - support for optional 802.3af/at PoE module - 1x mini PCIe slot (PCIe bus, extra 4.2 V for high power cards) - 2x IPEX/U.FL connectors on PCB - 1x USB 2.0 mini Type-B (power controlled by GPIO) - 8x LED (7 of them are driven by GPIO) - 1x button (reset) - external h/w watchdog (EM6324QYSP5B, enabled by default) - UART (4-pin, 2.54 mm pitch) header on PCB - LEDs (2x 5-pin, 2.54 mm pitch) header on PCB Flash instruction: You can use sysupgrade image directly in vendor firmware which is based on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot: 1. Configure PC with static IP 192.168.1.2/24. 2. Connect PC with one of RJ45 ports, press the reset button, power up device, wait for first blink of all LEDs (indicates network setup), then keep button for 3 following blinks and release it. 3. Open 192.168.1.1 address in your browser and upload sysupgrade image. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: add support for ALFA Network R36APiotr Dymacz2020-09-284-0/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network R36A is a successor of the previous model, the R36 (Ralink RT3050F based). New version is based on Qualcomm/Atheros QCA9531 v2, FCC ID: 2AB879531. Support for this device was first introduced in af8f0629df (ar71xx target). When updating from previous release (and/or ar71xx target), user should only adjust the WAN LED trigger type (netdev in ar71xx, switch port in ath79). Specifications: - Qualcomm/Atheros QCA9531 v2 - 650/400/200 MHz (CPU/DDR/AHB) - 128 MB (R36AH/-U2) or 64 MB (R36A) of RAM (DDR2) - 16 MB of flash (SPI NOR) - 2x 10/100 Mbps Ethernet - Passive PoE input support (12~36 V) in RJ45 near DC jack - 2T2R 2.4 GHz Wi-Fi with Qorvo RFFM8228P FEM - 2x IPEX/U.FL connectors on PCB - 1x USB 2.0 Type-A - 1x USB 2.0 mini Type-B in R36AH-U2 version - USB power is controlled by GPIO - 6/7x LED (5/6 of them are driven by GPIO) - 2x button (reset, wifi/wps) - external h/w watchdog (EM6324QYSP5B, enabled by default) - DC jack with lock, for main power input (12 V) - UART (4-pin, 2.54 mm pitch) header on PCB Optional/additional features in R36A series (R36A was the first model): - for R36AH: USB 2.0 hub* - for R36AH-U2: USB 2.0 hub*, 1x USB 2.0 mini Type-B, one more LED *) there are at least three different USB 2.0 hub in R36AH/-U2 variants: - Terminus-Tech FE 1.1 - Genesys Logic GL852G - Genesys Logic GL850G (used in latests revision) Flash instruction: You can use sysupgrade image directly in vendor firmware which is based on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot: 1. Configure PC with static IP 192.168.1.2/24. 2. Connect PC with one of RJ45 ports, press the reset button, power up device, wait for first blink of all LEDs (indicates network setup), then keep button for 3 following blinks and release it. 3. Open 192.168.1.1 address in your browser and upload sysupgrade image. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: add support for Samsung WAM250Piotr Dymacz2020-09-283-0/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Samsung WAM250 is a dual-band (selectable, not simultaneous) wireless hub, dedicated for Samsung Shape Wireless Audio System. The device is based on Atheros AR9344 (FCC ID: A3LWAM250). Support for this device was first introduced in e58e49bdbe (ar71xx target). Specifications: - Atheros AR9344 - 560/450/225 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 16 MB of flash (SPI NOR) - 2x 10/100 Mbps Ethernet - 2T2R 2.4/5 GHz Wi-Fi, with ext. PA (SE2598L, SE5003L) and LNA - 1x USB 2.0 - 4x LED (all are driven by GPIO) - 2x button (reset, wps/speaker add) - DC jack for main power input (14 V) - UART header on PCB (J4, RX: 3, TX: 5) Flash instruction: This device uses dual-image (switched between upgrades) with a common jffs2 config partition. Fortunately, there is a way to disable this mode so that more flash space can be used by OpenWrt image. You can easily access this device over telnet, using root/root credentials (the same also work for serial console access). 1. Make sure that your device uses second (bootpart=2) image using command: "fw_printenv bootpart". 2. If your device uses first image (bootpart=1), perform upgrade to the latest vendor firmware (after the update, device should boot from second partition) using web gui (default login: admin/1234567890). 3. Rename "sysupgrade" image to "firmware.bin", download it (you can use wget, tftp or ftpget) to "/tmp" and issue below commands: mtd_debug erase /dev/mtd3 0 $(wc -c /tmp/firmware.bin | awk -F' ' '{print $1}') mtd_debug write /dev/mtd3 0 $(wc -c /tmp/firmware.bin) fw_setenv bootpart fw_setenv bootcmd "bootm 0x9f070000" reboot Revert to vendor firmware instruction: 1. Download vendor firmware to "/tmp" device and issue below commands: fw_setenv bootpart 1 sysupgrade -n -F SS_BHUB_v2.2.05.bin Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: image: don't combine kmod-usb2 with kmod-usb-chipidea2Piotr Dymacz2020-09-281-5/+5
| | | | | | | Include of kmod-usb-chipidea2 is enough to support USB host mode in devices with Atheros AR9331 WiSOC. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: add support for Wallys DR531Piotr Dymacz2020-09-283-0/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Wallys DR531 is based on Qualcomm Atheros QCA9531 v2. Support for this device was first introduced in e767980eb8 (ar71xx target). Specifications: - Qualcomm/Atheros QCA9531 v2 - 550/400/200 MHz (CPU/DDR/AHB) - 2x 10/100 Mbps Ethernet - 64 MB of RAM (DDR2) - 8 MB of flash (SPI NOR) - 2T2R 2.4 GHz Wi-Fi, with external PA (SE2576L), up to 30 dBm - 2x MMCX connectors (optional IPEX/U.FL) - mini PCIe connector (PCIe/USB buses and mini SIM slot) - 7x LED, 1x button, 1x optional buzzer - UART, JTAG and LED headers on PCB Flash instruction (do it under U-Boot, using UART): tftpb 0x80060000 openwrt-ath79-...-dr531-squashfs-sysupgrade.bin erase 0x9f050000 +$filesize cp.b $fileaddr 0x9f050000 $filesize setenv bootcmd "bootm 0x9f050000" saveenv && reset Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: add support for ALFA Network AP121FEPiotr Dymacz2020-09-286-103/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AP121FE is a slightly modified version of already supported AP121F model (added to ar71xx in 0c6165d21a and to ath79 in 334bbc5198). The differences in compare to AP121F: - no micro SD card reader - USB data lines are included in Type-A plug - USB bus switched to device/peripheral mode (permanently, in bootstrap) Other than that, specifications are the same: - Atheros AR9331 - 400/400/200 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR1) - 16 MB of flash (SPI NOR) - 1x 10/100 Mbps Ethernet - 1T1R 2.4 GHz Wi-Fi, up to 15 dBm - 1x IPEX/U.FL connector, internal PCB antenna - 3x LED, 1x button, 1x switch - 4-pin UART header on PCB (2 mm pitch) - USB 2.0 Type-A plug (power and data) Flash instruction (under U-Boot web recovery mode): 1. Configure PC with static IP 192.168.1.2/24. 2. Connect PC with RJ45 port, press the reset button, power up device, wait for first blink of all LEDs (indicates network setup), then keep button for 3 following blinks and release it. 3. Open 192.168.1.1 address in your browser and upload sysupgrade image. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: enable usbgadget featurePiotr Dymacz2020-09-281-1/+1
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: increase SPI clock and enable fast-read on AP121FPiotr Dymacz2020-09-281-1/+2
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: fix LED labels for PowerCloud CAP324Adrian Schmutzler2020-09-273-3/+6
| | | | | | | | | The order of function and color in the labels in inverted for the LAN LEDs. Fix it. Fixes: 915966d86121 ("ath79: Port PowerCloud Systems CAP324 support") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix rssi-low LED for My Net Range ExtenderAdrian Schmutzler2020-09-271-1/+1
| | | | | | | | | The LED color was missing in 01_leds. Fixes: 745dee11ac78 ("ath79: add support for WD My Net Wi-Fi Range Extender") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: move dts-v1 statement to ath79.dtsiAdrian Schmutzler2020-09-25349-629/+333
| | | | | | | | | | | | | | | | | | | The "/dts-v1/;" identifier is supposed to be present once at the top of a device tree file after the includes have been processed. In ath79, we therefore requested to have in the DTS files so far, and omit it in the DTSI files. However, essentially the syntax of the parent ath79.dtsi file already determines the DTS version, so putting it into the DTS files is just a useless repetition. Consequently, this patch puts the dts-v1 statement into the parent ath79.dtsi, which is (indirectly) included by all DTS files. All other occurences are removed. Since the dts-v1 statement needs to be before any other definitions, this also moves the includes to make sure the ath79.dtsi or its descendants are always included first. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: move ath79-clk.h include to ath79.dtsiAdrian Schmutzler2020-09-259-9/+10
| | | | | | | | | | ath79.dtsi uses ATH79_CLK_MDIO, so the include <dt-bindings/clock/ath79-clk.h> needs to be moved there. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: move engenius_loader_okli recipe before devicesAdrian Schmutzler2020-09-251-14/+15
| | | | | | | | Move engenius_loader_okli image recipe in front of all Engenius devices, so adding new device entries will not have them sorted before the shared recipe. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* target: update SPDX license namesAdrian Schmutzler2020-09-2219-19/+19
| | | | | | | SPDX moved from GPL-2.0 to GPL-2.0-only and from GPL-2.0+ to GPL-2.0-or-later. Reflect that in the SPDX license headers. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: remove DTS from ATH79 target namePaul Spooren2020-09-221-1/+1
| | | | | | | The legacy ar71xx target is removed and multiple targets use DTS now, so there is no need to point that out for ATH79 specifically. Signed-off-by: Paul Spooren <mail@aparcar.org>