aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* ramips: add support for TP-Link RE305 v3Michal Kozuch2021-10-305-81/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specs (same as in v1): - MT7628AN (575 MHz) - 64MB RAM - 8MB of flash (SPI NOR) - 1x 10/100Mbps Ethernet (MT7628AN built-in switch with vlan) - 1x 2.4GHz wifi (MT7628AN) - 1x 5Ghz wifi (MT7612E) - 4x LEDs (5 GPIO-controlled) - 1x reset button - 1x WPS button The only and important difference between v1 & v3 is in flash memory layout, so pls don't interchange these 2 builds! Installation through web-ui (on OEM factory firmware): 1. Visit http://tplinkrepeater.net or the configured IP address of your RE305 v3 (default 192.168.0.254). 2. Log in with the password you've set during initial setup of the RE305 (there is no default password). 3. Go to Settings -> System Tools -> Firmware upgrade 4. Click Browse and select the OpenWRT image with factory.bin suffix (not sysupgrade.bin) 5. A window with a progress bar will appear. Wait until it completes. 6. The RE305 will reboot into OpenWRT and serve DHCP requests on the ethernet port. 7. Connect an RJ45 cable from the RE305 to your computer and access LuCI at http://192.168.1.1/ to configure (or use ssh). Disassembly: Just unscrew 4 screws in the corners & take off the back cover. Serial is exposed to the right side of the main board (in the middle) and marked with TX/RX/3V3/GND, but the holes are filled with solder. Installation through serial: 1. connect trough serial (1n8, baudrate=57600) 2. setup the TFTP server and connect it via ethernet (ipaddr=192.168.0.254 of device, serverip=192.168.0.184 - your pc) 3. boot from a initramfs image first (choose 1 in the bootloader options) 4. test it a bit with that, then proceed to run sysupgrade build MAC addresses as verified by OEM firmware: use OpenWrt address reference LAN eth0 *:d2 label 2g wlan0 *:d1 label - 1 5g wlan1 *:d0 label - 2 The label MAC address can be found in config 0x2008. Signed-off-by: Michal Kozuch <servitkar@gmail.com> [redistribute WLAN node properties between DTS/DTSI, remove compatible on DTSI, fix indent/wrapping, split out firmware-utils change] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: move elecom-wrc-gs-factory to image-commands.mkINAGAKI Hiroshi2021-10-301-13/+0
| | | | | | | | ELECOM WRC-X3200GST3 uses the same header/footer as WRC-GS/GST devices in ramips/mt7621 subtarget, so move "Build/elecom-wrc-gs-factory" to image-commands.mk to use from mediatek/mt7622 subtarget. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* sunxi: Nanopi R1S H5: enable LAN LED configurationChukun Pan2021-10-302-0/+60
| | | | | | This enables the LEDs on the LAN interfaces. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* sunxi: add support for FriendlyARM NanoPi R1S H5Chukun Pan2021-10-309-19/+587
| | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: CPU: Allwinner H5, Quad-core Cortex-A53 DDR3 RAM: 512MB Network: 10/100/1000M Ethernet x 2 USB Host: Type-A x 1 MicroSD Slot x 1 MicroUSB: for power input Debug Serial Port: 3Pin pin-header LED: WAN, LAN, SYS KEY: Reset Power Supply: DC 5V/2A Installation: Write the image to SD Card with dd. Note: 1. OpenWrt currently does not support LED_FUNCTION, change back to the previous practice (Consistent with NanoPi R1). 2. Since the upstream commit https://github.com/torvalds/linux/bbc4d71 ("net: phy: realtek: fix rtl8211e rx/tx delay config"), we need to change the phy-mode from rgmii to rgmii-id. So set phy-mode for 5.4 and 5.10 respectively. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* rockchip: move r8152 related patches to genericChukun Pan2021-10-304-0/+0
| | | | | | | These patches can be used on other platforms, so move it to generic. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* kernel: bump 5.10 to 5.10.76Rui Salvaterra2021-10-3025-133/+43
| | | | | | | | | | | | | | | | Deleted (upstreamed): bcm27xx/patches-5.10/950-0145-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch [1] Manually rebased: bcm27xx/patches-5.10/950-0355-xhci-quirks-add-link-TRB-quirk-for-VL805.patch bcm53xx/patches-5.10/180-usb-xhci-add-support-for-performing-fake-doorbell.patch Note: although automatically rebaseable, the last patch has been edited to avoid conflicting bit definitions. [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.10.y&id=b6f32897af190d4716412e156ee0abcc16e4f1e5 Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ipq40xx: detangle ath10k-board-qca4019 from ath10k-firmware-qca4019*Christian Lamparter2021-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | Back in the day, the board-2.bin came with ath10k-firmware-qca4019. This changed with commit c3b2efaf24b5 ("linux-firmware: ath10k: add board firmware packages") which placed the board-2.bin into a separate package: ath10k-board-qca4019. This was great, because it addressed one of the caveat of the original ipq-wifi package: commit fa03d441e96e ("firmware: add custom IPQ wifi board definitions") | 2. updating ath10k-firmware-qca4019 will also replace | the board-2.bin. For this cases the user needs to | manually reinstall the wifi-board package once the | ath10k-firmware-qca4019 is updated. This could be extended further so that ipq-wifi packages no longer use "install-override" and the various QCA4019 variants list the ath10k-board-qca4019 as a CONFLICT package. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath9k: OF: qca,disable-(2|5)ghz => ieee80211-freq-limitChristian Lamparter2021-10-306-8/+8
| | | | | | | | | | | | | | | | | | OpenWrt maintains two special out-of-tree DT properties: "qca,disable-5ghz" and "qca,disable-2ghz". These are implemented in a mac80211 ath9k patch "550-ath9k-disable-bands-via-dt.patch". With the things being what they are, now might be a good point to switch the devices to the generic and upstream "ieee80211-freq-limit" property. This property is much broader and works differently. Instead of disabling the drivers logic which would add the affected band and channels. It now disables all channels which are not within the specified frequency range. Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> # HH5A Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* realtek: re-enable IPv6 routingBjørn Mork2021-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Commit 03e1d93e0779 ("realtek: add driver support for routing offload") added routing offload for IPv4, but broke IPv6 routing completely. The routing table is empty and cannot be updated: root@gs1900-10hp:~# ip -6 route root@gs1900-10hp:~# ip -6 route add unreachable default RTNETLINK answers: Invalid argument As a side effect, this breaks opkg on IPv4 only systems too, since uclient-fetch fails when there are no IPv6 routes: root@gs1900-10hp:~# uclient-fetch http://192.168.99.1 Downloading 'http://192.168.99.1' Failed to send request: Operation not permitted Fix by returning NOTIFY_DONE when offloading is unsupported, falling back to default behaviour. Fixes: 03e1d93e0779 ("realtek: add driver support for routing offload") Signed-off-by: Bjørn Mork <bjorn@mork.no>
* realtek: fix ZyXEL initramfs image generationBjørn Mork2021-10-301-2/+2
| | | | | | | | | | | | | | | | The current rule produces empty trailers, causing the OEM firmware update application to reject our images. The double expansion of a makefile variable does not work inside shell code. The second round is interpreted as a shell expansion, attempting to run the command ZYXEL_VERS instead of expanding the $(ZYXEL_VERS) makefile variable. Fix by removing one level of variable indirection. Fixes: c6c8d597e183 ("realtek: Add generic zyxel_gs1900 image definition") Tested-by: Sander Vanheule <sander@svanheule.net> Signed-off-by: Bjørn Mork <bjorn@mork.no>
* bcm53xx: MR32: replace i2c-gpio with SoC's i2cChristian Lamparter2021-10-303-1/+118
| | | | | | | | | During review of the MR32, Florian Fainelli pointed out that the SoC has a real I2C-controller. Furthermore, the connected pins (SDA and SCL) would line up perfectly for use. This patch swaps out the the bitbanged i2c-gpio with the real deal. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* sunxi: deselect CONFIG_VIDEO_SUN6I_CSI by defaultDaniel Golle2021-10-291-0/+1
| | | | | | | | Deselect CONFIG_VIDEO_SUN6I_CSI Kconfig symbol for now. If anyone wants to use CSI (camera interface) they should package the kernel module. After this change, sunxi targets build again. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* sunxi: add CONFIG_ARM_CRYPTO Kconfig symbolDaniel Golle2021-10-291-0/+1
| | | | | | | And another missing symbol... Reported-by: Chen Minqiang <ptpt52@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* sunxi: add yet another missing Kconfig symbolDaniel Golle2021-10-291-0/+1
| | | | | | Set CONFIG_CRYPTO_CRCT10DIF_ARM_CE=y for sunxi targets. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* bcm53xx: backport patch fixing pinctrl driverRafał Miłecki2021-10-292-33/+106
| | | | | | | This switches pinctrl driver to use the old & good DT binding. There is no more need to adjust upstream DTS file. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* sunxi: add missing CONFIG_VIDEO_SUN4I_CSI Kconfig symbolDaniel Golle2021-10-291-0/+1
| | | | | | | Simply disable this for now, if anyone wants to use CSI feel free to package it as a kernel module package. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: make sure MMC is not busy before commencing sysupgradeDaniel Golle2021-10-282-0/+2
| | | | | | | | | In case of the block device still being in use, re-reading the partition table fails. In that case, abort sysupgrade to avoid corrupting the just-written image because of wrong offsets caused by failure to re-read the partition table. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ipq806x: add support for Netgear Nighthawk Pro Gaming XR500Peter Geis2021-10-269-448/+545
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Netgear Nighthawk Pro Gaming XR500. It is the successor to the Netgear Nighthawk R7800 and shares almost identical hardware to that device. The stock firmware is a heavily modified version of OpenWRT. Specifications: SoC: Qualcomm Atheros IPQ8065 RAM: 512 MB Storage: 256 MiB NAND Flash Wireless: 2x Qualcomm Atheros QCA9984 Ethernet: 2x 1000/100/10 dedicated interfaces Switch: 5x 1000/100/10 external ports USB: 2x 3.0 ports More information: Manufacturer page: https://www.netgear.com/gaming/xr500/ Almost identical to Netgear R7800 Differences (r7800 > xr500): Flash: 128MiB > 256MiB Removed esata swapped leds: usb1 (gpio 7 > 8) usb2 (gpio 8 > 26) guest/esata (gpio 26 > 7) MAC addresses: On the OEM firmware, the mac addresses are: WAN: *:50 art 0x6 LAN: *:4f art 0x0 (label) 2G: *:4f art 0x0 5G: *:51 art 0xc Installation: Install via Web Interface (preferred): Utilize openwrt-ipq806x-netgear_xr500-squashfs-factory.img Install via TFTP recovery: 1.Turn off the power, push and hold the reset button (in a hole on backside) with a pin 2.Turn on the power and wait till power led starts flashing white (after it first flashes orange for a while) 3.Release the reset button and tftp the factory img in binary mode. The power led will stop flashing if you succeeded in transferring the image, and the router reboots rather quickly with the new firmware. 4.Try to ping the router (ping 192.168.1.1). If does not respond, then tftp will not work either. Uploading the firmware image with a TFTP client $ tftp 192.168.1.1 bin put openwrt-ipq806x-netgear_xr500-squashfs-factory.img Note: The end of the last partition is at 0xee00000. This was chosen by the initial author, but nobody was able to tell why this particular arbitrary size was chosen. Since it's not leaving too much empty space and it's the only issue left, let's just keep it for now. Based on work by Adam Hnat <adamhnat@gmail.com> ref: https://github.com/openwrt/openwrt/pull/3215 Signed-off-by: Peter Geis <pgwipeout@gmail.com> [squash commits, move common LEDs to DTSI, remove SPDX on old files, minor whitespace cleanup, commit message facelift, add MAC address overview, add Notes, fix MAC addresses, use generic name for partition nodes in DTS] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: minew g1-c: Allow dynamic RAM sizesBruno Randolf2021-10-261-5/+0
| | | | | | | | Allow RAM size to be passed thru U-Boot. There are 128MB and 64MB versions of Minew G1-C. This is also in line with the behaviour of most other RAMIPS boards. Signed-off-by: Bruno Randolf <br1@einfach.org>
* sunxi: switch to Kernel 5.10Paul Spooren2021-10-251-2/+2
| | | | | | | | Compile tested and run tested on Pine64+. Acked-by: Daniel Golle <daniel@makrotopia.org> Acked-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Paul Spooren <mail@aparcar.org>
* kernel: Add extra configuration optionsHauke Mehrtens2021-10-242-1/+7
| | | | | | These options show up when compiling the at91 target. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* at91: add support for sam9x60-ek boardClaudiu Beznea2021-10-241-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for SAM9X60-EK board. Hardware: - SoC: SAM9X60 - RAM: Winbond W972GG6KB-25 (2Gbit DDR2) - NAND Flash: Micron MT29F4G08ABAEA - QSPI Flash: Microchip SST26VF064B - EEPROM: Microchip 24AA02E48 - SDMMC: One standard 4-bit SD card interface - USB: two stacked Type-A connectors with power switches, one micro-B USB device - CAN: 2 interfaces (Microchip MCP2542) - Ethernet: one 10/100Mbps - WiFi/BT: one optional WiFi/Bluetooth interface - Audio: one ClassD port - Display: one 24-bit LCD interface - Camera: one 12-bit image sensor interface - IO: one IO expander (Microchip MCP23008) - Debug ports: one J-Link-OB + CDC, one JTAG interface - Leds: one RGB LED - Buttons: 4 push button switches - Expansion: one PIO connector, one mikrobus connector - Power management: two power regulators, two power consumption measurement devices Flashing: - follow the procedure at [1] [1] https://www.linux4sam.org/bin/view/Linux4SAM/Sam9x60EKMainPage#Create_a_SD_card_with_the_demo Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
* at91: enable kernel config for sam9x60Claudiu Beznea2021-10-241-2/+27
| | | | | | Enable kernel config for SAM9X60. Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
* at91: add support for sama5d27-wlsom1-ek boardClaudiu Beznea2021-10-241-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for SAMA5D27 WLSOM1-EK board. Hardware: - SIP: SAMA5D27C-LD2G-CU including SAMA5D27 MPU and 2Gbit LPDDR2-SDRAM - MMC: one standard SD card interface - Flash: 64 Mb serial quad I/O flash memory (SST26VF064BEUIT-104I/MF) with embedded EUI-48 and EUI-64 MAC addresses - USB: one USB device, one USB host one HSIC interface - Ethernet: 1x10/100Mbps port - WiFi/BT: IEEE 802.11 b/g/n Wi-Fi plus Bluetooth (Wi-Fi/BT) module (ATWILC3000-MR110UA) - Crypto: one ATECC608B-TNGTLS secure element - Video: one LCD RGB 18-bit interface, one ISC 12-bit camera interface - Debug port: one JTAG interface, one UART interface, one WILC UART interface - Leds: one RGB LED - Buttons: start, reset, wakeup, user buttons - Expansion: one tamper connector, one mikrobus interface, 2 XPRO PTC connector - Power managament: PMIC (MCP16502) Flashing: - follow procedure at [1] [1] https://www.linux4sam.org/bin/view/Linux4SAM/Sama5d27WLSom1EKMainPage#Create_a_SD_card_with_the_demo Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
* at91: add support for sama5d2 icp boardClaudiu Beznea2021-10-241-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for SAMA5D2 ICP board. Hardware: - SoC: SAMA5D27 - RAM: 512 MB DDR3L - MMC: One stanard SD card interface - USB: One USB host switch 4 ports with power switch, One USB device type Micro-AB - CAN: 2 interfaces - Ethernet: One Gigabit Ethernet PHY through HSIC, One ETH switchport, One EtherCAT interface - WiFi/BT: Footprint for IEEE 802.11 b/g/n Wi-Fi plus Bluetooth module (Wi-Fi/BT), suitable for Microchip WILC3000-MR110CA or WILC3000-MR110UA - Debug port: One J-Link-OB/J-Link-CDC, one JTAG interface - Leds: one RGB LED - Buttons: reset, wakeup, 2 user buttons - Expansion: one PIOBU/PIO connector, 3 mikrobus sockets - Power mangament: PMIC (MCP16502), one power consumption device (PAC1934) Not working in Linux: - EtherCAT interface: there is no Linux support integrated - PAC1934: driver available at [1] but not integrated in Linux Flashing: - follow the procedure at [2] [1] https://ww1.microchip.com/downloads/en/DeviceDoc/pac193x_linux_driver.zip [2] https://www.linux4sam.org/bin/view/Linux4SAM/Sama5d2IcpMainPage#Create_a_SD_card_with_the_demo Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
* at91: enable specific sam9x kernel config flagsClaudiu Beznea2021-10-241-6/+106
| | | | | | Enable specific sam9x kernel config flags. Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
* at91: kernel: bump to 5.10Claudiu Beznea2021-10-2414-779/+109
| | | | | | | | | | | | Bump at91 targets to kernel v5.10. With this patches and files for wb45n and wb50n were removed as they are now included in upstream kernel. Along with: - this the kernel config for sama5d2 and sam9x targets has been refreshed (with make kernel_menuconfig + save); - CONFIG_ARCH_AT91 and specific sam9x SoCs (AT91RM9200, AT91SAM9, SAM9X60) has been enabled such that sam9x SoCs to be able to boot. Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
* sunxi: 5.10: enable sun8i-thermalChukun Pan2021-10-242-1/+2
| | | | | | | | | | | | Enable the sun8i-thermal driver to allow reading the temperature of the SoC. As suggested by mans0n, disable this driver in the a8 subtarget because it does not support yet. Tested on NanoPi R1S H5. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* kernel: 5.10: qca8k: backport qca8k_setup tidy-upMatthew Hagan2021-10-241-0/+151
| | | | | | | | Tidy qca8k_setup for loops relating to port handling. No functional changes. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* kernel: 5.10: backport qca8k cpu_port_index fix in parse_port_configMatthew Hagan2021-10-241-0/+28
| | | | | | | Add cpu_port_index fix to apply settings to correct CPU port. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* kernel: 5.10: backport qca8k feature additionsMatthew Hagan2021-10-2416-0/+1991
| | | | | | | | | | | | | | | | Backport Ansuel Smith's various qca8k feature additions: - mac-power-sel support - SGMII PLL explicit enable - tx/rx clock phase to falling edge - power-on-sel and LED open drain mode - cpu port 6 - qca8328 support - sgmii internal delay - move port config to dedicated struct - convert to yaml schema Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* kernel: 5.10: backport QCA83x PHY resume fix, DAC amplitude preferred ↵Matthew Hagan2021-10-245-2/+378
| | | | | | | | | | | master, debug reg names Backport workaround for QCA8327 PHY resume, which does not properly support genphy_suspend/resume. Also add DAC amplitude fix for the QCA8327 PHY, set port to preferred master and add proper names to debug regs. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* kernel: 5.10: backport at803x QCA83xx phy support improvementsMatthew Hagan2021-10-244-2/+207
| | | | | | | | | | This commit add accepted upstream patches that improve & tidy qca83xx support. 1 - Split qca8327 to A & B variants, identifiable by phy_id 2 - Add suspend/resume support to qca8xx phys 3 - Tidy spacing and phy naming. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* kernel: 5.10: backport at803x internal QCA8327 PHY supportMatthew Hagan2021-10-241-0/+48
| | | | | | | | | Add support for qca8327 internal phy needed for correct init of the switch port. It does use the same qca8337 function and reg just with a different id. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* kernel: 5.10: backport qca8k legacy mdio mapping panic fixMatthew Hagan2021-10-241-0/+80
| | | | | | | | Add backport of Ansuel Smith's "net: dsa: qca8k: fix kernel panic with legacy mdio mapping" patch. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* kernel: 5.10: backport additional qca8k fixesMatthew Hagan2021-10-245-0/+537
| | | | | | | | | | | | Backport fixes including: net: dsa: qca8k: fix missing unlock on error in qca8k_vlan_(add|del) net: dsa: qca8k: check return value of read functions correctly net: dsa: qca8k: add missing check return value in qca8k_phylink_mac_config() net: dsa: qca8k: fix an endian bug in qca8k_get_ethtool_stats() net: dsa: qca8k: check the correct variable in qca8k_set_mac_eee() Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* kernel: 5.10: backport qca8k stability improvementsMatthew Hagan2021-10-2426-5/+2660
| | | | | | | | | This is a backport of Ansuel Smith's "Multiple improvement to qca8k stability" series. The QCA8337 switch is available on multiple platforms including ipq806x, ath79 and bcm53xx. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* kernel: 5.10: silence bogus "Missing #address-cells in interrupt provider" ↵Christian Lamparter2021-10-241-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | warnings Rosen reported strange dtc warnings that had their origin in an upstream patch to 5.8-rc1. Upon further digging this revealed an ongoing thread [0] discussing the topic: > [...]I don't think we need a bunch of warning fix patches to add > these everywhere. Also, the need for #address-cells pretty much makes > no sense on any modern system. It is a relic from days when the bus > (address) topology and interrupt topology were related. and later on: > So really, we only need to be checking for #address-cells in nodes > with interrupt-map. This patch backports just the patch which removed the warning message (this is from the upstream dtc project [1] - but not the kernel). the patch does not add the checking of the #address-cells in nodes with interrupt-map. [0] <https://lore.kernel.org/linux-devicetree/91e3405245c89f134676449cf3822285798d2ed2.1612189652.git.michal.simek@xilinx.com/> [1] <https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/?id=d8d1a9a77863a8c7031ae82a1d461aa78eb72a7b> Link: <https://github.com/openwrt/openwrt/pull/4685> Reported-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: ag71xx: Disable napi related interrupts during probeSven Eckelmann2021-10-231-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ag71xx_probe is registering ag71xx_interrupt as handler for the gmac0/gmac1 interrupts. The handler is trying to use napi_schedule to handle the processing of packets. But the netif_napi_add for this device is called a lot later in ag71xx_probe. It can therefore happen that a still running gmac0/gmac1 is triggering the interrupt handler with a bit from AG71XX_INT_POLL set in AG71XX_REG_INT_STATUS. The handler will then call napi_schedule and the napi code will crash the system because the ag->napi is not yet initialized: libphy: Fixed MDIO Bus: probed CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 00000000, ra == 81373408 Oops[#1]: CPU: 0 PID: 1 Comm: swapper Not tainted 5.4.152 #0 $ 0 : 00000000 00000001 00000000 8280bf28 $ 4 : 82a98cb0 00000000 81620000 00200140 $ 8 : 00000000 00000000 74657272 7570743a $12 : 0000005b 8280bdb9 ffffffff ffffffff $16 : 00000001 82a98cb0 00000000 8280bf27 $20 : 8280bf28 81620000 ffff8b00 8280bf30 $24 : 00000000 8125af9c $28 : 82828000 8280bed8 81610000 81373408 Hi : 00005fff Lo : 2e48f657 epc : 00000000 0x0 ra : 81373408 __napi_poll+0x3c/0x11c Status: 1100dc03 KERNEL EXL IE Cause : 00800008 (ExcCode 02) BadVA : 00000000 PrId : 00019750 (MIPS 74Kc) Modules linked in: Process swapper (pid: 1, threadinfo=(ptrval), task=(ptrval), tls=00000000) Stack : ffff8afb ffff8afa 81620000 00200140 00000000 82a98cb0 00000008 0000012c 81625620 81373684 ffffffff ffffffff ffffffef 00000008 816153d8 81620000 815b0d60 815bbd54 00000000 81753700 8280bf28 8280bf28 8280bf30 8280bf30 81753748 00000008 00000003 00000004 0000000c 00000100 3fffffff 8175373c 816059f0 814ddb48 00000001 8160ab30 81615488 810618bc 00000006 00000000 ... Call Trace: [<81373684>] net_rx_action+0xfc/0x26c [<814ddb48>] __do_softirq+0x118/0x2ec [<810618bc>] handle_percpu_irq+0x50/0x80 [<8125ab8c>] plat_irq_dispatch+0x94/0xc8 [<81004e98>] handle_int+0x138/0x144 Code: (Bad address in epc) ---[ end trace a60d797432b656b2 ]--- The gmcc0/gmac1 must be brought in a state in which it doesn't signal a AG71XX_INT_POLL related status bits as interrupt before registering the interrupt handler. ag71xx_hw_start will take care of re-initializing the AG71XX_REG_INT_ENABLE. Fixes: f529a3742043 ("surprise :p") Signed-off-by: Sven Eckelmann <sven@narfation.org>
* kernel: backport GPIO LED patch for MT7530Rosen Penev2021-10-232-3/+184
| | | | | | | | | | | | | | | This allows to specify and control switch LEDs on devices using mt7530 (typically mediatek and ramips targets). Normally these LED GPIOs are 0, 3, 6, 9, and 12. wan/lan assignment is per device. GPIO 9 is normally inverted. so GPIO_ACTIVE_HIGH instead of GPIO_ACTIVE_LOW. Tested on Linksys E7350. Refreshed all patches. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ipq40xx: MR33: Fix LP5562 LED driver probeTan Zien2021-10-231-4/+15
| | | | | | | | | | | | | Add the reg and color property to each channel node. This update is to accommodate the multicolor framework. Refer to: <https://lore.kernel.org/all/20200622185919.2131-9-dmurphy@ti.com> <https://lore.kernel.org/all/20210818070209.1540451-1-michal.vokac@ysoft.com> Signed-off-by: Tan Zien <nabsdh9@gmail.com> [replaced links to lore, wrote something of a commit message] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* layerscape: Fix build in dtbHauke Mehrtens2021-10-2223-64/+37
| | | | | | | | This fixes a kernel build problem. The removed parts of the patch are already applied upstream. Fixes: 9ad3ef27b9ce ("kernel: bump 5.4 to 5.4.153") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* apm821xx: WNDAP6X0: add missed uci-default for compatChristian Lamparter2021-10-221-1/+3
| | | | | | | | This should have been included in the previous patch that resized the kernel partition to fit bigger kernels. Fixes: 7a6a3494450c ("apm821xx: WNDAP620 + WNDAP660: reorganize partitions for 5.10") Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: implement new LED label naming schemeChristian Lamparter2021-10-2210-122/+273
| | | | | | | | | | | | | | | | | | | | | | | This patch updates all current APM82181 devices over to that "new LED naming scheme". This includes many updates to the device-tree: - dropped the deprecated, but beloved "label" property. - rename all DT leds node names to led-#. - add function and color properties. - utilized panic-indicator property. - dropped led- aliases (see below). migration scripts for all devices are included. For more information. See: <https://www.kernel.org/doc/html/latest/leds/leds-class.html> For the future: It looks like the color+function properties won over the dt-alias / label. This will need to be wired up into openwrt eventually. For APM821xx the situation is that all devices have a dedicated power and fault indicator. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: lzma-loader: fix & re-enable per-board CONFIG_BOARD_DEVChristian Lamparter2021-10-221-2/+5
| | | | | | | | | | | | | | | | | | | Back in the AR71XX days, the lzma-loader code could be customized based on the $BOARD variable. These would be passed as a compile-time -DCONFIG_BOARD_$DEVICE_MODEL flag to the compiler. Hence, the lzma-loader would be able to include device-specific fixups. Note: There's still a fixup for the TpLink TL-WR1043ND V1 found in the lzma-loader's board.c code. But since the days of AR71XX I couldn't find a forum post or bug reported. So, I left it as is to not break anything by enabling it. => If you have a TL-WR1043ND V1 and you have problem with the ethernet: let me know. Because otherwise, the fixup might simply no longer needed with ath79 and it can be removed. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: MX60(W): re-enable + allow bigger future kernelsChristian Lamparter2021-10-222-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MX60's kernel is limited to 0x3EFC00 by the values in mkmerakifw.c. Since the initramfs method of loading the kernel seems to be working, this patch does away with the use of the mkmerakifw tool for the MX60(W). But this will go along with a change in u-boot as well. So before you upgrade, please attach the serial cable and perform: | setenv owrt510_boot run meraki_ubi owrt_bootargs\; run owrt_load1 owrt_bootkernel\; run owrt_load2 owrt_bootkernel | setenv bootcmd run owrt510_boot | saveenv Note: You won't be able to use older OpenWrt releases without switching the bootcmd back to owrt_boot! Note2: We are no longer compatible with older OpenWrt MX60 installs. the legacy BOARD_NAME and SUPPORTED_DEVICES can be dropped. This is because upgrades from older images are not possible without uboot env changes anymore. Also the bogus BLOCKSIZE value (which was set to 63k back then, in order to get the kernel properly aligned after the fdt + meraki header) can be set to the NANDs real value. The FDT size (which was needed for alignment) can now be slimmed down as well. Co-developed-by: Martin Kennedy <hurricos@gmail.com> Signed-off-by: Martin Kennedy <hurricos@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: MBL: HDD regulators overhaul for MBL DUOChristian Lamparter2021-10-221-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Takimata reported on the OpenWrt forum in thread [0], that his MyBook Live Duo wasn't booting OpenWrt 21.02 after upgrading from the previous OpenWrt 19.07. The last logged entries on his console |[ 0.531599] sata1-regulator GPIO handle specifies active low - ignored |[ 0.538391] sata0-regulator GPIO handle specifies active low - ignored |[ 0.759791] ata2: SATA link down (SStatus 0 SControl 300) |[ 0.765251] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) |[ 5.909555] ata1.00: qc timeout (cmd 0xec) |[ 5.913656] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4) |[ 6.231757] ata1: SATA link down (SStatus 0 SControl 300) This extract clearly showed that the HDD on which OpenWrt is installed, simply disappeared after the SATA power regulators had been initialized. The reason why this worked with OpenWrt 19.07 was because the kernel config symbol CONFIG_REGULATOR=y was not set in the target's config-4.14. (This shows that the MBL Single does differ from the DUO in that it does not have programmable power regulators for the HDDs.) [0] <https://forum.openwrt.org/t/21-02-0-and-snapshot-fail-to-boot-on-my-book-live-duo/106585> Reported-by: Takimata (forum) Tested-by: Takimata (forum) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: mikrotik: use 64 KiB SPI NOR erase sectorsRoger Pueyo Centelles2021-10-221-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes CONFIG_MTD_SPI_NOR_USE_4K_SECTORS from the default symbols for the ath79/mikrotik target. MikroTik devices hold some of their user-configurable settings in the soft_config partition, which is typically sized 4 KiB, of the SPI NOR flash memory. Previously, in the ar71xx target, it was possible to use 64 KiB erase sectors but also smaller 4 KiB ones when needed. This is no longer the case in ath79 with newer kernels so, to be able to write to these 4 KiB small partitions without erasing 60 KiB around, the CONFIG_MTD_SPI_NOR_USE_4K_SECTORS symbol was added to the defaults. However, this ended up making sysupgrade images which were built with 64 KiB size blocks not to keep settings (e.g., the files under /etc/config/) over the flashing process. Using 4 KiB erase sector size on the sysupgrade images (by setting BLOCKSIZE = 4k) allows keeping settings over a flashing process, but renders the process terribly slow, possibly causing a user to mistakenly force a manual device reboot while the process is still on- going. Instead, ditching the 4 KiB erase sectors for the default 64 KiB erase size provides normal SPI write speed and sysupgrade times, at the expense of not being able to modify the soft_config partition (which is rarely a required thing). An OpenWrt patch for MTD_SPI_NOR_USE_4K_SECTORS_LIMIT may once have allowed to use different per-partition erase sector sizes. Due to changes on recent kernels it now only works on a per-device basis. Also, partial eraseblock write can be performed in ath79 with kernels 5.4 and lower, by copying the blocks from the 64 KiB, erasing the whole sector and restoring those blocks not meant to be modified. A kernel bump had that patch broken for a long time, but got fixed in bf2870c. Note: the settings in the soft_config partition can be reset to their defaults by holding the reset button for 5 seconds (and less than 10 seconds) at device boot. Fixes: FS#3492 (sysupgrade […] loses settings...) Fixes: a66eee63368e (ath79: add mikrotik subtarget) Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* bcm53xx: bridge all LAN ports on Linksys EA9500Rafał Miłecki2021-10-221-1/+1
| | | | | | External switch ports need to be bridged too. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: switch to the upstream DSA-based b53 driverRafał Miłecki2021-10-215-77/+49
| | | | | | | | | | 1. Drop swconfig 2. Simplify network setup 3. Verify network config 4. Disable Buffalo WZR-900DHP for now - it misses ports definition Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Reviewed-By: Christian Lamparter <chunkeey@gmail.com>