aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* bcm53xx: sysupgrade: refactor handling different firmware formatsRafał Miłecki2021-12-021-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>
* bcm53xx: sysupgrade: simplify extracting image from Seama sealRafał Miłecki2021-12-021-15/+3
| | | | | | Use "oseama extract" which supports now writing to stdout. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* lantiq: xway_legacy: disable unused switchesAleksander Jan Bajkowski2021-11-301-8/+0
| | | | | | | | | | | | | | | | | | | | | The xway_legacy subtarget only supports 5 devices. Most compiled switch drivers are unused by any of these devices. The same drivers are compiled into the xway subtarget. They were probably copied from there when creating this subtarget. Switches used by devices: Arcadyan ARV4518PWR01 Realtek RTL8306SD Arcadyan ARV4518PWR01A Realtek RTL8306SD Arcadyan ARV4520PW Infineon ADM6996I Arcadyan ARV4525PW only PHY(IC+ IP101A) Arcadyan ARV452CQW Realtek RTL8306 The CONFIG_ETHERNET_PACKET_MANGLE symbol has also been disabled, as it is only needed by the driver for AR8216. Reduces kernel size by 19.9 kB. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* mpc85xx: Fix HiveAP-330 nvmem mac loaderMartin Kennedy2021-11-301-48/+54
| | | | | | | | | | | | | | | | We actually need to enclose the whole section of partitions in a `partitions { ... }` to assign it a `compatible = "fixed-partitions"; otherwise the partition referred to by `hwinfo` won't be registered when bringing up MTD partitions, for example as per: - <https://forum.openwrt.org/t/tp-link-c2600-missing-default-mac-mtd-partition-in-snapshot/103945/6> - commit e2b03c16eb44 ("ipq806x: add missing enclosing partitions block for TP-Link C2600")' Fixes: 8ec21d6bb210 ("mpc85xx: convert mtd-mac-address to nvmem implementation") Signed-off-by: Martin Kennedy <hurricos@gmail.com> [minor beautification] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* bcm4908: Deactivate pci featureHauke Mehrtens2021-11-291-1/+1
| | | | | | | | | | | This target does not activate CONFIG_PCI kernel configuration option, do not activate the PCI feature. This will deactivate some PCI drivers which are not building without PCI support in the kernel. If PCI_SUPPORT or PCIE_SUPPORT are activated in the kernel configuration the feature flag will be automatically set by the build system again. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Deactivate B53 symbols in generic configurationHauke Mehrtens2021-11-298-21/+10
| | | | | | | | | Deactivate all the symbols of the B53 DSA driver in the generic kernel configuration. Multiple targets are now using this drivers and they only need some of the options. This fixes the bcm4908 build which didn't deactivate all of the options. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* sunxi: remove kmod-rtc-sunxi for unsupported devicesChukun Pan2021-11-291-10/+10
| | | | | | | | | | | | | | | | From driver source: { .compatible = "allwinner,sun4i-a10-rtc", .data = &data_year_param[0] }, { .compatible = "allwinner,sun7i-a20-rtc", .data = &data_year_param[1] }, The rtc-sunxi module only supports allwinner a10 and a20 SoCs, other SoCs in the cortexa7 and cortexa53 subtarget using the CONFIG_RTC_DRV_SUN6I driver which is compiled into the kernel binary, so remove this package for these unsupported devices. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* realtek: netgear-gigabit: Add gpio-restart nodeSander Vanheule2021-11-281-0/+6
| | | | | | | | | | | | | | | | The Netgear GS110TPP v1 switch cannot reliably perform cold reboots using the system's internal reset controller. On this device, and the other supported Netgear switches, internal GPIO line 13 is connected to the system's hard reset logic. Expose this GPIO on all systems to ensure restarts work properly. Cc: Raylynn Knight <rayknight@me.com> Cc: Michael Mohr <akihana@gmail.com> Cc: Stijn Segers <foss@volatilesystems.org> Cc: Stijn Tintel <stijn@linux-ipv6.be> Signed-off-by: Sander Vanheule <sander@svanheule.net> Tested-by: Bjørn Mork <bjorn@mork.no>
* realtek: Enable gpio-restart driverSander Vanheule2021-11-281-0/+1
| | | | | | | | Add the gpio-restart driver to the realtek build. This way devices, which cannot reliably perform resets using the SoC's internal reset logic, can use a GPIO line to drive the SoC's hard reset input. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: add missing GPIO irq propertiesSander Vanheule2021-11-281-0/+4
| | | | | | | | | The internal GPIO controller on RTL838x is also an IRQ controller, which requires the 'interrupt-controller' and '#interrupts-cells' properties to be present in the device tree. Reported-by: INAGAKI Hiroshi <musashino.open@gmail.com> Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: use full range of assigned MAC addressesBjørn Mork2021-11-281-3/+6
| | | | | | | | | | Some devices are assigned globally unique MAC addresses for all ports. These are stored by U-Boot in the second U-Boot enviroment ("sysinfo") as a range of start and end address. Use the full range if provided. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* realtek: revert to "standard" management configurationBjørn Mork2021-11-281-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default management interface should be easy to find for users doing "blind" installations without console access. There are already multiple examples in the forum of advanced early adopters having problems locating the management interface after installing OpenWrt. Requiring tagged VLAN configration to access the initial management interface creates unnecessary hassle at best. Errors on the other end are close to impossible to debug without console access, even for advanced users. Less advanced users might have problems with the concept of VLAN tagging. Limiting management access to a single arbitrary port among up to 52 possible LAN ports makes this even more difficult, for no reason at all. Users might have reasons to use a different port for management. And they might even have difficulties using the OpenWrt selected one. The port might be the wrong type for their management link (e.g copper instead of fibre). Or they might depend on PoE power from a device which they can't reconfigure. User expectations will be based on - OpenWrt defaults for other devices - stock firmware default for the device in question - common default behaviour of similar devices All 3 cases point to a static IP address accessible on the native VLAN of any LAN port. A switch does not have any WAN port. All ports are LAN ports. This changes the default network configuration in line with these expectations. Cc: John Crispin <john@phrozen.org> Signed-off-by: Bjørn Mork <bjorn@mork.no> Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
* uboot-omap: Remove omap3_overo configurationHauke Mehrtens2021-11-281-1/+1
| | | | | | | | | | | The configs/omap3_overo_defconfig file was removed from upstream U-Boot in commit ed3294d6d1f9 ("arm: Remove overo board"). Remove it in OpenWrt too. If someone needs this please add it also to upstream U-Boot. This fixes the compile of the omap target. Fixes: ffb807ec90d3 ("omap: update u-boot to 2021.07") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Add extra kernel configuration options for omapHauke Mehrtens2021-11-281-0/+2
| | | | | | This fixes the build on omap. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ipq40xx: Add support for Teltonika RUTX10Felix Matouschek2021-11-288-3/+322
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the Teltonika RUTX10. This device is an industrial DIN-rail router with 4 ethernet ports, 2.4G/5G dualband WiFi, Bluetooth, a USB 2.0 port and two GPIOs. The RUTX series devices are very similiar so common parts of the DTS are kept in a DTSI file. They are based on the QCA AP-DK01.1-C1 dev board. See https://teltonika-networks.com/product/rutx10 for more info. Hardware: SoC: Qualcomm IPQ4018 RAM: 256MB DDR3 SPI Flash 1: XTX XT25F128B (16MB, NOR) SPI Flash 2: XTX XT26G02AWS (256MB, NAND) Ethernet: Built-in IPQ4018 (SoC, QCA8075), 4x 10/100/1000 ports WiFi 1: Qualcomm QCA4019 IEEE 802.11b/g/n Wifi 2: Qualcomm QCA4019 IEEE 802.11a/n/ac USB Hub: Genesys Logic GL852GT Bluetooth: Qualcomm CSR8510 (A10U) LED/GPIO controller: STM32F030 with custom firmware Buttons: Reset button Leds: Power (green, cannot be controlled) WiFi 2.4G activity (green) WiFi 5G activity (green) MACs Details verified with the stock firmware: eth0: Partition 0:CONFIG Offset: 0x0 eth1: = eth0 + 1 radio0 (2.4 GHz): = eth0 + 2 radio1 (5.0 GHz): = eth0 + 3 Label MAC address is from eth0. The LED/GPIO controller needs a separate kernel driver to function. The driver was extracted from the Teltonika GPL sources and can be found at following feed: https://github.com/0xFelix/teltonika-rutx-openwrt USB detection of the bluetooth interface is sometimes a bit flaky. When not detected power cycle the device. When the bluetooth interface was detected properly it can be used with bluez / bluetoothctl. Flash instructions via stock web interface (sysupgrade based): 1. Set PC to fixed ip address 192.168.1.100 2. Push reset button and power on the device 3. Open u-boot HTTP recovery at http://192.168.1.1 4. Upload latest stock firmware and wait until the device is rebooted 5. Open stock web interface at http://192.168.1.1 6. Set some password so the web interface is happy 7. Go to firmware upgrade settings 8. Choose openwrt-ipq40xx-generic-teltonika_rutx10-squashfs-nand-factory.ubi 9. Set 'Keep settings' to off 10. Click update, when warned that it is not a signed image proceed Return to stock firmware: 1. Set PC to fixed ip address 192.168.1.100 2. Push reset button and power on the device 3. Open u-boot HTTP recovery at http://192.168.1.1 4. Upload latest stock firmware and wait until the device is rebooted Note: The DTS expects OpenWrt to be running from the second rootfs partition. u-boot on these devices hot-patches the DTS so running from the first rootfs partition should also be possible. If you want to be save follow the instructions above. u-boot HTTP recovery restores the device so that when flashing OpenWrt from stock firmware it is flashed to the second rootfs partition and the DTS matches. Signed-off-by: Felix Matouschek <felix@matouschek.org>
* ipq806x: add support for Cisco Meraki MR42/MR52Matthew Hagan2021-11-289-1/+755
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MR42 and MR52 are two similar IPQ806x based devices from the Cisco Meraki "Cryptid" series. MR42 main features: - IPQ8068 1.4GHz - 512MB RAM - 128MB NAND - 2x QCA9992 (2.4 & 5GHz) - 1x QCA9889 (2.4 & 5GHz) - 1x AR8033 PHY - PoE/AC power MR52 main features: - IPQ8068 1.4GHz - 512MB RAM - 128MB NAND - 2x QCA9994 (2.4 & 5GHz) - 1x QCA9889 (2.4 & 5GHz) - 2x AR8033 PHYs - PoE/AC power (MR42 Only) Installation via diagnostic mode: If you can successfully complete step 1 then you can continue to install via this method without having to open the device. Otherwise please use the standard UART method. Please note that when booting via TFTP, some Ethernet devices, in particular those on laptops, will not connect in time, resulting in TFTP boot not succeeding. In this instance it is advised to connect via a switch. 1. Hold down reset at power on and keep holding, after around 10 seconds if the orange LED changes behaviour to begin flashing, proceed to release reset, then press reset two times. Ensure that the LED has turned blue. Note that flashing will occur on some devices, but it will not be possible to change the LED colour using the reset button. In this case it will still be possible to continue with this install method. 2. Set your IP to 192.168.1.250. Set up a TFTP server serving mr42_u-boot.mbn and openwrt-ipq806x-generic-meraki_mr42-initramfs-fit-uImage.itb, obtained from [1]. 3. Use telnet and connect to 192.168.1.1. Run the following commands to install u-boot. Note that all these commands are critical, an error will likely render the device unusable. Option 3.1: If you are sure you have set up the TFTP server correctly you can run this script on the device. This will download and flash the u-boot image immediately: `/etc/update_uboot.sh 192.168.1.250 mr42_u-boot.mbn` Once completed successfully, power off the device. Option 3.2: If you are unsure the TFTP server is correctly set up you can obtain the image and flash manually: 3.2.1. `cd /tmp` 3.2.2. `tftp-hpa 192.168.1.250 -m binary -c get mr42_u-boot.mbn` 3.2.3. Confirm file has downloaded correctly by comparing the md5sum: `md5sum mr42_u-boot.mbn` 3.2.4. The following are the required commands to write the image. `echo 1 > /sys/devices/platform/msm_nand/boot_layout mtd erase /dev/mtd1 nandwrite -pam /dev/mtd1 mr42_u-boot.mbn echo 0 > /sys/devices/platform/msm_nand/boot_layout` Important: You must observe the output of the `nandwrite` command. Look for the following to verify writing is occurring: `Writing data to block 0 at offset 0x0 Writing data to block 1 at offset 0x20000 Writing data to block 2 at offset 0x40000` If you do not see this then do not power off the device. Check your previous commands and that mr42_u-boot.mbn was downloaded correctly. Once you are sure the image has been written you can proceed to power off the device. 4. Hold the reset button and power on the device. This will immediately begin downloading the appropriate initramfs image and boot into it. Note: If the device does not download the initramfs, this is likely due to the interface not being brought up in time. Changing Ethernet source to a router or switch will likely resolve this. You can also try manually setting the link speed to 10Mb/s Half-Duplex. 5. Once a solid white LED is displayed on the device, continue to the UART installation method, step 6. Standard installation via UART - MR42 & MR52 1. Disassemble the device and connect a UART header. The header pinout is as follows: 1 - 3.3v 2 - TXD 3 - RXD 4 - GND Important: You should only connect TXD, RXD and GND. Connecting 3.3v may damage the device. 2. Set your IP to 192.168.1.250. Set up a TFTP server serving openwrt-ipq806x-generic-meraki_(mr42|mr52)-initramfs-fit-uImage.itb. Separately obtain the respective sysupgrade image. 3. Run the following commands, preferably from a Linux host. The mentioned files, including ubootwrite.py and u-boot images, can be obtained from [1]. `python ubootwrite.py --write=(mr42|mr52)_u-boot.bin` The default for "--serial" option is /dev/ttyUSB0. 4. Power on the device. The ubootwrite script will upload the image to the device and launch it. The second stage u-boot will in turn load the initramfs image by TFTP, provided the TFTP server is running correctly. This process will take about 13 minutes. Once a solid white LED is displayed, the image has successfully finished loading. Note: If the image does not load via TFTP, try again with the Ethernet link to 10Mb/s Half-Duplex. 5. (MR42 only) Do not connect over the network. Instead connect over the UART using minicom or similar tool. To replace u-boot with the network enabled version, please run the following commands. Note that in the provided initramfs images, the u-boot.mbn file is located in /root: If you have not used the provided initramfs, you must ensure you are using an image with "boot_layout" ECC configuration enabled in the Kernel. This will be version 5.10 or higher. If you do not do this correctly the device will be bricked. `insmod mtd-rw i_want_a_brick=1 mtd erase /dev/mtd8 nandwrite -pam /dev/mtd8 /root/mr42_u-boot.mbn` After running nandwrite, ensure you observe the following output: `Writing data to block 0 at offset 0x0 Writing data to block 1 at offset 0x20000 Writing data to block 2 at offset 0x40000` 6. (Optional) If you have no further use for the Meraki OS, you can remove all other UBI volumes on ubi0 (mtd11), including diagnostic1, part.old, storage and part.safe. You must not remove the ubi1 ART partition (mtd12). `for i in diagnostic1 part.old storage part.safe ; do ubirmvol /dev/ubi0 -N $i done` 7. Proceed to flash the sysupgrade image via luci, or else download or scp the image to /tmp and use the sysupgrade command. [1] The mentioned images and ubootwrite.py script can be found in this repo: https://github.com/clayface/openwrt-cryptid [2] The modified u-boot sources for the MR42 and MR52 are available: https://github.com/clayface/U-boot-MR52-20200629 Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* ipq806x: add gsbi2_i2c labelMatthew Hagan2021-11-281-0/+9
| | | | | | gsbi2_i2c is used by the Meraki MR42 so we need to expose a label here. Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* ipq806x: backport GMAC_AHB_RESET deassert patchesMatthew Hagan2021-11-282-0/+139
| | | | | | | | | Add backports of the following patches: "net: stmmac: explicitly deassert GMAC_AHB_RESET" and "ARM: dts: qcom: add ahb reset to ipq806x-gmac" Required for Meraki MR42/MR52. Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* ipq806x: add GSBI nodes to ipq8064-dtsi-addidionsMatthew Hagan2021-11-283-51/+96
| | | | | | | | | Rather than having separate patches for each GSBI node added, this patch consolidates the existing GSBI1 patch into 083-ipq8064-dtsi-additions.patch. In addition, GSBI6 and GSBI7 I2C nodes, required for the MR42 and MR52 respectively, are added. Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* ipq40xx: add support for MikroTik hAP ac3Robert Marko2021-11-289-5/+392
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the MikroTik RouterBOARD RBD53iG-5HacD2HnD (hAP ac³), a indoor dual band, dual-radio 802.11ac wireless AP with external omnidirectional antennae, USB port, five 10/100/1000 Mbps Ethernet ports and PoE passthrough. See https://mikrotik.com/product/hap_ac3 for more info. Specifications: - SoC: Qualcomm Atheros IPQ4019 - RAM: 256 MB - Storage: 16 MB NOR + 128 MB NAND - Wireless: · Built-in IPQ4019 (SoC) 802.11b/g/n 2x2:2, 3 dBi antennae · Built-in IPQ4019 (SoC) 802.11a/n/ac 2x2:2, 5.5 dBi antennae - Ethernet: Built-in IPQ4019 (SoC, QCA8075) , 5x 1000/100/10 port, passive PoE in, PoE passtrough on port 5 - 1x USB Type A port Installation: 1. Boot the initramfs image via TFTP 2. Run "cat /proc/mtd" and look for "ubi" partition mtd device number, ex. "mtd1" 3. Use ubiformat to remove MikroTik specific UBI volumes * Detach the UBI partition by running: "ubidetach -d 0" * Format the partition by running: "ubiformat /dev/mtdN -y" Replace mtdN with the correct mtd index from step 2. 3. Flash the sysupgrade image using "sysupgrade -n" Signed-off-by: Robert Marko <robimarko@gmail.com> Tested-by: Mark Birss <markbirss@gmail.com> Tested-by: Michael Büchler <michael.buechler@posteo.net> Tested-by: Alex Tomkins <tomkins@darkzone.net>
* kernel: bump 5.4 to 5.4.162John Audia2021-11-2816-42/+43
| | | | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ramips/mt7621* *I am hit with the binutils 2.37 bug 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.161John Audia2021-11-2830-118/+64
| | | | | | | | | | | | | | | Removed upstreamed: ath79/patches-5.4/921-serial-core-add-support-for-boot-console-with-arbitr.patch[1] Manually rebased: layerscape/patches-5.4/804-crypto-0016-MLKU-114-1-crypto-caam-reduce-page-0-regs-access-to-.patch octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch All other patches automatically rebased. 1. Private email exchange with patch author, Hauke Mehrtens Signed-off-by: John Audia <graysky@archlinux.us>
* gemini: try fis-index-block with 128 KiB sectorsChristian Lamparter2021-11-281-0/+52
| | | | | | | | | | | | | Steven Maddox reported in the OpenWrt bugzilla, that his RaidSonic IB-NAS4220-B was no longer booting with the new OpenWrt 21.02 (uses linux 5.10's device-tree). However, it was working with the previous OpenWrt 19.07 series (uses 4.14). (This is still under investigation.) Bugzilla: https://bugs.openwrt.org/index.php?do=details&task_id=4137 Reported-by: Steven Maddox <s.maddox@lantizia.me.uk> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: utilize nvmem on Netgear EX61X0 v2 SeriesChristian Lamparter2021-11-282-10/+27
| | | | | | | | the Netgear EX6100v2 and EX6150v2 can utilize the nvmem for the pre-calibration and mac-address for both WIFI devices. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: convert TP-Link Archer C7v1/2 Wifis to nvmem-cellsChristian Lamparter2021-11-283-10/+38
| | | | | | | | | | | | | | | For v2, both ath9k (2.4GHz Wifi) and ath10k (5 GHz) driver now pull the (pre-)calibration data from the nvmem subsystem. v1 is slightly different as only the ath9k Wifi is supported. This allows us to move the userspace caldata extraction and mac-address patching for the 5GHZ ath10k supported wifi into the device-tree definition of the device. ath9k's nodes are also changed over to use nvmem-cells over OpenWrt's custom mtd-cal-data property. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mpc85xx: backport "fix oops when CONFIG_FSL_PMC=n"Christian Lamparter2021-11-281-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Martin Kennedy reported: |Presently, I get this kernel panic on mpc85xx (Aerohive HiveAP 370) |on OpenWrt 'master' which occurs right as the second processor is |initialized: | |[ 0.478804] rcu: Hierarchical SRCU implementation. |[ 0.535569] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build |[ 0.627233] smp: Bringing up secondary CPUs ... |[ 0.681659] kernel tried to execute user page (0) - exploit attempt? (uid: 0) |[ 0.766618] BUG: Unable to handle kernel instruction fetch (NULL pointer?) |[ 0.848899] Faulting instruction address: 0x00000000 |[ 0.908273] Oops: Kernel access of bad area, sig: 11 [#1] |[ 0.972851] BE PAGE_SIZE=4K SMP NR_CPUS=2 P1020 RDB |[ 1.031179] Modules linked in: |[ 1.067640] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.10.80 #0 |[ 1.139507] NIP: 00000000 LR: c0021d2c CTR: 00000000 |[ 1.199921] REGS: c1051cf0 TRAP: 0400 Not tainted (5.10.80) |[...] |[ 1.758220] NIP [00000000] 0x0 |[ 1.794688] LR [c0021d2c] smp_85xx_kick_cpu+0xe8/0x568 |[ 1.856126] Call Trace: |[ 1.885295] [c1051da8] [c0021cb8] smp_85xx_kick_cpu+0x74/0x568 (unreliable) |[ 1.968633] [c1051de8] [c0011460] __cpu_up+0xc0/0x228 |[ 2.029038] [c1051e18] [c0031bbc] bringup_cpu+0x30/0x224 |[ 2.092572] [c1051e48] [c0031f3c] cpu_up.constprop.0+0x180/0x33c |[..] |[ 2.727952] ---[ end trace 9b796a4bafb6bc14 ]--- |[ 3.800879] Kernel panic - not syncing: Fatal exception |[ 3.862353] Rebooting in 1 seconds.. |[ 5.905097] System Halted, OK to turn off power | |I bisected this down to commit 3ae5da5adce9 ("kernel: bump 5.10 to 5.10.80"); |that is, I don't get the panic right before this commit, but I do after. He reported the issue upstream and Xiaoming Ni from huawei came up with the patch (that is on it's way to upstream). While the AP370 is not in Openwrt, this will likely affect other SMP P1020 devices OpenWrt ships with: like the AP330, Enterasys WS-AP3710i, etc. Reported-by: Martin Kennedy <hurricos@gmail.com> Tested-by: Martin Kennedy <hurricos@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: purge clk_ignore_unused bootargChristian Lamparter2021-11-272-2/+2
| | | | | | | | | these flags have been creeping in from the QSDK. All needed clocks should be accounted for, and if a device is broken due to this. It should be looked into. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: update 105-ipq40xx-fix-sleep-clock.patchChristian Lamparter2021-11-271-13/+10
| | | | | | Bjorn Anderson has suggestions which would help to upstream the patch. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* 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>
* lantiq: drop kernel 5.4 supportAleksander Jan Bajkowski2021-11-2734-11702/+0
| | | | | | | | The current state of the kernel 5.4 support is in the openwrt-21.02 branch. No need to keep a not default used kernel in this branch. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [VRX268/ bthub5]
* lantiq: switch to kernel 5.10Aleksander Jan Bajkowski2021-11-271-1/+1
| | | | | | | Use kernel 5.10 by default. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [VRX268/ bthub5]
* lantiq: ar7: use okli loader for FRITZ!BoxMathias Kresin2021-11-274-3/+46
| | | | | | | | | | With Kernel 5.10 the ar7 FRITZ!Box are not booting the initramfs nor the sysupgrade image any more. Presumably due to the grown kernel. Use the okli preloader to workaround the bootloader issue. No solution so far for the initramfs. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: bring back okli loaderMathias Kresin2021-11-2719-0/+2004
| | | | | | | | | | | | | Removed due to being unused with 1f7a03a70603, but now required for the ar7 FRITZ!Box. Could be used for the ARV7519RW22 as well, for which the image generation was disabled due to a stock u-boot issue with kernel bigger than 2 MByte. The code is combination of the ath79 and ramips okli loader. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: bump 5.10 to 5.10.82John Audia2021-11-2719-94/+38
| | | | | | | | | | | | | | | | Removed upstreamed: bcm53xx/patches-5.10/033-v5.16-0014-ARM-dts-NSP-Fix-mpcore-mmc-node-names.patch Manually rebased: ipq806x/patches-5.10/086-ipq8064-fix-duplicate-node.patch All other patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, ipq806x/R7800 Run-tested: bcm2711/RPi4B, ipq806x/R7800 Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.10 to 5.10.81John Audia2021-11-278-12/+12
| | | | | | | | | | | | | Manually rebased: octeontx/patches-5.10/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch All other patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, ipq806x/R7800 Run-tested: bcm2711/RPi4B, ipq806x/R7800 Signed-off-by: John Audia <graysky@archlinux.us>
* realtek: Remove _machine_restart and _machine_haltSander Vanheule2021-11-241-85/+0
| | | | | | | | | | | | | | By dropping _machine_restart, users can provide more reliable or device-specific restart modes. _machine_halt was already removed in commit f4b687d1f053 ("realtek: use kernel defined halt"), but quietly reintroduced in commit 8faffa00cb6b ("realtek: add support for the RTL9300 timer"). Let's remove it again. Signed-off-by: Sander Vanheule <sander@svanheule.net> Tested-by: Stijn Segers <foss@volatilesystems.org> Tested-by: Paul Fertser <fercerpav@gmail.com> Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
* realtek: Add and enable watchdog nodeSander Vanheule2021-11-243-1/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add and enable the Realtek Otto WDT peripheral found on these SoCs. Default all devices to use standard (cold) reboot and "soc" resets. Devices that require the PLL value fixup before restarting, should pick the "cpu" or "software" reset mode. These devices also need to provide a custom reboot mode, by adding the reboot argument to the kernel command line: WDT reset mode | kernel reboot mode ----------------+--------------------------------------- soc | reboot=cold (default if not specified) cpu | reboot=warm software | reboot=software Preferrably, these devices should use an alternative restart method like gpio-restart to provide reliable restarts. Note that watchdog restarts are not yet exposed, since the _machine_restart override is still present. Signed-off-by: Sander Vanheule <sander@svanheule.net> Tested-by: Stijn Segers <foss@volatilesystems.org> Tested-by: Paul Fertser <fercerpav@gmail.com> Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
* realtek: Backport Realtek Otto WDT driverSander Vanheule2021-11-243-0/+486
| | | | | | | | | | | Add patch submitted upstream to linux-watchdog and replace the MIPS architecture symbols. Requires one extra patch for the DIV_ROUND_* macros, which have moved to a different header since 5.10. Signed-off-by: Sander Vanheule <sander@svanheule.net> Tested-by: Stijn Segers <foss@volatilesystems.org> Tested-by: Paul Fertser <fercerpav@gmail.com> Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
* realtek: Add Lexra bus clockSander Vanheule2021-11-242-8/+13
| | | | | | | | | | | | | | | | | The CPU peripherals on RTL83xx/RTL930x are connected to the CPU via the Lexra bus. This bus can provide a clock signal to these peripherals, but no clock driver is currently available. Instead, use a fixed-clock to provide the clock frequency, and update the dependent peripherals. Lexra bus clock frequencies: - RTL838x: 200MHz - RTL839x: 200MHz - RTL930x: 175MHz Signed-off-by: Sander Vanheule <sander@svanheule.net> Tested-by: Stijn Segers <foss@volatilesystems.org> Tested-by: Paul Fertser <fercerpav@gmail.com> Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
* realtek: Consolidate bootargsSander Vanheule2021-11-248-26/+2
| | | | | | | | | | All current devices use identical bootargs, so let's move that to the common devicetree includes. Signed-off-by: Sander Vanheule <sander@svanheule.net> Tested-by: Stijn Segers <foss@volatilesystems.org> Tested-by: Paul Fertser <fercerpav@gmail.com> Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
* realtek: reset both ethernet NIC and queuesSander Vanheule2021-11-241-4/+7
| | | | | | | | | | | | | | | Recent versions of Realtek's SDK reset both the ethernet NIC and queues (SW_NIC_RST and SW_Q_RST bits) when initialising the hardware. Furthermore, when issuing a CPU reset on the Zyxel GS1900-8 (not supported by any current driver), the networking part of the SoC is not reset. This leads to unresponsive network after the restart. By resetting both the ethernet NIC and queues, networking always comes up reliably. Suggested-by: Birger Koblitz <mail@birger-koblitz.de> Signed-off-by: Sander Vanheule <sander@svanheule.net> Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
* bcm53xx: fix platform clocks & USB 2.0 PHYRafał Miłecki2021-11-231-0/+62
| | | | | | | | This fixes WARNing, missing clocks and [ 10.422481] bcm_ns_usb2 1800c164.usb2-phy: Clock not defined Fixes: 5901917b936d ("bcm53xx: use more upsteam DT patches from 5.16 / 5.17") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: use new USB 2.0 PHY bindingRafał Miłecki2021-11-232-0/+183
| | | | | | | | | | | This fixes: [ 10.440495] bcm_ns_usb2 1800c000.usb2-phy: can't request region for resource [mem 0x1800c000-0x1800cfff] [ 10.450039] bcm_ns_usb2 1800c000.usb2-phy: Failed to map DMU regs [ 10.456183] bcm_ns_usb2: probe of 1800c000.usb2-phy failed with error -16 caused by conflict in allocating resources. Fixes: f55f1dbaad33 ("bcm53xx: switch to the kernel 5.10") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* Revert "ath79: add support for Mikrotik LHG 5"Hauke Mehrtens2021-11-236-177/+0
| | | | | | | | This reverts commit 48774decea9b42e97edd53ce33e574de7d85f3df. This commit does not contain a valid name in the Signed-off-by line. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* bcm53xx: specify switch ports on TP-LINK devicesRafał Miłecki2021-11-221-0/+92
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* sunxi: build kernel with sun6i-rtc driverDaniel Golle2021-11-212-0/+2
| | | | | | | | | | | | | | | | | sun6i-rtc cannot be built as a module and the hardware is only present in some of the sunxi SoCs, see driver source: { .compatible = "allwinner,sun6i-a31-rtc" }, { .compatible = "allwinner,sun8i-a23-rtc" }, { .compatible = "allwinner,sun8i-h3-rtc" }, { .compatible = "allwinner,sun8i-r40-rtc" }, { .compatible = "allwinner,sun8i-v3-rtc" }, { .compatible = "allwinner,sun50i-h5-rtc" }, { .compatible = "allwinner,sun50i-h6-rtc" }, Set CONFIG_RTC_DRV_SUN6I=y in kernel config file for cortexa7 and cortexa53 subtargets which covers all of the above. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* Revert "sunxi: add rtc-sun6i driver package"Daniel Golle2021-11-211-18/+0
| | | | | | | sun6i-rtc is a builtin_platform_driver and cannot be built as a module. Hence this reverts commit e178d9a5494747a9b6ea34f2fc9e798b4b1ecc16. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: fix ralink_i2s_debugfs_remove declarationEneas U de Queiroz2021-11-202-2/+2
| | | | | | | Correct ralink_i2s_debugfs_remove declaration in ralink patches when CONFIG_DEBUG_FS is not selected. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* ramips: use lzma-loader on D-Link DIR-615 H1Mirko Parthey2021-11-201-0/+1
| | | | | | | Fixes the boot loader LZMA decompression issue: LZMA ERROR 1 - must RESET board to recover Signed-off-by: Mirko Parthey <mirko.parthey@web.de>
* ramips: add support for Wavlink WL-WN576A2Thomas Aldrian2021-11-204-2/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the Wavlink WL-WN576A2 wall-plug wireles repeater / router. It is also sold under the name SilverCrest SWV 733 B1. Device specs: - CPU: MediaTek MT7628AN - Flash: 8MB - RAM: 64MB - Bootloader: U-Boot - Ethernet: 1x 10/100 Mbps - 2.4 GHz: b/g/n SoC - 5 GHz: a/n/ac MT7610EN - Buttons: WPS, reset, sliding switch (ap/repeater) - LEDs: 5x wifi status, 1x LAN/WAN, 1x WPS Flashing: U-Boot launches a TFTP client if WPS button is held during boot. - Server IP: 192.168.10.100 - Firmware file name: firmware.bin Device will reboot automatically. First boot takes about 90s. Coelner (waenger@gmail.com) is the original author, but I have made some fixes. He does not wish to sign off using his real name. Signed-off-by: Thomas Aldrian <dev.aldrian@gmail.com>