aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* mvebu: puzzle-m902: add driver for MCU driving LEDs, fan and buzzerDaniel Golle2021-12-2111-1/+2462
| | | | | | | | | | Backport MFD driver for communicating with the on-board MCU found on IEI World Puzzle appliances. Improve the driver to support multiple LEDs, apply a default state and let MCU take care of blinking if timing is within supported range. Wire up LEDs and fan for Puzzle M902 in device tree. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: work around duplicate MAC address on U6 LiteDavid Bauer2021-12-201-0/+15
| | | | | | | | | | | | | | | | | | | | | | The UniFi 6 Lite has two MAC addresses for the 2.4 and 5GHz radio in it's EEPROM partition. On my unit these are F4 92 BF A0 BB 6F F6 92 BF A0 BB 6F The problem with these is that mac80211 increases the first octet by 2, which leads to conflicting MAC addresses between radios. Work around this problem for now by increasing the last octet by 1 on the 5 GHz radio. Ubiquiti increases the last octet by 2 for each subsequent VAP created per radio. Ideally we should do the same, however this functionality is currently lacking from mac80211. Signed-off-by: David Bauer <mail@david-bauer.net>
* mediatek: mt7623: bpi-r2: add ethernet alias to device treeDaniel Golle2021-12-181-0/+10
| | | | | | | Add ethernet0 alias in device tree to make U-Boot inherit the Ethernet mac address (set via environment variable 'ethaddr') down to Linux. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: 5.10: consolidate mac80211 crypto optionsSergey Ryazanov2021-12-1743-160/+2
| | | | | | | | | | | | | | | | | | | | | | Each of - CRYPTO_AEAD2 - CRYPTO_AEAD - CRYPTO_GF128MUL - CRYPTO_GHASH - CRYPTO_HASH2 - CRYPTO_HASH - CRYPTO_MANAGER2 - CRYPTO_MANAGER - CRYPTO_NULL2 either directly required for mac80211 crypto support, or directly selected by such options. Support for the mac80211 crypto was enabled in the generic config since c7182123b9 ("kernel: make cryptoapi support needed by mac80211 built-in"). So move the above options from the target configs to the generic config to make it clear why do we need them. CC: Felix Fietkau <nbd@nbd.name> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* kernel: filter out both Clang and LLD versionsSergey Ryazanov2021-12-1747-46/+2
| | | | | | | | Both CLANG_VERSION and LLD_VERISON are autogenerated runtime configuration options, so add them to the kernel configuration filter and remove from generic and per-target configs to keep configs clean. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* kernel: bump 5.10 to 5.10.85John Audia2021-12-1711-44/+16
| | | | | | | | | | | | | | | | Removed target for patch which does not exist: bcm27xx/patches-5.10/950-0249-kbuild-Disable-gcc-plugins.patch All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, ipq806x/R7800* Run-tested: bcm2711/RPi4B, ipq806x/R7800* * Had to revert 7f1edbd41295dff9f2127b169fbc086c0fb2c14e in order to build (binutils 2.37, https://bugs.openwrt.org/index.php?do=details&task_id=4149) Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.10 to 5.10.84John Audia2021-12-1715-58/+38
| | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B Run-tested: bcm2711/RPi4B Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.4 to 5.4.167John Audia2021-12-171-1/+1
| | | | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ramips/mt7621* *FS#4149 affects me so I had to revert 7f1edbd41295dff9f2127b169fbc086c0fb2c14e in order to downgrade to 2.35.1 Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.4 to 5.4.166John Audia2021-12-177-22/+22
| | | | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ramips/mt7621* *FS#4149 affects me so I had to revert 7f1edbd41295dff9f2127b169fbc086c0fb2c14e in order to downgrade to 2.35.1 Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.4 to 5.4.165John Audia2021-12-1749-131/+131
| | | | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ramips/mt7621* *FS#4149 affects me so I had to revert 7f1edbd41295dff9f2127b169fbc086c0fb2c14e in order to downgrade to 2.35.1 Signed-off-by: John Audia <graysky@archlinux.us>
* ramips: mt7620: tidy up 02_networkSungbo Eo2021-12-161-14/+8
| | | | | | | * fix alphabetic sorting * consolidate duplicate cases Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* bcm4908: add uboot-envtools to default packagesRafał Miłecki2021-12-161-1/+1
| | | | | | | It's required by sysupgrade to access UBI metadata partitions. Fixes: 5f05795aa771 ("bcm4908: sysupgrade: add pkgtb format support") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: backport support for multicolor & RGB LEDs to 5.4Rafał Miłecki2021-12-163-0/+153
| | | | | | This is a requirement for backporting DT files defining such LEDs. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: backport the upstream implementation of threaded NAPI to 5.4Felix Fietkau2021-12-1512-375/+692
| | | | | | | The workqueue based implementation has a few corner cases and typically lower performance than the upstream one Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: remove Linux 5.4 supportRui Salvaterra2021-12-1575-10093/+0
| | | | | | We're at 5.10 stable, this can finally go. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ramips: fix Tenbay T-MB5EU v1 Wireless MACDavid Bauer2021-12-151-0/+5
| | | | | | | | | | | | | It was reported, that Tenbay T-MB5EU v1 do have incorrect Wireless MAC address set on 2.4 and 5 GHz. Some boards do not seem to have the correct MAC address set for the external PHY of the MT7915 radio at caldata offset 0xa. As the external PHY does not expose a DT binding (yet), fix up the mac address in userspace. Signed-off-by: David Bauer <mail@david-bauer.net>
* bcm4908: add fdt-utils to default packagesRafał Miłecki2021-12-141-1/+1
| | | | | | | It's required by sysupgrade. Fixes: 5f05795aa771 ("bcm4908: sysupgrade: add pkgtb format support") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* layerscape: armv7: refresh config-5.10Martin Schiller2021-12-131-24/+30
| | | | Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* layerscape: armv7: copy config-5.4 to config-5.10Martin Schiller2021-12-131-0/+673
| | | | Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* layerscape: armv8_64b: refresh config-5.10Martin Schiller2021-12-131-99/+71
| | | | Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* layerscape: armv8_64b: copy config-5.4 to config-5.10Martin Schiller2021-12-131-0/+881
| | | | Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* layerscape: armv8_64b: use non-SDK dts files for linux-5.10 or newerMartin Schiller2021-12-131-0/+24
| | | | | | | Since we decided to drop the LSDK patches with linux-5.10, we now have to switch to the corresponding upstream dts files as well. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* layerscape: armv8_64b: fix KERNEL_LOADADDR for linux >= 5.8Martin Schiller2021-12-131-0/+4
| | | | | | | | | | In kernel versions newer than 5.8 the arm64 TEXT_OFFSET (0x80000) has been set to 0x0 (and later removed). This will break Uimages with kernel load addresses that aren't 2MiB aligned any longer. Resulting in the kernel silently fail to boot. For layerscape armv8_64b targets this needs to be changed to 0x80000000 (start of RAM). Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* layerscape: add patches for kernel 5.10Martin Schiller2021-12-135-0/+12680
| | | | Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* layerscape: add kernel 5.10 as testing versionMartin Schiller2021-12-131-0/+1
| | | | | | | This patch adds "KERNEL_TESTING_PATCHVER:=5.10" to the Makefile in layerscape target to allow using Kernel 5.10 for testing. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* layerscape: remove unneeded KERNEL_ENTRY_POINT definitionMartin Schiller2021-12-132-2/+0
| | | | | | As KERNEL_ENTRY_POINT is identical to KERNEL_LOADADDR, drop it. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* ramips: switch to kernel 5.10Rui Salvaterra2021-12-131-2/+1
| | | | | | | | Tested on mt7621 (Redmi AC2100) and running stable for several months. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com> Tested-by: Stijn Segers <foss@volatilesystems.org> Tested-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* ramips: mt7620: use OKLI loader with Jboot devicesPawel Dembicki2021-12-1310-13/+53
| | | | | | | | | | | Jboot devices have problem with >2MB kernelsize. The only way to avoid this problem is use small loader. This patch switch all mt7620 Jboot devices to lzma OKLI loader. Suggested-by: Szabolcs Hubai <szab.hu@gmail.com> Co-authored-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* bcm53xx: sysupgrade: fix support for Luxul's legacy firmware formatRafał Miłecki2021-12-131-1/+3
| | | | | Fixes: 80041dea7094 ("bcm53xx: sysupgrade: refactor handling different firmware formats") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: sysupgrade: add pkgtb format supportRafał Miłecki2021-12-131-2/+183
| | | | | | | | | | | | | | BCM4908 devices with U-Boot use pkgtb firmware format. It's based on U-Boot's FIT: DTB with configurations, images & embedded data. This format contains bootfs, rootfs and optionally a first stage U-Boot loader. Contained images need to be extracted & flashed. Broadcom used two sets of firmwares: main & backup. It uses UBI volumes "metadata1" & "metadata2" for storing U-Boot env variables with info about flashed images. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* treewide: use uniform vendor value for british telecomMoritz Warning2021-12-124-6/+6
| | | | | | British Telecom is mostly known as BT. Signed-off-by: Moritz Warning <moritzwarning@web.de>
* kernel: bump 5.10 to 5.10.83John Audia2021-12-1232-114/+59
| | | | | | | | | | | | | | | | | | | | | | | Removed upstreamed: bcm53xx/patches-5.10/033-v5.16-0024-ARM-dts-BCM5301X-Fix-I2C-controller-interrupt.patch[1] bcm53xx/patches-5.10/033-v5.16-0025-ARM-dts-BCM5301X-Add-interrupt-properties-to-GPIO-no.patch[2] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.83&id=b2cd6fdcbe0a5cb44e4610a08cc58261d494a885 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.83&id=9db1d4a3c2700e1cc84c3d61199411d75c2a3ec6 Build system: x86_64* Build-tested: bcm2711/RPi4B, ipq806x/R7800† Run-tested: bcm2711/RPi4B, ipq806x/R7800† * Had to revert 7c99085bd69742f66207d61e9f2da5ec4f8f9d2f in order to build (latest bump of ca-certificates) † Had to revert 7f1edbd41295dff9f2127b169fbc086c0fb2c14e in order to build (binutils 2.37, https://bugs.openwrt.org/index.php?do=details&task_id=4149) Signed-off-by: John Audia <graysky@archlinux.us>
* ipq40xx: fix reset button GPIO for GL.iNet GL-B2200Enrico Mioso2021-12-121-1/+1
| | | | | | | | | GL.iNet's U-Boot checks for GPIO 40, not 43. Changing this allows the RESET button to work as expected. Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com> CC: Daniel Golle <daniel@makrotopia.org> CC: Li Zhang <li.zhang@gl-inet.com>
* ramips: add support for HUMAX E10Kyoungkyu Park2021-12-123-0/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HUMAX E10 (also known as HUMAX QUANTUM E10) is a 2.4/5GHz band AC router, based on MediaTek MT7621A. Specifications: - SoC: MT7621A - RAM: DDR3 128MB - Flash: SPI NOR 16MB (MXIC MX25L12805D) - WiFi: - 2.4GHz: MT7615 - 5GHz: MT7615 - Ethernet: 2x 10/100/1000Mbps - Switch: SoC internal - USB: 1x USB 2.0 Type-A - UART: J1 (57600 8N1) - pinout: [3V3] (RXD) (GND) (TXD) Installation via web interface: - Flash **factory** image through the stock web interface. Recovery procedure: 1. Connect ethernet cable between Router **LAN** port and PC Ethernet port. 2. Set your computer to a static IP **192.168.1.1** 3. Turn the device off and wait a few seconds. Hold the WPS button on front of device and insert power. 4. Send a firmware image to **192.168.1.6** using TFTP. You can use any TFTP client. (tftp, curl, Tftpd64...) - It can accept both images which is HUMAX stock firmware dump (0x70000-0x1000000) image and OpenWRT **sysupgrade** image. Signed-off-by: Kyoungkyu Park <choryu.park@choryu.space> [remove trailing whitespace] Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: mt76x8: tidy up 02_networkSungbo Eo2021-12-121-8/+5
| | | | | | | * fix alphabetic sorting * consolidate duplicate cases Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kernel: fix RCU issue in xt_FLOWOFFLOAD patchFelix Fietkau2021-12-111-3/+1
| | | | | | cond_resched() may not be called in a rcu-locked section Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ath79: fix various dts warningsChristian Lamparter2021-12-1113-5/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ar9344_openmesh_mr600-v1.dts:40.10-44.5: Warning (gpios_property): /leds-ath9k/wifi2g: Missing property '#gpio-cells' in node /ahb/pcie-controller@180c0000/wifi@0,0 or bad phandle => added gpio-controller + #gpio-cells qca955x_zyxel_nbg6x16.dtsi:121.3-13: Warning (reg_format): /ahb/usb@1b000000/port@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1) ../dts/qca955x_zyxel_nbg6x16.dtsi:131.3-13: Warning (reg_format): /ahb/usb@1b400000/port@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1) qca955x_zyxel_nbg6x16.dtsi:120.20-123.4: Warning (avoid_default_addr_size): /ahb/usb@1b000000/port@1: Relying on default #address-cells value => ath79's usb-nodes are missing the address- and size-cells properties. These are needed for usb led trigger support. ar7242_ubnt_sw.dtsi:54.4-14: Warning (reg_format): /gpio_spi/gpio_spi@0:reg: property has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1) => the #address-cells and #size-cells had to be nudged. qca9531_dlink_dch-g020-a1.dts:19.6-39.4: Warning (i2c_bus_bridge): /i2c: incorrect #size-cells for I2C bus => #size-cells = <0>; Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* lantiq: fixed wifi support for AVM FRITZ!Box 7430Joel Linn2021-12-111-2/+4
| | | | | | | | | | | | adds the correct offset for the calibration data. The values are according to the OpenWrt Forum Thread: "Fritzbox 7430 and wifi". Link: <https://forum.openwrt.org/t/fritzbox-7430-and-wifi/86944> Reported-by: RENErica Signed-off-by: Joel Linn <jl@conductive.de> [changed commit message] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: add support for WD My Net N600Ryan Mounce2021-12-116-87/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SoC: AR9344 RAM: 128MB Flash: 16MiB SPI NOR 5GHz WiFi: AR9382 PCIe 2x2:2 802.11n 2.4GHz WiFi: AR9344 (SoC) AHB 2x2:2 802.11n 5x Fast ethernet via SoC switch (green LEDs) 1x USB 2.0 4x front LEDs from SoC GPIO 1x front WPS button from SoC GPIO 1x bottom reset button from SoC GPIO UART header JP1, 115200 no parity 1 stop TX GND VCC (N/P) RX Flash factory image via "emergency room" recovery: - Configure your computer with a static IP 192.168.1.123/24 - Connect to LAN port on the N600 switch - Hold reset putton - Power on, holding reset until the power LED blinks slowly - Visit http://192.168.1.1/ and upload OpenWrt factory image - Wait at least 5 minutes for flashing, reboot and key generation - Visit http://192.168.1.1/ (OpenWrt LuCI) and upload OpenWrt sysupgrade image Signed-off-by: Ryan Mounce <ryan@mounce.com.au> [dt leds preparations] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: add support for jjPlus JWAP230Olivier Valentin2021-12-113-0/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The jjPlus JWAP230 is an access point board built around the QCA9558, with built-in 2.4GHz 3x3 N WiFi (28dBm). It can be expanded with 2 mini-PCIe boards, and has an USB2 root port. Specifications: - SOC: Qualcomm Atheros QCA9558 - CPU: 720MHz - H/W switch: QCA8327 rev 2 - Flash: 16 MiB SPI NOR (en25qh128) - RAM: 128 MiB DDR2 - WLAN: AR9550 built-in SoC bgn 3T3R (ath9k) - PCI: 2x mini-PCIe (optional 5V) - LEDs: 6x LEDs (3 are currently available) - Button: 1x Reset (not yet defined) - USB2: - 1x Type A root port - 1x combined mini-PCIe - Ethernet: - 2x 10/100/1000 (1x PoE 802.3af (36-57 V)) Notes: The device used to be supported in the ar71xx target. For upgrades: Please use "sysupgrade --force -n <image>". This will restore the device back to OpenWrt defaults! MAC address assignment: use source LAN art 0x0 WAN art 0x6 WLAN art 0x1002 (as part of the calibration data) Flash instructions: - install from u-boot with tftp (requires serial access) > setenv ipaddr a.b.c.d > setenv serverip e.f.g.h > tftp 0x80060000 \ openwrt-ath79-generic-jjplus_jwap230-squashfs-sysupgrade.bin > erase 0x9f050000 +${filesize} > cp.b $fileaddr 0x9f050000 $filesize > setenv bootcmd bootm 0x9f050000 > saveenv Signed-off-by: Olivier Valentin <valentio@free.fr> [Added DT-Leds (based on ar71xx), Added more notes about sysupgrade, fixed "qca9550" to match SoC in commit and dts file name] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* x86: remove old lzma tuning patchChristian Lamparter2021-12-111-22/+0
| | | | | | | | | | | | | | | | | | | | | Chen Minqiang reported in his GitHub PR #4733 that: With CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA=y option set, the popular x86/amd64 target's initramfs-kernel failed to boot. The cause for this boot failure is that the LZMA compression uses a the first bytes to encode the compression parameters. It does not have a fixed magic. Yes, this only works if the the existing lzma options in the upstream are not changed. This patch does away with OpenWrt special LZMA options tuning since it is rather unlikely that upstream will improve the compression algorithm detection after all this time. Even though, the tuning produced a smaller initramfs (~1.1% in a spot check). Link: <https://github.com/openwrt/openwrt/pull/4733> Reported-by: Chen Minqiang <ptpt52@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* x86: add/improve support for Sophos SG/XG productsStan Grishin2021-12-112-4/+13
| | | | | | | | | * Better product ID for Sophos SG/XG-105 models * Add support for Sophos SG/XG-135 r1, r2 with/without wireless Signed-off-by: Stan Grishin <stangri@melmac.ca> [Changed subject to x86 - probably eaten somewhere, the PR had it] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: add more disabled config optionsJosef Schlehofer2021-12-111-0/+2
| | | | | | | | | | | | | | | | | | NET_DSA_MSCC_FELIX: Marvell 88E6xxx Ethernet switch fabric support (NET_DSA_MV88E6XXX) [N/m/y/?] n Ocelot / Felix Ethernet switch support (NET_DSA_MSCC_FELIX) [N/m/y/?] (NEW) Error in reading or end of file. make[6]: *** [scripts/kconfig/Makefile:71: syncconfig] Error 1 make[5]: *** [Makefile:603: syncconfig] Error 2 IR_IMON_RAW: SoundGraph iMON Receiver (early raw IR models) (IR_IMON_RAW) [N/m/?] (NEW) Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com> [squashed with "kernel: add missing IR_IMON_RAW config symbol"] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ramips: add support for Zbtlink ZBT-WG1602Sergey Ryazanov2021-12-053-0/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Zbtlink ZBT-WG1602 is a Wi-Fi router intendent to use with WWAN (UMTS/LTE/3G/4G) modems. The router board offsers a couple of miniPCIe slots with USB and SIM only and another one pure miniPCIe slot as well as five Gigabit Ethernet ports (4xLAN + WAN). Specification: * SoC: MT7621A * RAM: 256/512 MiB * Flash: 16/32 MiB (SPI NOR) * external watchdog (looks like Torexsemi XC6131B) * Eth: 10/100/1000 Mbps Ethernet x5 ports (4xLAN + WAN) * WLAN 2GHz: MT7603EN (.11n, MIMO 2x2) * WLAN 5GHz: MT7612EN (.11ac, MIMO 2x2) * WLAN Ants: detachable x2, shared by 2GHz & 5GHz radios * miniPCIe: 2x slots with USB&SIM + 1x slot with regular PCIe bus * WWAN Ants: detachable x4 * External storage: microSD (SDXC) slot * USB: 2.0 Type-A port * LED: 11 (5 per Eth phy, 3 SoC controlled, 2 WLAN 2/5 controlled, 1 power indicator) * Button: 1 (reset) * UART: console (115200 baud) * Power: DC jack (12 V / 2.5 A) Additional HW information: * SoC USB port #1 is shared by internal miniPCIe slot and external Type-A USB port, USB D+/D- lines are toggled between ports using a GPIO controlled DPDT switch. * Power of the USB enabled miniPCIe slots can be individually controlled using dedicated GPIO lines. * Vendor firmware feeds the external watchdog with 1s pulses. GPIO watchdog driver is able to either generate a 1us pulses or toggle the output line. 1us is not enough for the external watchod timer, so the line toggling driver mode is utilized. Installation: Vendor's firmware is OpenWrt (LEDE) based, so the sysupgrade image can be directly used to install OpenWrt. Firmware must be upgraded using the 'force' and 'do not save configuration' command line options (or correspondig web interface checkboxes) since the vendor firmware is from the pre-DSA era. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* ath79: add support for TP-Link EAP225 v1Sander Vanheule2021-12-054-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link EAP225 v1 is an AC1200 (802.11ac Wave-1) ceiling mount access point. Device specifications: * SoC: QCA9563 @ 775MHz * RAM: 128MiB DDR2 * Flash: 16MiB SPI-NOR * Wireless 2.4GHz (SoC): b/g/n, 2x2 * Wireless 5Ghz (QCA9882): a/n/ac, 2x2 * Ethernet (AR8033): 1× 1GbE, 802.3at PoE Flashing instructions: * Ensure the device is upgraded to firmware v1.4.0 * Exploit the user management page in the web interface to start telnetd by changing the username to `;/usr/sbin/telnetd -l/bin/sh&`. * Immediately change the malformed username back to something valid (e.g. 'admin') to make ssh work again. * Use the root shell via telnet to make /tmp world writeable (chmod 777) * Extract /usr/bin/uclited from the device via ssh and apply the binary patch listed below. The patch is required to prevent `uclited -u` in the last step from crashing. * Copy the patched uclited binary back to the device at /tmp/uclited (via ssh) * Upload the factory image to /tmp/upgrade.bin (via ssh) * Run `chmod +x /tmp/uclited && /tmp/uclited -u` to install OpenWrt. uclited patching: --- xxd uclited +++ xxd uclited-patched @@ -53811,7 +53811,7 @@ 000d2330: 8c44 0000 0320 f809 0000 0000 8fbc 0010 .D... .......... 000d2340: 8fa6 0a4c 02c0 2821 8f82 87c4 0000 0000 ...L..(!........ -000d2350: 8c44 0000 0c13 461c 27a7 0018 8fbc 0010 .D....F.'....... +000d2350: 8c44 0000 2402 0000 0000 0000 8fbc 0010 .D..$........... 000d2360: 1040 001d 0000 1821 8f99 8378 3c04 0058 .@.....!...x<..X 000d2370: 3c05 0056 2484 ad68 24a5 9f00 0320 f809 <..V$..h$.... .. To make sure the correct file is patched, the following MD5 checksums should match the unpatched and patched files: 4bd74183c23859c897ed77e8566b84de uclited 4107104024a2e0aeaf6395ed30adccae uclited-patched Debricking: * Serial port can be soldered on unpopulated 4-pin header (1: TXD, 2: RXD, 3: GND, 4: VCC) * Bridge unpopulated resistors running from pins 1 (TXD) and 2 (RXD). Do NOT bridge the pull-down for pin 2, running parallel to the header. * Use 3.3V, 115200 baud, 8n1 * Interrupt bootloader by holding CTRL+B during boot * tftp initramfs to flash via the LuCI web interface setenv ipaddr 192.168.1.1 # default, change as required setenv serverip 192.168.1.10 # default, change as required tftp 0x80800000 initramfs.bin bootelf $fileaddr Tested by forum user KernelMaker. Link: https://forum.openwrt.org/t/eap225-v1-firmware/87116 Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: sort the port list numericallyBjørn Mork2021-12-051-4/+1
| | | | | | | | | | | Mac adresses are assigned in the order given by the port list. The interfaces are also brought up in this order. This target supports devices with up to 52 ports. Sorting these alphabetically is very confusing, and assigning mac addresses in alphabetic order does not match stock firmware behaviour. Suggested-by: Sander Vanheule <sander@svanheule.net> Signed-off-by: Bjørn Mork <bjorn@mork.no>
* realtek: update watchdog timer patchSander Vanheule2021-12-051-22/+45
| | | | | | | | The Realtek Otto watchdog timer driver was accepted upstream, and is queued for 5.17. Update the patch's file name, and replace by the final version. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* x86: added support to generate VHDX imagesOldřich Jedlička2021-12-052-1/+7
| | | | | | | Added support to generate dynamic-sized VHDX images for Hyper-V. Compile-tested on x86 and run-tested on Windows 10 21H2 (Hyper-V). Signed-off-by: Oldřich Jedlička <oldium.pro@gmail.com>
* ipq806x: revert SDC clock changes for NBG6817 MMCShane Synan2021-12-052-24/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the SDC "CLK_SET_RATE_GATE" changes to the SDC clock regulator structures. See https://elinux.org/images/b/b8/Elc2013_Clement.pdf > if ((clk->flags & CLK_SET_RATE_GATE) && clk->prepare_count) { > > For this particular clock, setting its rate is possible only if the > clock is ungated (not yet prepared) This fixes the MMC failing to initialize on newer ZyXEL NBG6817 hardware revisions with Kingston MMC. Older revisions should hopefully be unaffected. Check MMC hardware details with: cd /sys/block/mmcblk0/device/ && \ tail -v cid date name manfid fwrev hwrev oemid rev Known problematic MMC names (broken before this commit): * M62704 (dated 12/2018) via myself * M62704 (dated 11/2018) via Drake Stefani Known unaffected MMC names (already working without this commit): * S10004 (dated 12/2015) via slh Without enabling dynamic debugging, this error manifests in the kernel hardware serial console as the following: [ 2.746605] mmc0: error -110 whilst initialising MMC card […trimmed other messages…] [ 2.877832] Waiting for root device /dev/mmcblk0p5... Enabling Linux dynamic kernel debugging provides additional messages. For guidance, see the Linux kernel documentation: https://www.kernel.org/doc/html/latest/admin-guide/dynamic-debug-howto.html First, enable dynamic debugging in OpenWRT's configuration: 1. Run "make menuconfig" 2. Select "Global build settings --->" 3. Select "Kernel build options --->" 4. Enable "Compile the kernel with dynamic printk" via spacebar 5. Save and exit (arrow key to "Exit" until prompted to save, save) Alternatively, set "CONFIG_KERNEL_DYNAMIC_DEBUG=y" in your .config. Then, turn on dynamic debugging at boot: Modify bootargs in target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-nbg6817.dts to add… bootargs = "[…existing bootargs…] dyndbg=\"file drivers/mmc/* +p\" dynamic_debug.verbose=1 loglevel=8"; For example: chosen { - bootargs = "rootfstype=squashfs,ext4 rootwait noinitrd fstools_ignore_partname=1"; + bootargs = "rootfstype=squashfs,ext4 rootwait noinitrd fstools_ignore_partname=1 dyndbg=\"file drivers/mmc/* +p\" dynamic_debug.verbose=1 loglevel=8"; append-rootblock = "root=/dev/mmcblk0p"; Then, compile and flash the resulting build. If you are testing before this commit on newer MMC hardware, be prepared to recover! NOTE: If you have hardware serial console access, you don't need to use TFTP recovery to change the active boot partition. Reboot to working alternative partition via serial console: 1. Connect to hardware serial console * See https://openwrt.org/toh/zyxel/nbg6817#serial 2. Interrupt boot at "Hit any key to stop autoboot:" 3. Run "ATSE NBG6817" 4. Copy the result (e.g. "001976FE4B04") * Changes with **every boot** - can't reuse this 5. On your local system, run "./zyxel-uboot-password-tool.sh <copied value here>" * Example: "./zyxel-uboot-password-tool.sh 001976FE4B04" 6. Run the command provided by the password tool * Example: "ATEN 1,910F129B" * Changes with **every boot** - can't reuse this 7. Run "ATGU" * You now have full u-boot shell until next boot - unlocking is not remembered 8. Run either "run boot_mmc" (for booting partition set "FF") or "run boot_mmc_1" (for booting partition set "01") * These commands are not affected by dual-boot partition flags NOTE: This will NOT set the dual-boot partition flag. You'll need to fix that manually. The "nbg6817-dualboot" script may help: https://github.com/pkgadd/nbg6817/blob/master/nbg6817-dualboot zyxel-uboot-password-tool.sh - sourced from commit 459c8c9ef816156107e297964d088ddee2b4eef5: ror32() { echo $(( ($1 >> $2) | (($1 << (32 - $2) & (2**32-1)) ) )) } v="0x$1" a="0x${v:2:6}" b=$(( a + 0x10F0A563)) c=$(( 0x${v:12:14} & 7 )) p=$(( $(ror32 $b $c) ^ a )) printf "ATEN 1,%X\n" $p Kernel serial console log BEFORE commit with dynamic debug enabled: […trimmed…] [ 3.171343] mmci-pl18x 12400000.sdcc: designer ID = 0x51 [ 3.171397] mmci-pl18x 12400000.sdcc: revision = 0x0 [ 3.175811] mmci-pl18x 12400000.sdcc: clocking block at 96000000 Hz [ 3.181134] mmci-pl18x 12400000.sdcc: No vqmmc regulator found [ 3.186788] mmci-pl18x 12400000.sdcc: mmc0: PL180 manf 51 rev0 at 0x12400000 irq 41,0 (pio) [ 3.192902] mmci-pl18x 12400000.sdcc: DMA channels RX dma1chan1, TX dma1chan2 [ 3.215609] mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 1 timing 0 [ 3.227532] mmci-pl18x 12400000.sdcc: Initial signal voltage of 3.3v [ 3.247518] mmc0: clock 52000000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 1 timing 0 […trimmed…] [ 3.997725] mmc0: req done (CMD2): -110: 00000000 00000000 00000000 00000000 [ 4.003631] mmci-pl18x 12400000.sdcc: irq0 (data+cmd) 00000000 [ 4.003659] mmc0: error -110 whilst initialising MMC card [ 4.016481] mmc0: clock 0Hz busmode 2 powermode 0 cs 0 Vdd 0 width 1 timing 0 Notice how the initial clock is 52 MHz, which is incorrect - MMC requires negotiation to enable higher speeds. Kernel serial console log AFTER commit with dynamic debug enabled: […trimmed…] [ 3.168996] mmci-pl18x 12400000.sdcc: designer ID = 0x51 [ 3.169051] mmci-pl18x 12400000.sdcc: revision = 0x0 [ 3.173492] mmci-pl18x 12400000.sdcc: clocking block at 96000000 Hz [ 3.178808] mmci-pl18x 12400000.sdcc: No vqmmc regulator found [ 3.184702] mmci-pl18x 12400000.sdcc: mmc0: PL180 manf 51 rev0 at 0x12400000 irq 41,0 (pio) [ 3.190573] mmci-pl18x 12400000.sdcc: DMA channels RX dma1chan1, TX dma1chan2 [ 3.217873] mmc0: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width 1 timing 0 [ 3.229250] mmci-pl18x 12400000.sdcc: Initial signal voltage of 3.3v [ 3.249111] mmc0: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 1 timing 0 […trimmed…] [ 4.392652] mmci-pl18x 12400000.sdcc: irq0 (data+cmd) 00000000 [ 4.392785] mmc0: clock 52000000Hz busmode 2 powermode 2 cs 0 Vdd 21 width 1 timing 1 [ 4.406554] mmc0: starting CMD6 arg 03b70201 flags 0000049d […trimmed…] Now, the MMC properly initializes and later switches to high speed. Thanks to: * Ansuel for maintaining/help with the IPQ806x platform, kernel code * slh for additional debugging and suggestions * dwfreed for confirming newer MMC details, clock frequency * robimarko for device driver debug printing help, clock debugging * Drake for testing and confirmation with their own newer NBG6817 ...and anyone else I missed! Signed-off-by: Shane Synan <digitalcircuit36939@gmail.com> Tested-by: Shane Synan <digitalcircuit36939@gmail.com>
* mediatek: enable bmt on mt7622-rfb1Felix Fietkau2021-12-041-0/+11
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>