aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79
Commit message (Collapse)AuthorAgeFilesLines
* ath79: add missing GPIO_LATCH symbolDavid Bauer2021-07-091-0/+1
| | | | | | | Fixes commit 7b8931678c36 ("ath79: add gpio-latch driver for MikroTik RouterBOARDs") Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit f2f137593eb6c0e849352e85c003c91f8be81dd1)
* ath79: mikrotik: fix beeper phantom noise on RB912Koen Vandeputte2021-07-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Analysis done by Denis Kalashnikov: It seems that some ROS versions on some routerboard models have this bug: after silence boot (no output to uart, no beeps) beeper clicks when wireless traffic is. https://forum.mikrotik.com/viewtopic.php?f=3&t=92269 https://forum.mikrotik.com/viewtopic.php?t=63399 From these links: 1) Hello, I have RB951G-2HnD and I noticed strange thing when I loaded the device with some wireless traffic it produced strange sound - like hissing, fizzing etc. 2) Same problem still on 6.33, with silent boot enabled I hear buzzing noise on wireless load. 3) The sound is fixed in v5.19, it was a bug that caused beeper to make clicks. It also got fixed in RouterOS: * What's new in 5.19 (2012-Jul-16 10:51): fix ticking sound on RB411UAHL; * What's new in 6.38.3 (2017-Feb-07 09:52): rb3011 - fixed noise from buzzer after silent boot; I've checked with an oscilloscope that: * When on the ssr beeper pin is 0, on the beeper itself is 1 (~5V), and when on the ssr beeper pin is 1, on the beeper is 0 The beeper doesn't consume power, so 1 should be a default/idle value for the ssr beeper pin). * When there is wireless traffic (ping packets) in the background and the beeper clicks, I see pulses on the beeper itself, but no pulses on the ssr beeper pin (Q5 pin of 74hc595). When I manually toggle the ssr beeper pin I see pulses on both. So, it is likely that the phantom beeper clicks are caused by the EMI. Suggested-by: Denis Kalashnikov <denis281089@gmail.com> Reviewed-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> (cherry picked from commit a58bcc9e673db3c6aa39f2089d216d51c8356418)
* ath79: ar934x: fix mounting issues if subpage is not supportedKoen Vandeputte2021-07-091-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the option to disable subpage writing is only set when a HW ECC engine is used. Some boards lack a HW ECC engine and use software for that. In this case, this NAND option does not get set when the NAND chip does not support it, resulting in mounting errors. Move the setting of this option to a generic init location so it gets set for all types where required. While at it, also OR the option instead of just setting it so we don't overwrite potential flags being set somewhere else. Before: [ 1.681273] UBI: auto-attach mtd2 [ 1.684669] ubi0: attaching mtd2 [ 1.688877] ubi0 error: validate_ec_hdr: bad VID header offset 2048, expected 512 [ 1.696469] ubi0 error: validate_ec_hdr: bad EC header [ 1.701712] Erase counter header dump: [ 1.705512] magic 0x55424923 [ 1.709322] version 1 [ 1.712330] ec 1 [ 1.715331] vid_hdr_offset 2048 [ 1.718610] data_offset 4096 [ 1.721880] image_seq 1462320675 [ 1.725680] hdr_crc 0x12255a15 After: 1.680917] UBI: auto-attach mtd2 [ 1.684308] ubi0: attaching mtd2 [ 2.954504] random: crng init done [ 3.142813] ubi0: scanning is finished [ 3.163455] ubi0: attached mtd2 (name "ubi", size 124 MiB) [ 3.169069] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes [ 3.176037] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 [ 3.182942] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096 [ 3.190013] ubi0: good PEBs: 992, bad PEBs: 0, corrupted PEBs: 0 [ 3.196102] ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128 [ 3.203434] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1462320675 [ 3.212700] ubi0: available PEBs: 0, total reserved PEBs: 992, PEBs reserved for bad PEB handling: 20 [ 3.222124] ubi0: background thread "ubi_bgt0d" started, PID 317 [ 3.230246] block ubiblock0_1: created from ubi0:1(rootfs) [ 3.235819] ubiblock: device ubiblock0_1 (rootfs) set to be root filesystem [ 3.256830] VFS: Mounted root (squashfs filesystem) readonly on device 254:0. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> (cherry-picked from commit 6561ca1fa510003a19ea7f8800535f12e5098ce2)
* ath79: add support for MikroTik RouterBOARD 912UAG-2HPnDDenis Kalashnikov2021-07-095-0/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This board has been supported in the ar71xx. Links: * https://mikrotik.com/product/RB912UAG-2HPnD * https://openwrt.org/toh/hwdata/mikrotik/mikrotik_rb912uag-2hpnd This also supports the 5GHz flavour of the board. Hardware: * SoC: Atheros AR9342, * RAM: DDR 64MB, * SPI NOR: 64KB, * NAND: 128MB, * Ethernet: x1 10/100/1000 port with passive POE in, * Wi-Fi: 802.11 b/g/n, * PCIe, * USB: 2.0 EHCI controller, connected to mPCIe slot and a Type-A port -- both can be used for LTE modem, but only one can be used at any time. * LEDs: 5 general purpose LEDs (led1..led5), power LED, user LED, Ethernet phy LED, * Button, * Beeper. Not working: * Button: it shares gpio line 15 with NAND ALE and NAND IO7, and current drivers doesn't easily support this configuration, * Beeper: it is connected to bit 5 of a serial shift register (tested with sysfs led trigger timer). But kmod-gpio-beeper doesn't work -- we left this as is for now. Flashing: * Use the RouterBOARD Reset button to enable TFTP netboot, boot kernel and initramfs and then perform sysupgrade. * From ar71xx OpenWrt firmware run: $ sysupgrade -F /tmp/<sysupgrade.bin> For more info see: https://openwrt.org/toh/mikrotik/common. Co-Developed-by: Koen Vandeputte <koen.vandeputte@citymesh.com> Reviewed-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: Denis Kalashnikov <denis281089@gmail.com> (cherry-picked from commit 695a1cd53ca52c678b3f837deb1bf30204285360)
* ath79: add NAND driver for MikroTik RB91xG seriesDenis Kalashnikov2021-07-093-0/+397
| | | | | | | | | | | | | | Main part is copied from ar71xx original driver rb91x_nand written by Gabor Juhos <juhosg@openwrt.org>. What is done: * Support of kernel 5.4 and 5.10, * DTS support, * New gpio API (gpiod_*) support. Reviewed-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: Denis Kalashnikov <denis281089@gmail.com> (cherry-picked from commit 820e660cd7463aa6d5ed9d31baf0f3c35596ce57)
* ath79: add gpio-latch driver for MikroTik RouterBOARDsDenis Kalashnikov2021-07-092-0/+226
| | | | | | | | | | | | | This is a slighty modified version of ar71xx gpio-latch driver written by Gabor Juhos <juhosg@openwrt.org>. Changes: * DTS support, * New gpio API (gpiod_*). Reviewed-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: Denis Kalashnikov <denis281089@gmail.com> (cherry-picked from commit 7b8931678c36c8d8c333b446258a653b1358bf70)
* ath79: don't autodetect AR8033 PHY capabilitiesDavid Bauer2021-06-211-0/+25
| | | | | | | | | | | | | | | | | | PHY capabilities are currently read from the fiber status page, thus Linux won't advertise 10 / 100 Base-T operation modes, effectively limiting operation to 1000 Base-T. Statically set the PHYs capabilities, avoiding autodetection. The issue itself is properly fixed kernel upstream, however backporting efforts to OpenWrt master resulted in breaking the fiber operation for another target. This is currently only known to be necessary for the Ubiquiti UniFi AC series, so enabling it in the ath79 target should not break somewhere else. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: use dynamic partitioning for TP-Link CPE seriesMichael Pratt2021-06-181-14/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | CPExxx and WBSxxx boards with AR9344 SOC use the OKLI lzma kernel loader with the offset of 3 blocks of length 4k (0x3000) in order to have a fake "kernel" that cannot grow larger than how it is defined in the now static OEM partition table. Before recent changes to the mtdsplit driver, the uImage parser for OKLI only supported images that started exactly on an eraseblock boundary. The mtdsplit parser for uImage now supports identifying images with any magic number value and at any offset from the eraseblock boundary using DTS properties to define those values. So, it is no longer necessary to use fixed sizes for kernel and rootfs Tested-by: Andrew Cameron <apcameron@softhome.net> [CPE510 v2] Tested-by: Bernhard Geier <freifunk@geierb.de> [WBS210 v2] Tested-by: Petrov <d7c48mWsPKx67w2@gmail.com> [CPE210 v1] Signed-off-by: Michael Pratt <mcpratt@pm.me> (cherry picked from commit 7b9a0c264cb9dc2c5a946a0aa9a290427a5e559c)
* ath79: fix eth0 PLL registers on WD My Net Wi-Fi Range ExtenderJonathan A. Kollasch2021-06-121-2/+2
| | | | | | | | | | | | This replaces the register bits for RGMII delay on the MAC side in favor of having the RGMII delay on the PHY side by setting the phy-mode property to rgmii-id (RGMII internal delay), which is supported by the at803x driver. Speed 1000 is fixed as a result, so now all ethernet speeds function. Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net> Reviewed-by: Michael Pratt <mcpratt@pm.me> (cherry picked from commit f36990eae77c3a22842a2c418378c5dd40dec366)
* ath79: set lzma-loader variables to null by defaultMichael Pratt2021-06-111-0/+4
| | | | | | | | | | | | | | This fixes a small regression where the lzma-loader variable values are being shared between boards that require different configurations. If not set to "" globally, a device without these settings will just take the last values another device has set before in the queue. Fixes: 1b8bd17c2d07 ("ath79: lzma-loader: allow setting custom kernel magic") Signed-off-by: Michael Pratt <mcpratt@pm.me> [add detailed explanation to the commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit bf8c16dfa2cddd529f889510ca5fa5160606c325)
* ath79: move pcie node to DTSI for qca955x Senao APsMichael Pratt2021-06-114-29/+9
| | | | | | | | | | | pcie0 is the same for this generation of Senao APs while eth0, eth1, and wmac can differ the qca,no-eeprom property has no effect for the ath10k drivers Signed-off-by: Michael Pratt <mcpratt@pm.me> (cherry picked from commit 15c599c9dfa9cf5459bcc15b773e39891ca14340)
* ath79: cleanup DTS for ALLNET ALL-WAP02860ACMichael Pratt2021-06-111-92/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | use qca955x_senao_loader.dtsi because it is the same hardware / partitioning and some cleanup Effects: nodes to match similar boards - keys - eth0 - pcie0 bumps SPI frequency to 40 MHz removes &pll node: the property is defined in qca955x.dtsi removes qca,no-eeprom: has no effect with mtd-cal-data property (also spelling) Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com> Signed-off-by: Michael Pratt <mcpratt@pm.me> (cherry picked from commit e800da9d5c87d276806284cf2183994ea7fe083e)
* ath79: add factory.bin for ALLNET ALL-WAP02860ACMichael Pratt2021-06-113-4/+37
| | | | | | | | | | | | | | | | This device is a Senao-based product using hardware and software from Senao with the tar-gz platform for factory.bin and checksum verification at boot time using variables stored in uboot environment and a 'failsafe' image when it fails. Extremely similar hardware/software to Engenius EAP1200H and other Engenius APs with qca955x Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com> Signed-off-by: Michael Pratt <mcpratt@pm.me> (cherry picked from commit 37ea5d9a658a15783b0ac68583db9e67a43e960d)
* ath79: add Senao 'failsafe' sysupgrade procedureMichael Pratt2021-06-119-4/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a similar upgrade method for sysupgrade.bin, like factory.bin, for Senao boards with the tar.gz OEM upgrade platform, and 'failsafe' image which is loaded on checksum failure. This is inspired by the OEM upgrade script /etc/fwupgrade.sh and the existing platforms for dual-boot Senao boards. Previously, if the real kernel was damaged or missing the only way to recover was with UART serial console, because the OKLI lzma-loader is programmed to halt. uboot did not detect cases where kernel or rootfs is damaged and boots OKLI instead of the failsafe image, because the checksums stored in uboot environment did not include the real kernel and rootfs space. Now, the stored checksums include the space for both the lzma-loader, kernel, and rootfs. Therefore, these boards are now practically unbrickable. Also, the factory.bin and sysupgrade.bin are now the same, except for image metadata. This allows for flashing OEM image directly from openwrt as well as flashing openwrt image directly from OEM. Make 'loader' partition writable so that it can be updated during a sysupgrade. tested with ENS202EXT v1 EAP1200H EAP350 v1 EAP600 ECB350 v1 ECB600 ENH202 v1 Signed-off-by: Michael Pratt <mcpratt@pm.me> (cherry picked from commit d5035f0d2694cb9c5a93ed72e3b6d2dd1770741e)
* ath79: adjust ath79/tiny Senao APs to 4k blocksizeMichael Pratt2021-06-116-3/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ath79/tiny kernel config has CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y from commit 05d35403b211ccb9bf20e2b3c0b7a30c82c6d6a2 Because of this, these changes are required for 2 reasons: 1. Senao devices in ath79/tiny with a 'failsafe' partition and the tar.gz sysupgrade platform and a flash chip that supports 4k sectors will fail to reboot to openwrt after a sysupgrade. the stored checksum is made with the 64k blocksize length of the image to be flashed, and the actual checksum changes after flashing due to JFFS2 space being formatted within the length of the rootfs from the image example: 0x440000 length of kernel + rootfs (from sysupgrade.bin) 0x439000 offset of rootfs_data (from kernel log) 2. for boards with flash chips that support 4k sectors: saving configuration over sysupgrade is not possible because sysupgrade.tgz is appended at a 64k boundary and the mtd parser starts JFFS2 at a 4k boundary. for boards with flash chips that do not support 4k sectors: partitioning with 4k boundaries causes a boot loop from the mtd parser not finding kernel and rootfs. Also: Some of the Senao boards that belong in ath79/tiny, for example ENH202, have a flash chip that does not support 4k sectors (no SECT_4K symbol in upstream source). Because of this, partitioning must be different for these devices depending on the flash chip model detected by the kernel. Therefore: this creates 2 DTSI files to replace the single one with 64k partitioning for 4k and 64k partitioning respectively. Signed-off-by: Michael Pratt <mcpratt@pm.me> (cherry picked from commit a58cb22bbe4bac17e7421a0ad6bf7929fcd56599)
* ath79: remove 'fakeroot' for Senao devicesMichael Pratt2021-06-116-49/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By using the same custom kernel header magic in both OKLI lzma-loader, DTS, and makefile this hack is not necessary anymore However, "rootfs" size and checksum must now be supplied by the factory.bin image through a script that is accepted by the OEM upgrade script. This is because Senao OEM scripts assume a squashfs header exists at the offset for the original "rootfs" partition which is actually the kernel + rootfs in this implementation, and takes size value from the header that would be there with hexdump, but this offset is now the uImage header instead. This frees up 1 eraseblock previously used by the "fakeroot" partition for bypassing the OEM image verification. Also, these Senao devices with a 'failsafe' partition and the tar-gz factory.bin platform would otherwise require flashing the new tar-gz sysupgrade.bin afterward. So this also prevents having to flash both images when starting from OEM or 'failsafe' the OEM upgrade script verifies the header magic numbers, but only the first two bytes. Example: [ "${magic_word_kernel}" = "2705" ] && [ "${magic_word_rootfs}" = "7371" -o "${magic_word_rootfs}" = "6873" ] && errcode="0" therefore picked the magic number 0x73714f4b which is 'sqOK' Signed-off-by: Michael Pratt <mcpratt@pm.me> (cherry picked from commit 4a0cc5d4ef29a11914850c72158aca1e2a170fb0)
* ath79: lzma-loader: allow setting custom kernel magicMichael Pratt2021-06-114-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...and max flash offset The mtdsplit parser was recently refactored to allow the kernel to have custom image header magic. Let's also do this for the lzma-loader For example: When implemented together, this allows the kernel to "appear" to be a rootfs by OEM software in order to write an image that is actually kernel + rootfs. At the same time, it would boot to openwrt normally by setting the same magic in DTS. Both of the variables have a default value that is unchanged when not defined in the makefiles This has no effect on the size of the loader when lzma compressed. Signed-off-by: Michael Pratt <mcpratt@pm.me> (cherry picked from commit 1b8bd17c2d07c7397015a86941db9e114e1d349a)
* ath79: create common DTSI for Senao qca955x APsAdrian Schmutzler2021-06-113-170/+101
| | | | | | | | | | | | | | | This creates a shared DTSI for qca955x Senao/Engenius APs with concatenated firmware partition/okli loader: - EAP1200H - EnstationAC v1 To make this usable for future boards with 32 MB flash as well, split the partitions node already. Suggested-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 9b37db5caacdb46710ce6bfc8d37ae2ad02b843b)
* ath79: create common DTSI for Senao ar934x APsAdrian Schmutzler2021-06-114-273/+98
| | | | | | | | | | | | | | | | This creates a shared DTSI for ar934x Senao/Engenius APs: - EAP300 v2 - ENS202EXT v1 - EAP600 - ECB600 Since ar9341/ar9344 have different configuration, this new file mostly contains the partitioning. Suggested-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit ce8b535ed3aea743f58d8445dfaa1c2ced375f94)
* ath79: create common DTSI for Senao ar724x APsAdrian Schmutzler2021-06-114-261/+94
| | | | | | | | | | | | | | | This creates a shared DTSI for ar724x Senao/Engenius APs: - ENH202 v1 - EAP350 v1 - ECB350 v1 Since ar7240/ar7242 have different configuration, this new file mostly contains the partitioning. Suggested-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 4204d70d7a1123fdf11d3f5b1f46143639fa58a6)
* ath79: rename 'engenius' Makefile definitions to 'senao'Michael Pratt2021-06-113-25/+33
| | | | | | | | | | | | | | | | | These recipes and definitions can apply to devices from other vendors with PCB boards or SDK produced by Senao not only the brand Engenius possible examples: Extreme Networks, WatchGuard, OpenMesh, Fortinet, ALLNET, OCEDO, Plasma Cloud, devolo, etc. so rename all of these items and move DEVICE_VENDOR from common to generic/tiny.mk Signed-off-by: Michael Pratt <mcpratt@pm.me> (cherry picked from commit 70bf4a979c24a5db6f29f6dd691e20eb2345b4d0)
* treewide: make AddDepends/usb-serial selectiveAdrian Schmutzler2021-06-082-3/+3
| | | | | | | | Make packages depending on usb-serial selective, so we do not have to add kmod-usb-serial manually for every device. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 9397b22df1473f315552578b58322db7f7750361)
* kernel: bump 5.4 to 5.4.124Hauke Mehrtens2021-06-061-1/+1
| | | | | | | | | | | | | Manually rebased generic/hack-5.4/662-remove_pfifo_fast.patch ramips/patches-5.4/0048-asoc-add-mt7620-support.patch All others updated automatically. Compile-tested on: armvirt/64, x86/generic, ath79/generic, ramips/mt7621 Runtime-tested on: armvirt/64, x86/generic, ath79/generic Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 5.4 to 5.4.119Hauke Mehrtens2021-05-153-32/+3
| | | | | | | | | | | | | | | | | Removed because in upstream generic/backport-5.4/050-gro-fix-napi_gro_frags-Fast-GRO-breakage-due-to-IP-a.patch ath79/patches-5.4/0050-spi-ath79-remove-spi-master-setup-and-cleanup-assign.patch ramips/patches-5.4/999-fix-pci-init-mt7620.patch Manually rebased ath79/patches-5.4/0033-spi-ath79-drop-pdata-support.patch All others updated automatically. Compile-tested on: x86/64, ath79/generic Runtime-tested on: x86/64, ath79/generic Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Activate FORTIFY_SOURCE for MIPS kernel 5.4Hauke Mehrtens2021-05-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_FORTIFY_SOURCE=y is already set in the generic kernel configuration, but it is not working for MIPS on kernel 5.4, support for MIPS was only added with kernel 5.5, other architectures like aarch64 support FORTIFY_SOURCE already since some time. This patch adds support for FORTIFY_SOURCE to MIPS with kernel 5.4, kernel 5.10 already supports this and needs no changes. This backports one patch from kernel 5.5 and one fix from 5.8 to make fortify source also work on our kernel 5.4. The changes are not compatible with the 306-mips_mem_functions_performance.patch patch which was also removed with kernel 5.10, probably because of the same problems. I think it is not needed anyway as the compiler should automatically optimize the calls to memset(), memcpy() and memmove() even when not explicitly telling the compiler to use the build in variant. This increases the size of an uncompressed kernel by less than 1 KB. Acked-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 9ffa2f8193a43b9044fcfd0e16b204e989b0d941)
* ath79: force SGMII SerDes mode to MAC operationDavid Bauer2021-05-032-0/+14
| | | | | | | | | | | | | | | | | | The mode on the SGMII SerDes on the QCA9563 is 1000 Base-X by default. This only allows for 1000 Mbit/s links, however when used with an SGMII PHY in 100 Mbit/s link mode, the link remains dead. This strictly has nothing to do with the SerDes calibration, however it is done at the same point in the QCA reference U-Boot which is the blueprint for everything happening here. As the current state is more or less a hack, this should be fine. This fixes the issues outlined above on a TP-Link EAP-225 Outdoor. Reported-by: Tom Herbers <freifunk@tomherbers.de> Tested-by: Tom Herbers <freifunk@tomherbers.de> Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit fbbad9a9a629b388626b477e6cd692c160f63fb3)
* ath79: fix USB power on TP-Link TL-WR810N v1Tom Stöveken2021-05-021-0/+1
| | | | | | | | | | | | Before: Kernel reported "usb_vbus: disabling" and the USB was not providing power After: USB power is switched on, peripheral is powered from the device Signed-off-by: Tom Stöveken <tom@naaa.de> [squash and tidy up] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit a6f7268dc7519b57251532fe4239412e8acf4ca7)
* kernel: bump 5.4 to 5.4.114Hauke Mehrtens2021-05-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | Removed because in upstream* mvebu/patches-5.4/319-ARM-dts-turris-omnia-configure-LED-2--INTn-pin-as-interrupt-pin.patch Manually rebased* generic/backport-5.4/700-v5.5-net-core-allow-fast-GRO-for-skbs-with-Ethernet-heade.patch Added new backport* generic/backport-5.4/050-gro-fix-napi_gro_frags-Fast-GRO-breakage-due-to-IP-a.patch All others updated automatically. The new backport was included based on this[1] upstream commit that will be mainlined soon. This change is needed because Eric Dumazet's check for NET_IP_ALIGN (landed in 5.4.114) causes huge slowdowns on drivers which use napi_gro_frags(). Compile-tested on: x86/64, armvirt/64, ath79/generic Runtime-tested on: x86/64, armvirt/64, ath79/generic Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: mikrotik: swap RB922UAGS-5HPaCD eth0/1 MACsRoger Pueyo Centelles2021-04-301-0/+5
| | | | | | | | | | | | Since support for SFP on the MikroTik RouterBOARD 922UAGS-5HPacD was added by 4387fe00cb, the MAC addresses for eth0 (Ethernet) and eth1 (SFP) were swapped. This patch fixes the 02_network script to assign MAC addresses correctly, so they match the label and the vendor's OS. Tested on a RouterBOARD 922UAGS-5HPacD board. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> (cherry picked from commit 14a95b36b1ecd038fffc279878c5a4c51043d709)
* ath79: mikrotik: enable SFP on RB922UAGS-5HPaCDRoger Pueyo Centelles2021-04-304-2/+51
| | | | | | | | | | | | | | | | | This patch enables the SFP cage on the MikroTik RouterBOARD 922UAGS-5HPacD. GPIO16 (tx-disable-gpios) should be governed by the SFP driver to enable or disable transmission, but no change is observed. Therefore, it is left as output high to ensure the SFP module is forced to transmit. Tested on a RouterBOARD 922UAGS-5HPacD board, with a CISCO GLC-LH-SMD 1310nm module and an unbranded GLC-T RJ45 Gigabit module. PC=>router iperf3 tests deliver 440/300 Mbps up/down, both via regular eth0 port or SFP port with RJ45 module. Bridge between eth0 and eth1 delivers 950 Mbps symmetric. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> (cherry picked from commit 4387fe00cb7536d9d341f6d27e465ff0f0b29b1b)
* ath79: fix 10 Mbit PLL data for UniFi ACDavid Bauer2021-04-181-0/+2
| | | | | | | | Fix the PLL register value for 10 Mbit/s link modes on the UniFi AC Lite / Mesh / LR. Otherwise, 10 Mbit/s links do not transfer data. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 956407292dc5fd41f2d8c7cc7e9ec77eb6444c1e)
* ath79: fix 10 Mbit PLL data for TP-Link EAP2xxDavid Bauer2021-04-181-0/+1
| | | | | | | | | | | | Fix the PLL register value for 10 Mbit/s link modes on TP-Link EAP boards using a AR8033 SGMII PHY. Otherwise, 10 Mbit/s links do not transfer data. Reported-by: Tom Herbers <freifunk@tomherbers.de> Tested-by: Tom Herbers <freifunk@tomherbers.de> Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit bbff6239e2ea273388f4ca0f8586945ff5f36271)
* ath79: mikrotik: enable 2nd USB on RouterBOARD 922UAGS-5HPacDKoen Vandeputte2021-04-121-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RB922 boards have 2 separate USB controllers: - 1 is connected to Slot Type A - 1 is connected to the mini PCIe port Enable the 2nd one too. Before: [ 5.339304] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 5.355053] SCSI subsystem initialized [ 5.364184] ehci-fsl: Freescale EHCI Host controller driver [ 5.372377] ehci-platform: EHCI generic platform driver [ 5.378053] ehci-platform 1b000000.usb: EHCI Host Controller [ 5.383861] ehci-platform 1b000000.usb: new USB bus registered, assigned bus number 1 [ 5.391932] ehci-platform 1b000000.usb: irq 14, io mem 0x1b000000 [ 5.410730] ehci-platform 1b000000.usb: USB 2.0 started, EHCI 1.00 [ 5.417739] hub 1-0:1.0: USB hub found [ 5.422280] hub 1-0:1.0: 1 port detected [ 5.434007] usbcore: registered new interface driver usb-storage After: [ 5.342988] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 5.358687] SCSI subsystem initialized [ 5.367813] ehci-fsl: Freescale EHCI Host controller driver [ 5.375998] ehci-platform: EHCI generic platform driver [ 5.381695] ehci-platform 1b000000.usb: EHCI Host Controller [ 5.387507] ehci-platform 1b000000.usb: new USB bus registered, assigned bus number 1 [ 5.395571] ehci-platform 1b000000.usb: irq 14, io mem 0x1b000000 [ 5.416050] ehci-platform 1b000000.usb: USB 2.0 started, EHCI 1.00 [ 5.423089] hub 1-0:1.0: USB hub found [ 5.427578] hub 1-0:1.0: 1 port detected [ 5.432432] ehci-platform 1b400000.usb: EHCI Host Controller [ 5.438254] ehci-platform 1b400000.usb: new USB bus registered, assigned bus number 2 [ 5.446325] ehci-platform 1b400000.usb: irq 15, io mem 0x1b400000 [ 5.468049] ehci-platform 1b400000.usb: USB 2.0 started, EHCI 1.00 [ 5.475082] hub 2-0:1.0: USB hub found [ 5.479574] hub 2-0:1.0: 1 port detected [ 5.491305] usbcore: registered new interface driver usb-storage Fixes: 8f93c05a59 ("ath79: add support for MikroTik RouterBOARD 922UAGS-5HPacD") Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com> (cherry picked from commit 172fa3bc7544ce940ce724d682d66109a3e14a11)
* kernel: backport 5.13 mtd partitioning changesRafał Miłecki2021-04-081-5/+5
| | | | | | | | | 1. Use upstream accepted NVMEM patches 2. Minor fix for BCM4908 partitioning 3. Support for Linksys firmware partitions on Northstar Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 3fd0a4222b6efbfbdb560c5b13e899ecda627494)
* ath79: fix label_mac for NEC Aterm WG1200CRINAGAKI Hiroshi2021-04-021-2/+6
| | | | | | | | | | | On NEC Aterm WG1200CR, the MAC address for WAN is printed in the label on the case, not LAN. This patch fixes this issue. Fixes: 50fdc0374b ("ath79: provide label MAC address") Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> (cherry picked from commit e2331fb5491e52e3e21ab18b58d064b344e093e5)
* ath79: fix RS-485 on Teltonika RUT-955Daniel Golle2021-03-293-14/+6
| | | | | | | | | | DTR GPIO isn't actually needed and triggers boot warning. TX pin was off by one (GPIO 19 instead of GPIO 18). Reported-by: @tophirsch Fixes: d1130ad265 ("ath79: add support for Teltonika RUT955") Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 53a7d5d614050a38a4e78f5a9e153e7612d587f0)
* kernel: bump 5.4 to 5.4.108Hauke Mehrtens2021-03-271-8/+1
| | | | | | | | | Refreshed all patches. Compile-tested on: x86_64, ath79, lantiq Runtime-tested on: x86_64, ath79 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: Add support for Buffalo WZR-HP-G300NHMauri Sandberg2021-03-276-5/+335
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This device is a wireless router working on 2.4GHz band based on Qualcom/Atheros AR9132 rev 2 SoC and is accompanied by Atheros AR9103 wireless chip and Realtek RTL8366RB/S switches. Due to two different switches being used also two different devices are provided. Specification: - 400 MHz CPU - 64 MB of RAM - 32 MB of FLASH (NOR) - 3x3:2 2.4 GHz 802.11bgn - 5x 10/100/1000 Mbps Ethernet - 4x LED, 3x button, On/Off slider, Auto/On/Off slider - 1x USB 2.0 - bare UART header place on PCB Flash instruction: - NOTE: Pay attention to the switch variant and choose the image to flash accordingly. (dmesg / kernel logs can tell it) - Methods for flashing - Apply factory image in OEM firmware web-gui. - Sysupgrade on top of existing OpenWRT image - U-Boot TFPT recovery for both stock or OpenWRT images: The device U-boot contains a TFTP server that by default has an address 192.168.11.1 (MAC 02:AA:BB:CC:DD:1A). During the boot there is a time window, during which the device allows an image to be uploaded from a client with address 192.168.11.2. The image will be written on flash automatically. 1) Have a computer with static IP address 192.168.11.2 and the router device switched off. 2) Connect the LAN port next to the WAN port in the device and the computer using a network switch. 3) Assign IP 192.168.11.1 the MAC address 02:AA:BB:CC:DD:1A arp -s 192.168.11.1 02:AA:BB:CC:DD:1A 4) Initiate an upload using TFTP image variant curl -T <imagename> tftp://192.168.11.1 5) Switch on the device. The image will be uploaded subsequently. You can keep an eye on the diag light on the device, it should keep on blinking for a while indicating the writing of the image. General notes: - In the stock firmware the MAC address is the same among all interfaces so it is left here that way too. Recovery: - TFTP method - U-boot serial console Differences to ar71xx platform - This device is split in two different targets now due to hardware being a bit different under the hood. Dynamic solution within the same image is left for later time. - GPIOs for a sliding On/Off switch, marked 'Movie engine' on the device cover, were the wrong way around and were renamed qos_on -> movie_off, qos_off -> movie_on. Associated key codes remained the same they were. The device tree source code is mostly based on musashino's work Signed-off-by: Mauri Sandberg <sandberg@mailfence.com> (cherry picked from commit bc356de2850f14629cb1301be719772fa1212e72)
* ath79: cfi: cmdset_0002: amd chip 0x2201 - write wordsMauri Sandberg2021-03-271-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | Generally, in upstream CFI flash memory driver uses buffers for write operations. That does not work with AMD chip with id 0x2201 and we must resort to writing word sized chunks only. That is, to not apply general buffer write functionality for this given chip. Without the patch kernel logs will be flooded with entries like below: MTD do_erase_oneblock(): ERASE 0x01fa0000 MTD do_write_buffer(): WRITE 0x01fa0000(0x00001985) MTD do_erase_oneblock(): ERASE 0x01f80000 MTD do_write_buffer(): WRITE 0x01f80000(0x00001985) MTD do_write_buffer_wait(): software timeout, address:0x01f8000a. jffs2: Write clean marker to block at 0x01a60000 failed: -5 MTD do_erase_oneblock(): ERASE 0x01f60000 MTD do_write_buffer(): WRITE 0x01f60000(0x00001985) MTD do_write_buffer_wait(): software timeout, address:0x01f6000a. jffs2: Write clean marker to block at 0x01a40000 failed: -5 References: http://patchwork.ozlabs.org/project/linux-mtd/patch/20210309174859.362060-1-sandberg@mailfence.com/ Signed-off-by: Mauri Sandberg <sandberg@mailfence.com> [added link to usptream fix submission] Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 8cc0fa8faceadac85353bb1a96e074518ef124e2)
* ath79: fix lan port display order for sitecom wlr-7100Walter Sonius2021-03-221-1/+1
| | | | | | | | | | | Physical port order watched from the back of the device is: 4 / 3 / 2 / 1 / WAN which also matches corresponding leds. This patch corrects LuCI switch webpage LAN port order. Signed-off-by: Walter Sonius <walterav1984@gmail.com> [improve commit title, fix sorting in 02_network] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 46c0634b508f731df487a7909c439b2794445e26)
* kernel: add the latest mtd patch extending ofpart parserRafał Miłecki2021-03-171-6/+6
| | | | | | | | | | | | | This adds the latest version of ofpart commit. It hopefully 1. Doesn't break compilation 2. Doesn't break partitioning (this time). It's required to implement fixed partitioning with some quirks. It's required by bcm53xx, bcm4908, kirkwood, lantiq and mvebu. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 7a7b2fd809809fbd7045bd3dad4fc896a6fef06f)
* kernel: bump 5.4 to 5.4.102Hauke Mehrtens2021-03-061-1/+1
| | | | | | | | | Refreshed all patches. Compile-tested on: ath79, lantiq, ipq40xx, x86_64 Runtime-tested on: ipq40xx, x86_64 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: enable UART node for GL-USB150Adrian Schmutzler2021-02-251-4/+0
| | | | | | | | | | | This was overlooked when adding support for this device. (It has recently been discovered that this was the only device in ath79 having &uart disabled.) Fixes: acc62630132c ("ath79: add support for GL.iNet GL-USB150") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 722f1bd5490abafc5d77420905179aa03c508a1f)
* ath79: enable UART in SoC DTSI filesAdrian Schmutzler2021-02-25208-847/+16
| | | | | | | | | | | | | | | | | | | The uart node is enabled on all devices except one (GL-USB150 *). Thus, let's not have a few hundred nodes to enable it, but do not disable it in the first place. Where the majority of devices is using it, also move the serial0 alias to the DTSI. *) Since GL-USB150 even defines serial0 alias, the missing uart is probably just a mistake. Anyway, disable it for now so this patch stays cosmetic. Apply this to 21.02 as well to remove an unnecessary backporting pitfall. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 3a4b751110b32380cf827f14a203190cfbc2e40f)
* ath79: fix factory image generation for Netgear and Zyxel boardsPaul Fertser2021-02-143-4/+2
| | | | | | | | | | | | | The factory images need to embed specific IDs to pass verification with the OEM firmware (including TFTP recovery), so they need to be per-device variables. Fixes: ab1584a797ad ("ath79: netgear: trim down uImage customisations") Fixes: 459c8c9ef816 ("ath79: add support for ZyXEL NBG6616") Reported-by: Marcin Juszkiewicz <marcin-openwrt@juszkiewicz.com.pl> Signed-off-by: Paul Fertser <fercerpav@gmail.com> [minor commit message adjustments, sort DEVICE_VARS] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix chip used for Meraki MR12 caldata_extractMartin Kennedy2021-02-131-3/+3
| | | | | | | | | | | | | The original setup fails to trigger ART calibration data extraction for the AR9287. Instead, it would only have extracted calibration data for an internal WMAC chip which is not present on this board. Fixes: 55d2db0e8ceb ("ath79: add support for Meraki MR12") Signed-off-by: Martin Kennedy <hurricos@gmail.com> [commit title/message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix USB power GPIO for TP-Link TL-WR810N v1Adrian Schmutzler2021-02-111-1/+1
| | | | | | | | | | | | | | | | | | The TP-Link TL-WR810N v1 is known to cause soft-brick on ath79 and work fine for ar71xx [1]. On closer inspection, the only apparent difference is the GPIO used for the USB regulator, which deviates between the two targets. This applies the value from ar71xx to ath79. Tested successfully by a forum user. [1] https://forum.openwrt.org/t/tp-link-tl-wr810n-v1-ath79/48267 Fixes: cdbf2de77768 ("ath79: Add support for TP-Link WR810N") Fixes: FS#3522 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for D-Link DAP-3662 A1Sebastian Schaper2021-02-097-5/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: * QCA9557, 16 MiB Flash, 128 MiB RAM, 802.11n 2T2R * QCA9882, 802.11ac 2T2R * 2x Gigabit LAN (1x 802.11af PoE) * IP68 pole-mountable outdoor case Installation: * Factory Web UI is at 192.168.0.50 login with 'admin' and blank password, flash factory.bin * Recovery Web UI is at 192.168.0.50 connect network cable, hold reset button during power-on and keep it pressed until uploading has started (only required when checksum is ok, e.g. for reverting back to oem firmware), flash factory.bin After flashing factory.bin, additional free space can be reclaimed by flashing sysupgrade.bin, since the factory image requires some padding to be accepted for upgrading via OEM Web UI. Both ethernet ports are set to LAN by default, matching the labelling on the case. However, since both GMAC Interfaces eth0 and eth1 are connected to the switch (QCA8337), the user may create an additional 'wan' interface as desired and override the vlan id settings to map br-lan / wan to either the PoE or non-PoE port, depending on the individual scenario of use. So, the LAN and WAN ports would then be connected to different GMACs, e.g. config interface 'lan' option ifname 'eth0.1' ... config interface 'wan' option ifname 'eth1.2' ... config switch_vlan option device 'switch0' option vlan '1' option ports '1 0t' config switch_vlan option device 'switch0' option vlan '2' option ports '2 6t' Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net> [add configuration example] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: use internal switch for EAP300 v2Michael Pratt2021-02-083-21/+5
| | | | | | | | | | | | | | | | Have the port use GMAC1 with internal switch which fixes the issue of the ethernet LED not functioning The LED is triggered by the internal switch, not a GPIO. The GPIO for the ethernet LED was added in ath79 as it was defined in the ar71xx target but it was not functioning in ath79 for a previously unknown reason. It is unknown why that GPIO was defined as an LED in ar71xx. Signed-off-by: Michael Pratt <mcpratt@pm.me> [drop unrelated changes: model property and SPI max frequency] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: make all eth ports LAN for Engenius APsMichael Pratt2021-02-082-5/+4
| | | | | | | | | | | | | | | | | | for: - ENH202 v1 - ENS202EXT v1 - EnstationAC v1 - EWS511AP For EWS511AP, have default behavior as static ip to match the behavior of all other APs in ath79 These boards are sold as Client Bridge or Point to Point or Access Point so there is probably no benefit to have WAN by default for one of the ports, to prevent user confusion. Signed-off-by: Michael Pratt <mcpratt@pm.me>