aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* bcm4908: backport watchdog and I2C changesRafał Miłecki2022-02-168-13/+141
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 923cc869a6eec7dd6fdf728b2adb05824e4b9ac0)
* bcm4908: backport first 5.18 DTS changesRafał Miłecki2022-02-163-19/+211
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit da8b720b0ecbb6d58f28a31b082b0c53be149a5a)
* bcm4908: backport bcm_sf2 patch for better LED registers supportRafał Miłecki2022-02-163-2/+211
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 840f07e532e081befc2465fd16a0388dd95e55fb)
* bcm4908: backport BCM4908 pinctrl driverRafał Miłecki2022-02-163-0/+747
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit b0145891676faa38f0a5991e3e229aed7b4a9117)
* kernel: bump 5.4 to 5.4.179Hauke Mehrtens2022-02-1270-418/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | Many changes were done in drivers/pinctrl/bcm/pinctrl-bcm2835.c between 5.4.171 and 5.4.179. The following 3 patches do not apply any more: * target/linux/bcm27xx/patches-5.4/950-0316-pinctrl-bcm2835-Add-support-for-BCM2711-pull-up-func.patch This was already integrated in kernel v5.4-rc1, it was never needed. * target/linux/bcm27xx/patches-5.4/950-0328-Revert-pinctrl-bcm2835-Pass-irqchip-when-adding-gpio.patch * target/linux/bcm27xx/patches-5.4/950-0362-pinctrl-bcm2835-Change-init-order-for-gpio-hogs.patch I think these were done to fix the problem which was really fixed in commit 75278f1aff5e ("pinctrl: bcm2835: Change init order for gpio hogs") from v5.4.175 target/linux/generic/backport-5.4/716-v5.5-net-sfp-move-fwnode-parsing-into-sfp-bus-layer.patch Move fwnode_device_is_available to the same position as in kernel 5.10. target/linux/layerscape/patches-5.4/302-dts-0083-arm64-ls1028a-qds-correct-bus-of-rtc.patch Applied in commit 65816c1034769e714edb70f59a33bc5472d9e55f ("arm64: dts: ls1028a-qds: move rtc node to the correct i2c bus") Compile-tested: lantiq/xrx200, bcm27xx/bcm2710 Run-tested: lantiq/xrx200 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: Add support for OpenMesh OM5P-AC v2Sven Eckelmann2022-02-114-34/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Device specifications: ====================== * Qualcomm/Atheros QCA9558 ver 1 rev 0 * 720/600/200 MHz (CPU/DDR/AHB) * 128 MB of RAM * 16 MB of SPI NOR flash - 2x 7 MB available; but one of the 7 MB regions is the recovery image * 2T2R 2.4 GHz Wi-Fi (11n) * 2T2R 5 GHz Wi-Fi (11ac) * 4x GPIO-LEDs (3x wifi, 1x power) * 1x GPIO-button (reset) * external h/w watchdog (enabled by default)) * TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX) * TI tmp423 (package kmod-hwmon-tmp421) for temperature monitoring * 2x ethernet - eth0 + AR8035 ethernet PHY (RGMII) + 10/100/1000 Mbps Ethernet + 802.3af POE + used as LAN interface - eth1 + AR8031 ethernet PHY (RGMII) + 10/100/1000 Mbps Ethernet + 18-24V passive POE (mode B) + used as WAN interface * 12-24V 1A DC * internal antennas This device support is based on the partially working stub from commit 53c474abbdfe ("ath79: add new OF only target for QCA MIPS silicon"). Flashing instructions: ====================== Various methods can be used to install the actual image on the flash. Two easy ones are: ap51-flash ---------- The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be used to transfer the image to the u-boot when the device boots up. initramfs from TFTP ------------------- The serial console must be used to access the u-boot shell during bootup. It can then be used to first boot up the initramfs image from a TFTP server (here with the IP 192.168.1.21): setenv serverip 192.168.1.21 setenv ipaddr 192.168.1.1 tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr The actual sysupgrade image can then be transferred (on the LAN port) to the device via scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/ On the device, the sysupgrade must then be started using sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin Signed-off-by: Sven Eckelmann <sven@narfation.org> (cherry picked from commit 1699c1dc7f26b332f868d338457abfbe716d6ba0)
* lantiq: flag FritzBox 7360 family buttons active-lowDavid Bauer2022-01-151-2/+2
| | | | | | | | | All buttons of the FritzBox 7360 family are active-low, not active-high. Corrent the GPIO flag. This fixes release triggers upon push of a button. Reported-by: Jan-Niklas Burfeind <git@aiyionpri.me> Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 31545378641d45f5fac5ffc408a31b700b80121f)
* kernel: bump 5.4 to 5.4.171David Bauer2022-01-1316-30/+30
| | | | | | | Compile-tested: ath79-generic ipq40xx-generic Run-tested: ath79-generic Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: rb912: fix pll init issuesKoen Vandeputte2022-01-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It was reported that some rb912 boards (ar934x) have issues with some ethernet speeds. Investigation shows that the board failed to adapt the ethernet pll values as shown here: [ 5.284359] ag71xx 19000000.eth: failed to read pll-handle property added custom prints in code and triggering a link switch: [ 62.821446] Atheros AG71xx: fast reset [ 62.826442] Atheros AG71xx: update pll 2 [ 62.830494] Atheros AG71xx: no pll regmap! Comparison with another very similar board (rb922 - QCA955x) showed a missing reference clock frequency in dts, which seems to cause a pll init issue. Unfortunately, no errors are printed when this occurs. Adding the frequency property fixes the pll init as it can be parsed now by the ethernet driver. [ 55.861407] Atheros AG71xx: fast reset [ 55.866403] Atheros AG71xx: update pll 2 [ 55.870462] Atheros AG71xx: ath79_set_pllval: regmap: 0x81548000, pll_reg: 0x2c, pll_val: 0x02000000 Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> (cherry picked from commit 2a000546187122c86143c97337af4d5beacc4908)
* kernel: backport workaround for Realtek RTL8672 and RTL9601C chipsVladimir Markovets2022-01-0814-37/+392
| | | | | | | | | | | | | | | Adds support for GPON SFP modules based on the Realtek RTL8672 and RTL9601C chips, including but not limited to: * V-SOL V2801F * C-Data FD511GX-RM0 * OPTON GP801R * BAUDCOM BD-1234-SFM * CPGOS03-0490 v2.0 * Ubiquiti U-Fiber Instant * EXOT EGS1 Signed-off-by: Vladimir Markovets <abam_a@yahoo.com> (cherry picked from commit f032601ed7d70fe1f468219b68750230b6ea1906)
* mvebu: remove patch that was applied into linux stableMarek Behún2022-01-082-51/+1
| | | | | | | | | | | | | | The patch PCI: aardvark: Don't touch PCIe registers if no card connected was applied into Linux stable version 5.4.163. Remove it from patches-5.4. (It applied even though it was applied already, resulting in repeated code.) Fixes: 14940aee4566 ("kernel: bump 5.4 to 5.4.163") Signed-off-by: Marek Behún <marek.behun@nic.cz>
* bcm4908: include ATF in bootfs imagesRafał Miłecki2022-01-032-0/+16
| | | | | | | It's required for proper booting. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 65974aa18bf49005509e0c31ee3f3aa6fb186015)
* kernel: backport support for multicolor & RGB LEDs to 5.4Rafał Miłecki2022-01-033-0/+153
| | | | | | | This is a requirement for backporting DT files defining such LEDs. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 85ad48c9579c0482c98fc6b69e885102511e9194)
* bcm4908: sysupgrade: add pkgtb format supportRafał Miłecki2022-01-031-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> (cherry picked from commit 5f05795aa7716879e46fabbd0c51ff20ef9f13bf)
* bcm4908: add uboot-envtools to default packagesRafał Miłecki2022-01-031-1/+1
| | | | | | | It's required by sysupgrade to access UBI metadata partitions. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 444b4ea4a479d76761ee4833cb340b442dac662a)
* bcm4908: add fdt-utils to default packagesRafał Miłecki2022-01-031-1/+1
| | | | | | | It's required by sysupgrade. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 30b93672ec48d247fcd86b5bca283423db5250b9)
* bcm4908: sysupgrade: refactor handling different firmware formatsRafał Miłecki2022-01-031-32/+76
| | | | | | | | | | | This results in setting format specific data (format info, extract commands) in a single function. It should help maintaining sysupgrade code. This change has been tested on Asus GT-AC5300 and Netgear R8000P. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 30b168b9b8451d6165833cee75019ef7dbfd8a2e)
* ipq40xx: specify FritzBox 7530 LAN port label numbersRafał Miłecki2022-01-031-1/+1
| | | | | | | | | | This helps managing LAN ports. Ref: https://forum.openwrt.org/t/openwrt-21-02-0-second-release-candidate/98026/121 Fixes: 95b0c07a618f ("ipq40xx: add support for FritzBox 7530") Cc: David Bauer <mail@david-bauer.net> Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 3342d574be08db8926273678291497769d2365e9)
* mvebu: puzzle: wan LED and fix default networkDaniel Golle2022-01-012-1/+21
| | | | | | | | | | Fix default network configuration of the Puzzle-M902 so all LAN ports are included in the LAN bridge. Setup network LED to indicate WAN port link status, like vendor firmware does as well. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit f9782f5bcd13e419abf9c84017ada27fa9764011)
* mvebu: enable Aquantia phy driver for Puzzle devicesDaniel Golle2022-01-013-15/+16
| | | | | | | | | | | | | | While on Linux 5.10 this fixes Ethernet link status on all ports and makes 2.5G ports usable in 2.5G and 1G full-duplex mode, when using Linux 5.4 and backported Aquantia phy patches, only 1G mode works on the 2.5G ports and link speed and duplex are not reported correctly from the phy in case of 2.5G. The reasons are probably trivial, but hard to find. As having all ports work at least in 1G speed instead of having them not work at all is still better, push this anyway for now. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit f81a06408eec28d479f699bd762b703ac65e2150)
* mvebu: add id for AQR112 Ethernet phy variantsDaniel Golle2022-01-011-0/+55
| | | | | | Add ids for AQR112R and AQR112C 2.5G Ethernet PHYs. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mvebu: import patch enabling AQR113 PHYDaniel Golle2022-01-011-0/+43
| | | | | | Add PHY ID for the Aquantia AQR113 PHY. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mvebu: import patch enabling AQR112 and AQR412 PHYDaniel Golle2022-01-011-0/+144
| | | | | | | | Copy and refresh patch enabling AQR112 and AQR412 Ethernet PHY from layerscape (5.4) target to mvebu (5.4) as AQR112 can also be found in IEI Puzzle devices. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mvebu: puzzle-m901: add LEDs, fan and reset buttonDaniel Golle2022-01-011-0/+84
| | | | | | | | Wire up MCU driver for LEDs, fan and temperature sensor, and add GPIO reset button just like on the M902 also on the Puzzle M901. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 3684b494ddd540b811de44497f0d11309bfd1911)
* mvebu: puzzle-m902: add GPIO reset buttonDaniel Golle2022-01-011-0/+11
| | | | | | | | Add reset button to device tree so it has the function expected from usual OpenWrt devices. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit ddad936fc60ced1783232af3eddee75347f0d08f)
* mvebu: puzzle-mcu: improve led driverDaniel Golle2022-01-011-51/+75
| | | | | | | | | Set blinking mode using scheduled work instead of blocking which may result in deadlocks. Add dynamic kprintf debugging hexdumps of all MCU rx and tx. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 7e4c1cca8a137ca4fe5132b8c058e52ba82defac)
* mvebu: puzzle-m902: add driver for MCU driving LEDs, fan and buzzerDaniel Golle2022-01-0110-1/+2451
| | | | | | | | | | | | 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> (cherry picked from commit f0c0b18234418c6ed6d35fcf1c6e5b0cbdceed49 with commit 962c58558010bd302793ac24284c4f9db8fe287f squashed)
* linux-firmware: update to version 20210315 and trim down broadcom FWJosef Schlehofer2021-12-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In there linux-firmware repository located in kernel, there were removed old broadcom firmware [1] as they seem to be likely vulnerable to KrØØk vulnerability (CVE-2019-15126), because Cypress released new versions and superseded by it. In OpenWrt, there is Makefile for cypress-firmware, which already provides the same named packages like it was in linux-firmware. For example, cypress-firmware-43455-sdio provides brcmfmac-firmware-43455-sdio [2]. Changelog between 2020118 and 20210315: 3568f96 (tag: 20210315) linux-firmware: Update firmware file for Intel Bluetooth AX210 9e96e50 linux-firmware: Update firmware file for Intel Bluetooth AX200 c8d0db5 linux-firmware: Update firmware file for Intel Bluetooth AX201 5e2a387 Merge tag 'iwlwifi-fw-2021-03-05-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware into main b0d3e31 rtw88: 8822c: Update normal firmware to v9.9.6 5a2fd63 iwlwifi: add new FWs from core59-66 release 4f54906 iwlwifi: update 9000-family firmwares 11b7607 iwlwifi: update 7265D firmware e425f76 Merge branch 'add-silabs-wf200' of github.com:jerome-pouiller/linux-firmware into main 5ecd13f Mellanox: Add new mlxsw_spectrum firmware xx.2008.2406 58fb90a linux-firmware: add frimware for mediatek bluetooth chip (MT7921) e576a1b rtw89: 8852a: add firmware v0.9.12.2 048a7cb WHENCE: add missing symlink for BananaPi M3 aa6c6e7 Add symlink for BananaPi M2 to brcmfmac43430-sdio config 58825f7 brcm: Fix Raspberry Pi 4B NVRAM file 520f71b silabs: add new firmware for WF200 f7915a0 amdgpu: add initial firmware for green sardine 80cb579 rtw88: RTL8822C: Update normal firmware to v9.9.5 b79d239 (tag: 20210208) Merge branch 'DG1-guc-huc-ADLS-dmc' of git://anongit.freedesktop.org/drm/drm-firmware into main 66970e1 Merge branch 'qcom-rb5' of https://github.com/lumag/linux-firmware into main cf6fc2b Mellanox: Add new mlxsw_spectrum firmware xx.2008.2304 391fd50 linux-firmware: add firmware for MT7921 c5e3240 rtw88: RTL8821C: Update firmware to v24.8 d33d2d8 linux-firmware: Update firmware file for Intel Bluetooth AX210 3027ae4 linux-firmware: Update firmware file for Intel Bluetooth AX200 13979c3 linux-firmware: Update firmware file for Intel Bluetooth AX201 348d8a9 i915: Add DMC v2.01 for ADL-S f33f1f7 i915: Add HuC v7.7.1 for DG1 6a422f5 i915: Add GuC v49.0.1 for DG1 df822a8 qcom: Add venus firmware files for VPU-1.0 11a1db1 qcom: Add SM8250 Compute DSP firmware e55248b qcom: Add SM8250 Audio DSP firmware da74cc6 qcom: add firmware files for Adreno a650 0578970 brcm: Link RPi4's WiFi firmware with DMI machine name. d528862 brcm: Add NVRAM for Vamrs 96boards Rock960 870b805 brcm: Update Raspberry Pi 3B+/4B NVRAM for downstream changes a28a590 cypress: Fix link direction 060ad8b cypress: Link the new cypress firmware to the old brcm files 0f0aefd brcm: remove old brcm firmwares that have newer cypress variants f580dc2 rtl_bt: Update RTL8822C BT(UART I/F) FW to 0x059A_25CB 7df2220 rtl_bt: Update RTL8822C BT(USB I/F) FW to 0x099a_7253 e79405d rtl_bt: Add firmware and config files for RTL8852A BT USB chip ef3813d rtl_bt: Update RTL8821C BT(USB I/F) FW to 0x829a_7644 646f159 (tag: 20201218) make AP6212 in bananpi m2 plus/zero work 28185ec linux-firmware: Update firmware file for Intel Bluetooth AX210 23da869 linux-firmware: Update firmware file for Intel Bluetooth AX200 2099248 linux-firmware: Update firmware file for Intel Bluetooth AX201 94de5e2 linux-firmware: Update firmware file for Intel Bluetooth 9560 27a3689 linux-firmware: Update firmware file for Intel Bluetooth 9260 5c3c4af Merge branch 'lt9611uxc' of https://github.com/lumag/linux-firmware into main aaed4a8 Merge branch 'v1.1.6' of https://github.com/irui-wang/linux_fw_vpu_v1.1.6 into main d8c9865 Merge branch 'master' of https://github.com/sampnimm/linux-firmware-BT into main 63ab3db linux-firmware: add firmware for Lontium LT9611UXC DSI to HDMI bridge 0fe0fe0 mediatek: update MT8173 VPU firmware to v1.1.6 1a08ec9 QCA : Updated firmware files for WCN3991 7455a36 Merge branch 'guc_v49' of git://anongit.freedesktop.org/drm/drm-firmware into main 7eb7fda linux-firmware: Update firmware file for Intel Bluetooth AX210 5cbf459 linux-firmware: Update firmware file for Intel Bluetooth AX210 c487f7d i915: Add GuC firmware v49.0.1 for all platforms d9ffb07 i915: Remove duplicate KBL DMC entry b362fd4 Mellanox: Add new mlxsw_spectrum firmware xx.2008.2018 bc9cd0b linux-firmware: Update AMD SEV firmware 54c797a amdgpu: add sienna cichlid firmware for 20.45 1340e9c amdgpu: update vega20 firmware for 20.45 b260c9c amdgpu: update vega12 firmware for 20.45 d683bd5 amdgpu: update vega10 firmware for 20.45 7c81cc2 amdgpu: update renoir firmware for 20.45 3619e57 amdgpu: update navi14 firmware for 20.45 68ce0fb amdgpu: update navi12 firmware for 20.45 e889b80 amdgpu: update navi10 firmware for 20.45 f4edc15 amdgpu: update raven2 firmware for 20.45 e71210f amdgpu: update raven firmware for 20.45 [1] https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=0f0aefd733f70beae4c0246edbd2c158d5ce974c [2] https://github.com/openwrt/openwrt/blob/eeda8652f1655d4f9c11e9c9f51ddcd3377d119a/package/firmware/cypress-firmware/Makefile#L124 Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com> (cherry picked from commit ff2bb16730f629d54bde8ba85c75d8614741e3fd) (removed sinovoip_bananapi-m2-berry) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mvebu: Turris Omnia: use SFP module, if presentKlaus Kudielka2021-12-291-1/+16
| | | | | | | | | | | | | | | | | Follow the recommendations stated in the Turris Omnia DTS for eth2: "In case SFP module is present, U-Boot has to enable the sfp node above, remove phy-handle property, and add managed = "in-band-status" property." The boot script is written in a way, that it works for all U-Boot versions deployed by the vendor so far (2015.10-rc2, 2019.07). Reviewed-by: Noci <noci@noci.work> Reviewed-by: Justin van Steijn <jvs@fsfe.org> Reviewed-by: Nico Rikken <nico@nicorikken.eu> Reviewed-by: Julius Schwartzenberg <julius.schwartzenberg@gmail.com> Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com> (cherry picked from commit 23d2690e5a5410576b587bc96e2c2cf5fc693927)
* mvebu: backport Turris Omnia DTS changes to 5.4Klaus Kudielka2021-12-296-3/+249
| | | | | | | | | | | | Kernel 5.4 receives a reduced set, just to make the SFP cage work. While we are at it, move the patches accepted upstream to the 0xx series. Reviewed-by: Noci <noci@noci.work> Reviewed-by: Justin van Steijn <jvs@fsfe.org> Reviewed-by: Nico Rikken <nico@nicorikken.eu> Reviewed-by: Julius Schwartzenberg <julius.schwartzenberg@gmail.com> Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com> (cherry picked from commit 8138cb8737d1475e6e8d57393500f30384e75a82)
* kernel: bump 5.4 to 5.4.168Hauke Mehrtens2021-12-2824-54/+54
| | | | | | | | | All updated automatically. Compile-tested on: lantiq/xrx200, armvirt/64 Runtime-tested on: lantiq/xrx200, armvirt/64 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* apm821xx: fix WD MyBook Live DUO USB-PortChristian Lamparter2021-12-272-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | where to begin? the USB regulator settings were just a part of the issue. With them changed, according to the forum it still failed when a USB device was connected to the port with: dwc2 4bff80000.usbotg: dwc2_restore_global_registers: no global registers to restore dwc2 4bff80000.usbotg: dwc2_exit_partial_power_down: failed to restore registers dwc2 4bff80000.usbotg: exit partial_power_down failed dwc2 4bff80000.usbotg: HC died; cleaning up One clue was found upstream in commit cc10ce0c51b1 ("usb: dwc2: disable power_down on Amlogic devices") |Disable power_down by setting the parameter to |DWC2_POWER_DOWN_PARAM_NONE. This fixes a problem on various Amlogic |Meson SoCs where USB devices are only recognized when plugged in before |booting Linux. A hot-plugged USB device was not detected even though the |device got power (my USB thumb drive for example has an LED which lit |up). |[...] the same method proposed there worked with APM821xx's USB IP-Core. Link: https://forum.openwrt.org/t/wd-my-book-duo-usb/111926/2 Reported-by: thwe and takimata (openwrt forum) Fixes: b70d3557e05 ("apm821xx: clean up gpio-hogs") Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (cherry picked from commit 832b9cbd741cdb6cc8483b2cddfef6de000ec61d)
* kernel: backport the upstream implementation of threaded NAPI to 5.4Felix Fietkau2021-12-2112-376/+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> (cherry-picked from commit 01bebc070c35d87c24a594fff7ee1911965759aa)
* bcm53xx: sysupgrade: fix support for Luxul's legacy firmware formatRafał Miłecki2021-12-131-1/+3
| | | | | | Fixes: c808c55b398c ("bcm53xx: sysupgrade: refactor handling different firmware formats") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 3bcf3e8143160e447c22c0ac3fa66fbcf6a59eef)
* bcm4908: build chk image for Netgear RAXE500Rafał Miłecki2021-12-131-1/+1
| | | | | | Fixes: 63ba3eaccdde ("bcm4908: start working on Netgear RAXE500 image") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 0e8a5acf6eb4c689b6deed2146010b5b2c54fa78)
* bcm4908: start working on Netgear RAXE500 imageRafał Miłecki2021-12-132-0/+36
| | | | | | | | | bootfs still needs more work before it's ready. For some unknown reason model RAXE500 uses board id RAX220. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 63ba3eaccddeb8058b0fabd69197e650735573bc)
* bcm4908: enable MTD_CMDLINE_PARTSRafał Miłecki2021-12-131-0/+1
| | | | | | | | It's needed to support devices with U-Boot. That bootloader passes MTD layout using cmdline. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 21d28adbc1cc98c55858a73d62b9bf89c3874b08)
* bcm4908: continue work on images for U-Boot based devicesRafał Miłecki2021-12-133-0/+96
| | | | | | | It still isn't ready though - more data needs to be added to the bootfs. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 494c033f9cbad67ea2cee3860894bdfffea65109)
* bcm4908: backport upstream DT commitsRafał Miłecki2021-12-137-8/+234
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit d745835ae19caf1999924a434abd25e92cce4343)
* bcm4908: add watchdog supportRafał Miłecki2021-12-133-0/+77
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 9565bd9bd61f026effce7ebfe17d413d1adb032f)
* bcm4908: start work on images for devices using U-BootRafał Miłecki2021-12-132-0/+36
| | | | | | | | | | | | | | | | | | | | | New BCM4908 family based routers will use U-Boot bootloader. That will require using a totally different firmware format. Kernel has to be put in a FIT image. OpenWrt has some helpers for generating .its files but they don't fit BCM4908 requirements and there is no simple way of extending any of them. The best solution seems to be storing an .its template. BCM4908 bootfs may: 1. contain extra binaries (other than kernel & DTB) 2. include multiple DTB files 3. store device specific U-Boot configurations with custom properties Such setups are too complex to generate using shell script. Raw .its file on the other hand seems quire clean & reasonable. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit a02c971dff934a11ddadf7ffd850dabcab5a3cdf)
* bcm53xx: sysupgrade: refactor handling different firmware formatsRafał Miłecki2021-12-131-165/+123
| | | | | | | | | | | | | | | | | | | List of supported formats grew over time and implementation got a bit messy. There are multiple functions with format-specific parameters and commands. Refactor it by making platform_identify() setup all required info right after detecting firmware format. This simplifies formats handling in platform_other_check_image() and platform_do_upgrade() a lot. This has been tested on: 1. SmartRG SR400ac (TRX): non-NAND sysupgrade 2. Netgear R8000 (CHK): NAND aware and standard sysupgrade-s 3. D-Link DIR-885L (Seama): NAND aware and standard sysupgrade-s 4. Luxul XWR-3150 (LXL): NAND aware and standard sysupgrade-s Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 80041dea7094f46f9ef5402964c95b0a5dcd5f28)
* bcm53xx: sysupgrade: simplify extracting image from Seama sealRafał Miłecki2021-12-131-15/+3
| | | | | | | Use "oseama extract" which supports now writing to stdout. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit e7bd6cce4c382e33a62c462bf07bafba23b22e1a)
* bcm53xx: enable Linksys EA6300 & EA9200 buildsRafał Miłecki2021-12-131-3/+0
| | | | | | | | | | | Both should be supported since: 1. Adding NVMEM driver for NVRAM 2. Using NVRAM info for determining active firmware partition Linksys EA9500 uses very similar design and works fine. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 287257d676b1120f388120f1dc259e4eefd3b163)
* bcm53xx: backport the latest upstream DT changesRafał Miłecki2021-12-136-1/+386
| | | | | | | | | This includes: 1. BCM5301X changes from 5.14 and queued 5.15 stuff 2. NSP changes from 5.11 - 5.15 for kernel 5.10 Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit bce00f47e5d67e5a33e9d7fa137cbe0a5d3d334b)
* bcm53xx: fix Luxul XWR-3150 LAN ports numberingRafał Miłecki2021-12-131-1/+1
| | | | | | | | Port numbers were reverted. Fixes: c459a6bf482f ("bcm53xx: add support for Luxul FullMAC WiFi devices") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 53546c3e945f5a0a8f8c62311f48c6f21c9ab0a8)
* kernel: bump 5.4 to 5.4.163Hauke Mehrtens2021-12-12110-845/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed upstreamed: target/linux/mvebu/patches-5.4/001-PCI-aardvark-Wait-for-endpoint-to-be-ready-before-tr.patch target/linux/mvebu/patches-5.4/016-PCI-aardvark-Train-link-immediately-after-enabling-t.patch target/linux/mvebu/patches-5.4/017-PCI-aardvark-Improve-link-training.patch target/linux/mvebu/patches-5.4/018-PCI-aardvark-Issue-PERST-via-GPIO.patch target/linux/mvebu/patches-5.4/020-arm64-dts-marvell-armada-37xx-Set-pcie_reset_pin-to-.patch The following patch does not apply to upstream any more and needs some more work to make it work fully again. I am not sure if we are still able to set the UART to a none standard baud rate. target/linux/ath79/patches-5.4/921-serial-core-add-support-for-boot-console-with-arbitr.patch These patches needed manually changes: target/linux/generic/pending-5.4/110-ehci_hcd_ignore_oc.patch target/linux/ipq806x/patches-5.4/0065-arm-override-compiler-flags.patch target/linux/layerscape/patches-5.4/804-crypto-0016-MLKU-114-1-crypto-caam-reduce-page-0-regs-access-to-.patch target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch All others updated automatically. Compile-tested on: malta/le, armvirt/64, lantiq/xrx200 Runtime-tested on: malta/le, armvirt/64, lantiq/xrx200 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: add support for Xiaomi AIoT Router AC2350Evgeniy Isaev2021-12-125-1/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Device specifications * SoC: QCA9563 @ 775MHz (MIPS 74Kc) * RAM: 128MiB DDR2 * Flash: 16MiB SPI-NOR (EN25QH128) * Wireless 2.4GHz (SoC): b/g/n, 3x3 * Wireless 5Ghz (QCA9988): a/n/ac, 4x4 MU-MIMO * IoT Wireless 2.4GHz (QCA6006): currently unusable * Ethernet (AR8327): 3 LAN × 1GbE, 1 WAN × 1GbE * LEDs: Internet (blue/orange), System (blue/orange) * Buttons: Reset * UART: through-hole on PCB ([VCC 3.3v](RX)(GND)(TX) 115200, 8n1) * Power: 12VDC, 1,5A MAC addresses map (like in OEM firmware) art@0x0 88:C3:97:*:57 wan/label art@0x1002 88:C3:97:*:2D lan/wlan2g art@0x5006 88:C3:97:*:2C wlan5g Obtain SSH Access 1. Download and flash the firmware version 1.3.8 (China). 2. Login to the router web interface and get the value of `stok=` from the URL 3. Open a new tab and go to the following URL (replace <STOK> with the stok value gained above; line breaks are only for easier handling, please put together all four lines into a single URL without any spaces): http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev ?bssid=any&user_id=any&ssid=-h%0Anvram%20set%20ssh_en%3D1%0Anvram%20commit %0Ased%20-i%20%27s%2Fchannel%3D.%2A%2Fchannel%3D%5C%5C%22debug%5C%5C%22%2F g%27%20%2Fetc%2Finit.d%2Fdropbear%0A%2Fetc%2Finit.d%2Fdropbear%20start%0A 4. Wait 30-60 seconds (this is the time required to generate keys for the SSH server on the router). Create Full Backup 1. Obtain SSH Access. 2. Create backup of all flash (on router): dd if=/dev/mtd0 of=/tmp/ALL.backup 3. Copy backup to PC (on PC): scp root@192.168.31.1:/tmp/ALL.backup ./ Tip: backup of the original firmware, taken three times, increases the chances of recovery :) Calculate The Password * Locally using shell (replace "12345/E0QM98765" with your router's serial number): On Linux printf "%s6d2df50a-250f-4a30-a5e6-d44fb0960aa0" "12345/E0QM98765" | \ md5sum - | head -c8 && echo On macOS printf "%s6d2df50a-250f-4a30-a5e6-d44fb0960aa0" "12345/E0QM98765" | \ md5 | head -c8 * Locally using python script (replace "12345/E0QM98765" with your router's serial number): wget https://raw.githubusercontent.com/eisaev/ax3600-files/master/scripts/calc_passwd.py python3.7 -c 'from calc_passwd import calc_passwd; print(calc_passwd("12345/E0QM98765"))' * Online https://www.oxygen7.cn/miwifi/ Debricking (lite) If you have a healthy bootloader, you can use recovery via TFTP using programs like TinyPXE on Windows or dnsmasq on Linux. To switch the router to TFTP recovery mode, hold down the reset button, connect the power supply, and release the button after about 10 seconds. The router must be connected directly to the PC via the LAN port. Debricking You will need a full dump of your flash, a CH341 programmer, and a clip for in-circuit programming. Install OpenWRT 1. Obtain SSH Access. 2. Create script (on router): echo '#!/bin/sh' > /tmp/flash_fw.sh echo >> /tmp/flash_fw.sh echo '. /bin/boardupgrade.sh' >> /tmp/flash_fw.sh echo >> /tmp/flash_fw.sh echo 'board_prepare_upgrade' >> /tmp/flash_fw.sh echo 'mtd erase rootfs_data' >> /tmp/flash_fw.sh echo 'mtd write /tmp/openwrt.bin firmware' >> /tmp/flash_fw.sh echo 'sleep 3' >> /tmp/flash_fw.sh echo 'reboot' >> /tmp/flash_fw.sh echo >> /tmp/flash_fw.sh chmod +x /tmp/flash_fw.sh 3. Copy `openwrt-ath79-generic-xiaomi_aiot-ac2350-squashfs-sysupgrade.bin` to the router (on PC): scp openwrt-ath79-generic-xiaomi_aiot-ac2350-squashfs-sysupgrade.bin \ root@192.168.31.1:/tmp/openwrt.bin 4. Flash OpenWRT (on router): /bin/ash /tmp/flash_fw.sh & 5. SSH connection will be interrupted - this is normal. 6. Wait for the indicator to turn blue. Signed-off-by: Evgeniy Isaev <isaev.evgeniy@gmail.com> [improve commit message formatting slightly] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> (cherry picked from commit 6c148116f778bfd2db88476cee4753b32538eafe)
* ramips: fix tl-mr3020-v3 switch topology to configure vlans via luciSergey V. Lobanov2021-12-051-1/+4
| | | | | | | | | | | Currently it is not possible to configure VLANs via LUCI on tplink tl-mr3020-v3. This patch fixes switch topology for the LUCI interface. Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in> [copied commit message from github PR] Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (cherry picked from commit e22c91e144d63ccbd7b76b370a53652c48db1d6f)
* lantiq: set maximum kernel size for P2812HNUF3Mathias Kresin2021-11-271-0/+2
| | | | | | | | | | | The board has a fixed size kernel partition but do not limit the kernel size during image building. Disable image building for both boards as well, since the kernel of the last release as well as master are to big to fit into the 2 MByte kernel partition. Signed-off-by: Mathias Kresin <dev@kresin.me>