openwrt/staging/blocktrron.git
2 weeks agoarmsr: don't limit kmods to armsr armv8 subtarget
Christian Marangi [Sun, 27 Oct 2024 09:02:55 +0000 (10:02 +0100)]
armsr: don't limit kmods to armsr armv8 subtarget

Drop limitation on depending on only armv8 for armsr target as those
module should support both 32 and 64 bits systems.

Only thunderx-net actually require 64 bit systems.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agodsl-vrx200-firmware-xdsl: fix PKG_VERSION for APK
Paul Spooren [Fri, 12 Apr 2024 17:01:57 +0000 (19:01 +0200)]
dsl-vrx200-firmware-xdsl: fix PKG_VERSION for APK

The version was a mix of strings, hex numbers and semantic numbers.

Switch the PKG_VERSION to something digestible by APK and introduce
PKG_SOURCE_VERSION to handle the actual filename.

While at it, drop the redundant PKG_B_NAME which was the same as
PKG_NAME anyway.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 weeks agolayerscape: drop fmc and fmc-eth-config package
Christian Marangi [Sat, 26 Oct 2024 21:17:46 +0000 (23:17 +0200)]
layerscape: drop fmc and fmc-eth-config package

Drop fmc and fmc-eth-config package as they were never actually
submitted to openwrt mainline and they don't exist around.

They are probably part of NXP SDK and were added due to copy-paste
errors.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agolayerscape: set firmware package to skip installation
Christian Marangi [Sat, 26 Oct 2024 21:16:21 +0000 (23:16 +0200)]
layerscape: set firmware package to skip installation

Add the '~' prefix to package that needs to skip installation as they
are meta-package just to download and compile firmware package for the
final firmware.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agobuild: introduce support to declare skip package
Christian Marangi [Sat, 26 Oct 2024 20:57:46 +0000 (22:57 +0200)]
build: introduce support to declare skip package

It seems some target started declaring package in DEVICE_PACKAGES just
to call InstallDev and generate binary for the image firmware.

This is very much used by layerscape target where trusted-firmware-a and
dependency are called for final image generation.

This is problematic for APK since it's more sensible to non exisiting
package.

To handle this, introduce a prefix '~' for a package that will signal to
build the package but not install it in the final image.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoomnia-mcutool: fix version for APK
Christian Marangi [Sat, 26 Oct 2024 10:29:32 +0000 (12:29 +0200)]
omnia-mcutool: fix version for APK

Refactor version of omnia-mcutool for APK.

Switch to git clone and use hash instead of converting 0.3-rc3 to 0.3.3.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoadb: fix version for APK
Christian Marangi [Sat, 26 Oct 2024 09:50:21 +0000 (11:50 +0200)]
adb: fix version for APK

Refactor version of adb for APK.

Use HASH instead of rc tag.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoapk: switch to wget url backend for HOST tool
Christian Marangi [Fri, 25 Oct 2024 20:35:02 +0000 (22:35 +0200)]
apk: switch to wget url backend for HOST tool

Switch APK to wget url backend for HOST tool to handle a problem with
libressl.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoramips: mt7621: drop kmod-i2c-ralink from ASUS RP-AC56
Christian Marangi [Fri, 25 Oct 2024 12:56:20 +0000 (14:56 +0200)]
ramips: mt7621: drop kmod-i2c-ralink from ASUS RP-AC56

Drop kmod-i2c-ralink from ASUS RP-AC56 as it was wrongly added. Such
kmod is not supported on mt7621 as i2c is handled by the mediatek driver
and not bay the ralink downstream one.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agobcm27xx-utils: fix version for APK
Christian Marangi [Fri, 25 Oct 2024 10:27:28 +0000 (12:27 +0200)]
bcm27xx-utils: fix version for APK

Refactor version of bcm27xx-utils for APK.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agomsx: fix wrong device package list for I2SE Duckbill
Christian Marangi [Fri, 25 Oct 2024 09:56:45 +0000 (11:56 +0200)]
msx: fix wrong device package list for I2SE Duckbill

Fix wrong package device list that is trying to remove deprecated
packages. Replace with new variant where possible.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoadb-enablemodem: fix version for APK
Christian Marangi [Fri, 25 Oct 2024 08:25:10 +0000 (10:25 +0200)]
adb-enablemodem: fix version for APK

Refactor version of adb-enablemodem for APK.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoapk: add patch adding support for ARM Big-Endian arch
Christian Marangi [Thu, 24 Oct 2024 23:12:35 +0000 (01:12 +0200)]
apk: add patch adding support for ARM Big-Endian arch

Add patch adding support for ARM Big-Endian arch like Intel XScale
IXP4xx SoC.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoipq40xx: drop ipq-wifi-teltonika_rutx from Teltonika RUTX50
Christian Marangi [Thu, 24 Oct 2024 22:47:07 +0000 (00:47 +0200)]
ipq40xx: drop ipq-wifi-teltonika_rutx from Teltonika RUTX50

Drop ipq-wifi-teltonika_rutx from Teltonika RUTX50, the board file was
merged upstream but the ipq package was never dropped from
DEVICE_PACKAGES list.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agomac80211: reintroduce rt61/rt73 support
Christian Marangi [Thu, 24 Oct 2024 22:12:05 +0000 (00:12 +0200)]
mac80211: reintroduce rt61/rt73 support

Reintroduce rt61/rt73 support as they looks to be pretty standard and
currently required by Gemini or Xway-legacy targets.

Notice that they are b/g card.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agobcm53xx: drop kmod-ledtrig-default-on and kmod-ledtrig-netdev
Christian Marangi [Thu, 24 Oct 2024 21:46:44 +0000 (23:46 +0200)]
bcm53xx: drop kmod-ledtrig-default-on and kmod-ledtrig-netdev

Drop kmod-ledtrig-default-on and kmod-ledtrig-netdev as the kmod were
dropped and are now enabled by default.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoath79: replace ancient kmod-ledtrig-usbdev with kmod-usb-ledtrig-usbport
Christian Marangi [Thu, 24 Oct 2024 21:37:24 +0000 (23:37 +0200)]
ath79: replace ancient kmod-ledtrig-usbdev with kmod-usb-ledtrig-usbport

Replace ancient kmod-ledtrig-usbdev dropped from 2016 with
kmod-usb-ledtrig-usbport upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agobcm27xx-gpu-fw: fix version for APK
Christian Marangi [Thu, 24 Oct 2024 21:23:03 +0000 (23:23 +0200)]
bcm27xx-gpu-fw: fix version for APK

Refactor version of bcm27xx-gpu-fw for APK.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoimagebuilder: complete support for local signing keys
Christian Marangi [Thu, 24 Oct 2024 18:45:01 +0000 (20:45 +0200)]
imagebuilder: complete support for local signing keys

Complete support for local signing keys for APK.

A local key will be always generated, mkndx is always called with
--allow-untrusted as it needs to replace the sign key with the new local
one.

With CONFIG_SIGNATURE_CHECK the local index is signed with the local
key. Local public key is added with the ADD_LOCAL_KEY option.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoimagebuilder: actually support IB from buildbot
Christian Marangi [Thu, 24 Oct 2024 18:36:43 +0000 (20:36 +0200)]
imagebuilder: actually support IB from buildbot

ImageBuilder compiled by buildbot doesn't have any package in the
packages directory. Package needs to be downloaded instead.

This works by calling update to the package manage to download the
remove index and download the file.

Fix missing support for this with APK, by configuring the
--repositories-file option and calling the APK update.

Also move the apk add --initdb to package_index.

If CONFIG_SIGNATURE_CHECK is not enabled, the signature is not checked.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoimagebuilder: correctly export PACKAGE_DIR and PACKAGE_DIR_ALL
Christian Marangi [Thu, 24 Oct 2024 18:32:42 +0000 (20:32 +0200)]
imagebuilder: correctly export PACKAGE_DIR and PACKAGE_DIR_ALL

Correctly export PACKAGE_DIR and PACKAGE_DIR_ALL so that they won't be
reset on internal call of rules.mk

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoimagebuilder: copy apk keys with CONFIG_SIGNATURE_CHECK
Christian Marangi [Thu, 24 Oct 2024 18:29:52 +0000 (20:29 +0200)]
imagebuilder: copy apk keys with CONFIG_SIGNATURE_CHECK

With CONFIG_SIGNATURE_CHECK enabled, copy keys following OPKG pattern.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agobuild: detach apk repository handling from rootfs.mk
Christian Marangi [Thu, 24 Oct 2024 18:25:06 +0000 (20:25 +0200)]
build: detach apk repository handling from rootfs.mk

To better support imagebuilder declaring --repositories-file on calling
apk macro, detach this and --repository from rootfs.mk macro and move it
to package Makefile and image.mk where they are used to permit a more
generic usage.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agobuild: permit overwrite PACKAGE_DIR and PACKAGE_DIR_ALL
Christian Marangi [Thu, 24 Oct 2024 18:13:07 +0000 (20:13 +0200)]
build: permit overwrite PACKAGE_DIR and PACKAGE_DIR_ALL

Permit to overwrite PACKAGE_DIR and PACKAGE_DIR_ALL variables in
rules.mk.

This is to handle a special case with the ImageBuilder where these
variable are overwrite.

The main problem is that any include calling rules.mk again (example
image.mk) will set these variables again dropping the modified value.

To keep the modified value, set the PACKAGE_DIR and PACKAGE_DIR_ALL only
if not already set. This permits the ImageBuilder to use custom
directory instead of the default one defined in rules.mk.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agocypress-firmware: fix version for APK
Paul Spooren [Fri, 23 Aug 2024 21:46:52 +0000 (23:46 +0200)]
cypress-firmware: fix version for APK

Refactor version for cypress-firmware for APK.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoapk: bump to latest HEAD 2024-10-28
Christian Marangi [Mon, 28 Oct 2024 23:03:39 +0000 (00:03 +0100)]
apk: bump to latest HEAD 2024-10-28

Bump APK to latest HEAD 2024-10-28.

- Minor fixed to index inherit
- Fixup to adb_w_copy

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoairoha: an7581: replace TRNG patch with upstream version
Christian Marangi [Mon, 28 Oct 2024 13:01:52 +0000 (14:01 +0100)]
airoha: an7581: replace TRNG patch with upstream version

Replace TRNG patch with upstream version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 weeks agoxdp-tools: fix compilation when bpftool is installed
Til Kaiser [Sun, 27 Oct 2024 13:02:14 +0000 (14:02 +0100)]
xdp-tools: fix compilation when bpftool is installed

Currently, xdp-tools doesn't compile on build systems where
bpftool is installed because additional tools and BPF programs
will be compiled then, which results in build errors.

This commit disables the compilation of those bpftool-dependent tools.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16787
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 weeks agodns320l-mcu: bump to 2024-10-27
Zoltan HERPAI [Sun, 27 Oct 2024 17:36:12 +0000 (17:36 +0000)]
dns320l-mcu: bump to 2024-10-27

Improve support for power button handling.

d9a2878 - Use /sys/class/gpio/mcu_power for monitoring the MCU power line
02b6005 - Use "halt" instead of "shutdown"

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 weeks agokirkwood: dns320l: export mcu_power GPIO
Zoltan HERPAI [Sun, 27 Oct 2024 17:35:11 +0000 (17:35 +0000)]
kirkwood: dns320l: export mcu_power GPIO

This GPIO is pulled down by the onboard MCU when the power button
is pressed for 5 seconds, indicating a user-initiated shutdown.

Refresh patches at the same time.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
3 weeks agorealtek: ethernet: Improve SMI polling configuration based on DTS
Markus Stockhausen [Sun, 15 Sep 2024 17:01:41 +0000 (13:01 -0400)]
realtek: ethernet: Improve SMI polling configuration based on DTS

Although Zyxel XGS1210 devices are not yet officially supported there
are several patches floating around to enable them. This is a very imporant
one because it fixes a SMI misconfiguration. In the known DTS the SFP+
port settings are set as follows.

  phy26: ethernet-phy@26 {
    compatible = "ethernet-phy-ieee802.3-c45";
    phy-is-integrated;
    reg = <26>;
    sds = < 8 >;
  };

  phy27: ethernet-phy@27 {
    compatible = "ethernet-phy-ieee802.3-c45";
    phy-is-integrated;
    reg = <27>;
    sds = < 9 >;
  };

So these are PHYs linked to an internal SerDes. During initialization
rtl838x_mdio_init() generates smi_bus=0 & smi_addr=27/28 for these ports.
Although this seems like a valid configuration integrated PHYs attached
to an SerDes do not have an SMI bus. Later on the mdio reset wrongly feeds
the SMI registers and as a result the PHYs on SMI bus 0 do not work.

Without patch (loaded with rtk network on & initramfs):

...
mdio_bus mdio-bus: MDIO device at address 0 is missing.
mdio_bus mdio-bus: MDIO device at address 1 is missing.
mdio_bus mdio-bus: MDIO device at address 2 is missing.
mdio_bus mdio-bus: MDIO device at address 3 is missing.
mdio_bus mdio-bus: MDIO device at address 4 is missing.
mdio_bus mdio-bus: MDIO device at address 5 is missing.
mdio_bus mdio-bus: MDIO device at address 6 is missing.
mdio_bus mdio-bus: MDIO device at address 7 is missing.
...
rtl83xx-switch ... : no phy at 0
rtl83xx-switch ... : failed to connect to PHY: -ENODEV
rtl83xx-switch ... : error -19 setting up PHY for tree 0, switch 0, port 0
rtl83xx-switch ... : no phy at 1
rtl83xx-switch ... : failed to connect to PHY: -ENODEV
rtl83xx-switch ... : error -19 setting up PHY for tree 0, switch 0, port 1
...

With patch (loaded with rtk network on & initramfs):

...
rtl83xx-switch ... : PHY [mdio-bus:00] driver [REALTEK RTL8218D] (irq=POLL)
rtl83xx-switch ... : PHY [mdio-bus:01] driver [REALTEK RTL8218D] (irq=POLL)
...

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: remove wrong SMI bus from XGS1250
Markus Stockhausen [Fri, 18 Oct 2024 06:20:20 +0000 (02:20 -0400)]
realtek: remove wrong SMI bus from XGS1250

The RTL930x have only 4 SMI busses (0-3) and the XGS1250 SFP port ist
directly managed. Remove the wrong configuration in the dts.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: phy: fix RTL8218D detection
Markus Stockhausen [Sun, 22 Sep 2024 17:36:14 +0000 (13:36 -0400)]
realtek: phy: fix RTL8218D detection

Currently RTL8218D detection works for a range of devices. That can lead to
false positives. E.g. RTL8218B or RTL8214FC are covered by the detection mask
as well. That is wrong. Nail detection down to the real RTL8218D phy id.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: phy: simplify RTL8214C detection
Markus Stockhausen [Fri, 18 Oct 2024 07:00:18 +0000 (03:00 -0400)]
realtek: phy: simplify RTL8214C detection

The detection of the RTL8214C is a little complicated. Make it easier.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: phy: proper RTL8218B, RTL8214FC, RTL8214FB detection
Markus Stockhausen [Sun, 22 Sep 2024 17:19:22 +0000 (13:19 -0400)]
realtek: phy: proper RTL8218B, RTL8214FC, RTL8214FB detection

Three PHYs share the same identifier. Until now we simply assume
the type depending of the bus address it is attached to. Make it
better and check the chip mode register instead.

The kernel will either detect by id/mask or by match_phy_device().
Remove the unneeded settings.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: phy: adapt raw page for RTL839X
Markus Stockhausen [Sun, 22 Sep 2024 16:46:18 +0000 (12:46 -0400)]
realtek: phy: adapt raw page for RTL839X

The number of phy pages differ between RTL838X and RTL839X. Make that
clear and adapt the existing defines.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: dsa: increase RTL839x max phy page to 8191
Markus Stockhausen [Sun, 22 Sep 2024 16:03:43 +0000 (12:03 -0400)]
realtek: dsa: increase RTL839x max phy page to 8191

According to the specs the RTL839x provides up to 8192 phy pages.
Especially the "raw" page 8191 is used for different initialization
tasks. Increase the limit.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agorealtek: dsa: allow USXGMII mode
Markus Stockhausen [Fri, 18 Oct 2024 06:14:02 +0000 (02:14 -0400)]
realtek: dsa: allow USXGMII mode

RTL930x devices need the USXGMII mode. This is a final leftover
from the 6.6 conversion.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16457
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoRevert "scripts/download.pl: read file natively"
Christian Marangi [Sun, 27 Oct 2024 14:58:16 +0000 (15:58 +0100)]
Revert "scripts/download.pl: read file natively"

This reverts commit 65560de58de7a3cde8f960849e3c7c640b9456d8.

Seems to broke CI and require more testing.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agomediatek: mt7988: add DT entries for WED
Daniel Golle [Sun, 27 Oct 2024 14:24:47 +0000 (14:24 +0000)]
mediatek: mt7988: add DT entries for WED

Add memory regions and devices used for wireless offloading to the
device tree for MT7988.

This allows using WED on devices with MT7988 SoC and MT7995E, MT7996E or
MT7992E wireless controllers.

Devices with 4 GiB of RAM (or more) will still need ajustments to avoid
running out of swiotlb entries.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 weeks agoramips: modernize pwm driver
Rosen Penev [Wed, 9 Oct 2024 20:44:56 +0000 (13:44 -0700)]
ramips: modernize pwm driver

Add more devm usage.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16649
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorockchip: Add LED aliases for FriendlyElec NanoPi R3S
Kevin Zhang [Sun, 27 Oct 2024 05:13:47 +0000 (01:13 -0400)]
rockchip: Add LED aliases for FriendlyElec NanoPi R3S

This commit adds OpenWRT's LED aliases to the board DTS
for showing system status on the NanoPi R3S.

Signed-off-by: Kevin Zhang <kevin@kevinzhang.me>
Link: https://github.com/openwrt/openwrt/pull/16738
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agorockchip: Add support for RK3566 FriendlyElec NanoPi R3S
Kevin Zhang [Sun, 27 Oct 2024 05:13:05 +0000 (01:13 -0400)]
rockchip: Add support for RK3566 FriendlyElec NanoPi R3S

This commit adds support for the FriendlyElec NanoPi R3S.

CPU: Rockchip RK3566, Quad-core Cortex-A55
RAM: 2GB LPDDR4X
Ethernet: GMAC RTL8211F GbE, PCIe R8111H GbE
USB3.0 Host: Type-A x1
Storage: MicroSD Slot x 1, and optional on-board 32GB eMMC
Debug Serial Port: 3.3V TTL, 3-pin 2.54mm pitch connector, 1500000 bauds
LED: LED x 3
RTC: One low-power RTC, supports backup battery input

Both GbE controllers are working (WAN eth0, LAN eth1).
Appropriate LAN/WAN interface assignments and MAC address generation.
All three LEDs are working.
USB appears to be working and has been tested with mass storage.

Installation - microSD:

-Uncompress the OpenWRT sysupgrade.img.gz
-Write image to microSD card using dd or similar tool

Installation - eMMC:

-Boot from microSD
-Uncompress the OpenWRT sysupgrade.img.gz
-Flash to eMMC : dd if=x.img of=/dev/mmcblk0
-sync
-Remove microSD card
-Reboot

Signed-off-by: Kevin Zhang <kevin@kevinzhang.me>
Link: https://github.com/openwrt/openwrt/pull/16738
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agouboot-rockchip: add support for NanoPi R3S
Kevin Zhang [Sun, 27 Oct 2024 05:12:01 +0000 (01:12 -0400)]
uboot-rockchip: add support for NanoPi R3S

This commit adds u-boot support for the NanoPi R3S.

Signed-off-by: Kevin Zhang <kevin@kevinzhang.me>
Link: https://github.com/openwrt/openwrt/pull/16738
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoramips: use platform_get_irq
Rosen Penev [Tue, 22 Oct 2024 23:21:46 +0000 (16:21 -0700)]
ramips: use platform_get_irq

No need for irq_of_parse_and_map since this is in _probe.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16771
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoscripts/download.pl: read file natively
Matteo Croce [Sat, 28 Sep 2024 23:01:01 +0000 (01:01 +0200)]
scripts/download.pl: read file natively

Read files natively instead of execing /bin/cat.

Signed-off-by: Matteo Croce <teknoraver@meta.com>
Link: https://github.com/openwrt/openwrt/pull/16784
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoxdp-tools: re-add vlan_hdr struct
Til Kaiser [Sun, 27 Oct 2024 13:05:50 +0000 (14:05 +0100)]
xdp-tools: re-add vlan_hdr struct

Drop the patch to re-add the vlan_hdr struct
because it is required now to build xdp-filter.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16798
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agokernel: add missing CONFIG_DM_AUDIT
Marius Dinu [Sat, 26 Oct 2024 17:10:55 +0000 (20:10 +0300)]
kernel: add missing CONFIG_DM_AUDIT

The option shows up when kmod-dm and CONFIG_KERNEL_AUDIT are selected.

Signed-off-by: Marius Dinu <m95d+git@psihoexpert.ro>
Link: https://github.com/openwrt/openwrt/pull/16793
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agokernel: add MultiPath TCP diag kernel module
Daniel Golle [Sat, 26 Oct 2024 00:35:29 +0000 (01:35 +0100)]
kernel: add MultiPath TCP diag kernel module

Add INET diag socket monitoring interface module for MultiPath TCP.
It allows using native Linux socket diagnostic tools such as 'ss' for
Multipath TCP connections.

Co-authored-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
Signed-off-by: sKy King <29267720+sKyissKy@users.noreply.github.com>
Link: https://github.com/openwrt/openwrt/pull/12884
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 weeks agokernel: enable Multi-Path TCP for !SMALL_FLASH targets
Daniel Golle [Fri, 25 Oct 2024 17:15:41 +0000 (18:15 +0100)]
kernel: enable Multi-Path TCP for !SMALL_FLASH targets

Expose Kernel's CONFIG_MPTCP option and enable it by default for
!SMALL_FLASH targets.

The idea behind enabling it by default is to allow users of the binary
distribution to make use of MPTCP tunneling for link aggregation.

Using MPTCP for link aggregation is an often discussed topic in the
forum and there is even a whole OpenWrt fork (MPTCPRouter) just for that.

Enabling the kernel-side of the story by default will allow using MPTCP
on vanilla OpenWrt without having to build anything from source.

See also https://openwrt.org/docs/guide-user/network/mptcp

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 weeks agogeneric: mtk_wed: fix path of MT7988 WO firmware
Daniel Golle [Sat, 26 Oct 2024 14:18:50 +0000 (15:18 +0100)]
generic: mtk_wed: fix path of MT7988 WO firmware

commit eee3c695f3 ("linux-firmware: add offloading firmware for MT7988")
added mt7988_wo_{0,1}.bin in the 'mediatek/mt7988' directory while driver
currently expects the files in the 'mediatek' directory.

Import pending patch which changes the path in the driver header now
that the firmware has been added.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 weeks agoairoha: Clarify subtarget compatibility
Andreas Gnau [Fri, 25 Oct 2024 16:49:48 +0000 (18:49 +0200)]
airoha: Clarify subtarget compatibility

Clarify compatibility of the two subtargets with different SoCs to
reduce confusion. The added SoC names only differ in small details such
as features enabled (PoN vs DSL for example).

Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/16785
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoramips: rt3883: convert devices to interrupt-driven gpio-keys
Shiji Yang [Wed, 23 Oct 2024 16:09:36 +0000 (00:09 +0800)]
ramips: rt3883: convert devices to interrupt-driven gpio-keys

This converts all RT3662 and RT3883 devices to use interrupt based
gpio-keys instead of gpio-keys-polled. The poll-interval will be
removed.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoramips: rt305x: convert devices to interrupt-driven gpio-keys
Shiji Yang [Wed, 23 Oct 2024 16:09:19 +0000 (00:09 +0800)]
ramips: rt305x: convert devices to interrupt-driven gpio-keys

This converts all RT305x and RT5350 devices to use interrupt based
gpio-keys instead of gpio-keys-polled. The poll-interval will be
removed.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoramips: rt2880: convert devices to interrupt-driven gpio-keys
Shiji Yang [Wed, 23 Oct 2024 16:08:25 +0000 (00:08 +0800)]
ramips: rt2880: convert devices to interrupt-driven gpio-keys

This converts all RT2880 devices to use interrupt based gpio-keys
instead of gpio-keys-polled. The poll-interval will be removed.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoramips: mt76x8: convert Minew G1-C to interrupt-driven gpio-keys
Shiji Yang [Wed, 23 Oct 2024 16:07:53 +0000 (00:07 +0800)]
ramips: mt76x8: convert Minew G1-C to interrupt-driven gpio-keys

All other MT76x8 devices have already been migrated to gpio-keys.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoramips: dts: add the missing interrupt properties for GPIO nodes
Shiji Yang [Wed, 23 Oct 2024 15:09:57 +0000 (23:09 +0800)]
ramips: dts: add the missing interrupt properties for GPIO nodes

The Ralink GPIO driver supports irqchip function. Hence we need to
add "interrupt-parent" and "interrupt-controller" properties to make
sure it works properly. It is worth noting that all GPIO devices
share the same interrupt line.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoramips: ralink-gpio: use irqchip helpers to register driver
Shiji Yang [Wed, 23 Oct 2024 13:56:23 +0000 (21:56 +0800)]
ramips: ralink-gpio: use irqchip helpers to register driver

The gpiolib has already introduced a general GPIO irqchip framework
to initialize the GPIO irqchip[1]. This patch will make use of it
to simplify the legacy Ralink GPIO driver codes. This patch also
includes some code readability improvements.

[1] 1425052097b5 ("gpio: add IRQ chip helpers in gpiolib")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16764
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agombedtls: update to 3.6.2
Hauke Mehrtens [Wed, 23 Oct 2024 22:03:13 +0000 (00:03 +0200)]
mbedtls: update to 3.6.2

Fixes the following security problem:
* CVE-2024-49195: Fix a buffer underrun in mbedtls_pk_write_key_der()
  when called on an opaque key, MBEDTLS_USE_PSA_CRYPTO is enabled, and
  the output buffer is smaller than the actual output. Fix a related
  buffer underrun in mbedtls_pk_write_key_pem() when called on an opaque
  RSA key, MBEDTLS_USE_PSA_CRYPTO is enabled and MBEDTLS_MPI_MAX_SIZE is
  smaller than needed for a 4096-bit RSA key.

Link: https://github.com/openwrt/openwrt/pull/16768
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoinclude/package-pack: Set missing Maintainer and URL for APK
Christian Marangi [Thu, 24 Oct 2024 10:46:47 +0000 (12:46 +0200)]
include/package-pack: Set missing Maintainer and URL for APK

Set missing Maintainer and URL info for .apk creation.

Fixes: d788ab376f85 ("build: add APK package build capabilities")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoinclude/package-pack: remove whitespace for Description info for APK
Christian Marangi [Thu, 24 Oct 2024 10:45:36 +0000 (12:45 +0200)]
include/package-pack: remove whitespace for Description info for APK

Remove whitespace for Description info for .apk creation

Fixes: b6bbc76c0b2a ("include/package-pack: set missing Description on .apk creation")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agompc85xx: move CONFIG_MTD_SPLIT_FIRMWARE up
Rosen Penev [Thu, 17 Oct 2024 23:27:02 +0000 (16:27 -0700)]
mpc85xx: move CONFIG_MTD_SPLIT_FIRMWARE up

It's shared by all targets. Unlike the other shared symbols, it's not
removed by kernel_oldconfig.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16756
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoapm821xx: move CONFIG_GENERIC_PHY up
Rosen Penev [Thu, 17 Oct 2024 23:48:20 +0000 (16:48 -0700)]
apm821xx: move CONFIG_GENERIC_PHY up

It's shared by both subtargets.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16754
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agokernel: bump 6.6 to 6.6.58
John Audia [Tue, 22 Oct 2024 19:59:20 +0000 (15:59 -0400)]
kernel: bump 6.6 to 6.6.58

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.58

All patches automatically rebased.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16758
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agomediatek: add wireless offloading firmware to MT7988 boards
Daniel Golle [Wed, 23 Oct 2024 12:38:55 +0000 (13:38 +0100)]
mediatek: add wireless offloading firmware to MT7988 boards

Install mt7988-wo-firmware by default on boards based on MT7988.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 weeks agolinux-firmware: add offloading firmware for MT7988
Daniel Golle [Wed, 23 Oct 2024 12:36:29 +0000 (13:36 +0100)]
linux-firmware: add offloading firmware for MT7988

Package wireless offloading firmware for MediaTek MT7988.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 weeks agoairoha: rename subtarget from en7581 to an7581
Christian Marangi [Wed, 23 Oct 2024 10:19:03 +0000 (12:19 +0200)]
airoha: rename subtarget from en7581 to an7581

The Airoha EN7581 got renamed to AN7581 due to move from Econet to
Airoha.

To save on compatibility, use both compatible for the device.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoairoha: en7581: refresh and fix PWM patch
Christian Marangi [Wed, 23 Oct 2024 10:17:40 +0000 (12:17 +0200)]
airoha: en7581: refresh and fix PWM patch

Refresh and fix PWM patch with new revision proposed upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agoinclude/package-pack: set missing Description on .apk creation
Christian Marangi [Tue, 22 Oct 2024 22:10:02 +0000 (00:10 +0200)]
include/package-pack: set missing Description on .apk creation

Set missing description info on .apk creation. This was probably a TODO
that wasn't notice when the final implementation was pushed.

Fixes: d788ab376f85 ("build: add APK package build capabilities")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agokernel: Reorder config files
Hauke Mehrtens [Sun, 20 Oct 2024 13:31:23 +0000 (15:31 +0200)]
kernel: Reorder config files

Reorder the kernel configuration files.

This was done uisng:
./scripts/kconfig-reorder.sh

Link: https://github.com/openwrt/openwrt/pull/16743
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agomediatek: Remove double CONFIG_HARDEN_BRANCH_PREDICTOR
Hauke Mehrtens [Sun, 20 Oct 2024 13:38:57 +0000 (15:38 +0200)]
mediatek: Remove double CONFIG_HARDEN_BRANCH_PREDICTOR

CONFIG_HARDEN_BRANCH_PREDICTOR option is included two times in this
configuration file. Remove one definition. On arm32 SoC it should not be
needed.

Fixes: 54f9744c820a ("treewide: disable spectre mitigation on unaffected Arm32 targets")
Link: https://github.com/openwrt/openwrt/pull/16743
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoscripts: Add script to reorder kernel config-* files
Hauke Mehrtens [Mon, 21 Oct 2024 22:02:28 +0000 (00:02 +0200)]
scripts: Add script to reorder kernel config-* files

This script will reorder the content of all config-* files in the target
folder. It will also remove duplicates. It will not remove options
already defined in the generic configuration.

Link: https://github.com/openwrt/openwrt/pull/16743
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agohostapd: fix build error with SAE disabled
Felix Fietkau [Tue, 22 Oct 2024 14:56:19 +0000 (16:56 +0200)]
hostapd: fix build error with SAE disabled

Fixes: b2a2c286170d ("hostapd: add support for authenticating with multiple PSKs via ubus helper")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agoppp: install pkg-config file on InstallDev
Christian Marangi [Tue, 22 Oct 2024 14:10:05 +0000 (16:10 +0200)]
ppp: install pkg-config file on InstallDev

It seems some package (sstp-client) makes use of pppd.pc file to detect
the ppp version as 2.5.0 changed some API.

Also install the .pc file to permit the version detection of pppd.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agowifi-scripts: add multi-radio config support
Felix Fietkau [Wed, 12 Jun 2024 13:06:05 +0000 (15:06 +0200)]
wifi-scripts: add multi-radio config support

Emit one wifi-device section per wiphy radio

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agoiwinfo: add multi-radio support
Felix Fietkau [Wed, 2 Oct 2024 17:56:52 +0000 (19:56 +0200)]
iwinfo: add multi-radio support

Fix the path to the hostapd config file for queries

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agoiw: add multi-radio support
Felix Fietkau [Sat, 29 Jun 2024 11:03:30 +0000 (13:03 +0200)]
iw: add multi-radio support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agoucode: add support for nl80211 vif radio mask
Felix Fietkau [Wed, 17 Jul 2024 14:11:30 +0000 (16:11 +0200)]
ucode: add support for nl80211 vif radio mask

Used for multi-radio support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agomac80211: improve single-wiphy multi-radio support
Felix Fietkau [Thu, 26 Sep 2024 12:15:14 +0000 (14:15 +0200)]
mac80211: improve single-wiphy multi-radio support

- add support for configuring allowed radios for a vif
- add support for monitor mode on multiple channels

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agohostapd: add support for authenticating with multiple PSKs via ubus helper
Felix Fietkau [Thu, 23 May 2024 18:16:40 +0000 (20:16 +0200)]
hostapd: add support for authenticating with multiple PSKs via ubus helper

Also supports assigning a VLAN ID based on the PSK

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agoimagebuilder: also remove vmlinuz initramfs image files
Christian Marangi [Tue, 22 Oct 2024 11:53:51 +0000 (13:53 +0200)]
imagebuilder: also remove vmlinuz initramfs image files

Also remove vmlinuz-initramfs files from final imagebuilder image as
these file are not needed.

Fixes: c85348d9abf4 ("imagebuilder: remove initramfs image files")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agouclient: update to Git HEAD (2024-10-22)
Felix Fietkau [Tue, 22 Oct 2024 11:15:48 +0000 (13:15 +0200)]
uclient: update to Git HEAD (2024-10-22)

88ae8f208dd3 uclient-http: fix a typo

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agohostapd: add support for querying bss config parameters via ubus
Felix Fietkau [Tue, 22 Oct 2024 08:59:55 +0000 (10:59 +0200)]
hostapd: add support for querying bss config parameters via ubus

Supports reading the same parameters currently being used by iwinfo.
Preparation for replacing iwinfo with a rewrite in ucode.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 weeks agouboot-envtools: ath79: add support for ALFA Network WiFi CampPro Nano Duo
Piotr Dymacz [Mon, 22 Apr 2024 09:34:27 +0000 (11:34 +0200)]
uboot-envtools: ath79: add support for ALFA Network WiFi CampPro Nano Duo

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
3 weeks agoath79: add support for ALFA Network WiFi CampPro Nano Duo
Piotr Dymacz [Mon, 22 Apr 2024 09:01:52 +0000 (11:01 +0200)]
ath79: add support for ALFA Network WiFi CampPro Nano Duo

ALFA Network WiFi CampPro Nano Duo is a dual-radio Wi-Fi signal extender
(router) in USB dongle form-factor (Type-A plug is used only for power),
based on combination of two radio chipsets: Qualcomm QCA9531 (main SOC)
and MediaTek MT7610U (connected over USB 2.0 interface).

Specifications:

- SOC:      QCA9531 v2 (650 MHz)
- DRAM:     DDR2 128 MiB (Nanya NT5TU64M16HG-AC)
- Flash:    16 MiB SPI NOR (Macronix MX25L12835F)
- Ethernet: 1x 10/100 Mbps Ethernet (QCA9531)
- Wi-Fi:    2x2:2 2.4   GHz Wi-Fi 4 (QCA9531)
            1x1:1 2.4/5 GHz Wi-Fi 5 (MT7610U)
- Antenna:  3x RP-SMA (female) antenna connectors
- LED:      1x orange (RJ45, power indicator)
            2x green  (status + RJ45 activity/link)
            1x blue   (Wi-Fi 2.4 GHz status)
- Button:   1x button (reset)
- UART:     1x 4-pin, 2.00 mm pitch header on PCB
- Other:    external h/w watchdog (EM6324QYSP5B, enabled by default)
            GPIO-controlled USB power for MT7610U

MAC addresses:

- LAN:                 00:c0:ca:xx:xx:6d (art 0x2, -1)
- 2.4 GHz (QCA9531):   00:c0:ca:xx:xx:6e (art 0x2, device's label)
- 2.4/5 GHz (MT7610U): 00:c0:ca:xx:xx:6f (from eeprom)

Flash instructions:

You can use sysupgrade image directly in vendor firmware which is based
on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot:

1. Configure PC with static IP 192.168.1.2/24.
2. Connect PC with RJ45 port, press the reset button, power up device,
   wait for first blink of status LED (indicates network setup), then
   keep button for 3 following blinks and release it.
3. Open 192.168.1.1 address in your browser and upload sysupgrade image.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
3 weeks agoscripts: linksys-image: add NAND devices
Markus Stockhausen [Tue, 15 Oct 2024 12:57:41 +0000 (08:57 -0400)]
scripts: linksys-image: add NAND devices

The larger switches of the Linksys LGS series (e.g. LGS352C) make
use of NAND. So the vendor firmware uses other commands to upload
an image through the WebUI.

Add the required scripts. With this we can upload an image to all
devices of that series. Independant of NOR or NAND.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/16711
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoiptables: update to 1.8.10
Ivan Pavlov [Tue, 8 Oct 2024 20:41:27 +0000 (23:41 +0300)]
iptables: update to 1.8.10

Source archive format changed to tar.xz

Removed upstreamed
  020-treewide-use-uint-instead-of-u_int.patch
  030-revert-fix-build-for-missing-ETH_ALEN-definition.patch
  040-xshared-Fix-build-for-Werror-format-security.patch
  050-build-fix-error-during-out-of-tree-build.patch
  060-libxtables-unexport-init_extensions-declarations.patch
  070-extensions-string-Review-parse_string-function.patch
  104-nft-track-each-register-individually.patch

Manually rebased
  600-shared-libext.patch

Change netfiletr.mk due to module name change
  https://git.netfilter.org/iptables/commit/?id=f30c5edce0413b2b2346c7f58e801f10f6e9bc5a

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16641
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agokernel: move CONFIG_DRM_OFDRM to generic
Rosen Penev [Mon, 14 Oct 2024 21:06:57 +0000 (14:06 -0700)]
kernel: move CONFIG_DRM_OFDRM to generic

Multiple platforms are affected by this, including mpc85xx's p1020.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16746
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agokernel: gpio-cascade: use gpiochip_get_data
Rosen Penev [Sat, 19 Oct 2024 23:04:26 +0000 (16:04 -0700)]
kernel: gpio-cascade: use gpiochip_get_data

Instead of passing NULL to gpiochip_add_data, we can populate the
parameter and use gpiochip_get_data instead of a custom function.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16739
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agotreewide: remove platform_get_resoruce
Rosen Penev [Thu, 26 Sep 2024 23:36:35 +0000 (16:36 -0700)]
treewide: remove platform_get_resoruce

Easier to just use devm_platform_ioremap_resource.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16701
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agobcm53xx: add support for Cisco Meraki MX64/MX65
Matthew Hagan [Mon, 6 Sep 2021 22:42:35 +0000 (22:42 +0000)]
bcm53xx: add support for Cisco Meraki MX64/MX65

This commit adds support for the Cisco Meraki MX64 and MX65 devices which
use the Broadcom NSP SoC, which is compatible with the bcm53xx platform.

MX64 Hardware info:
  - CPU: Broadcom BCM58625 Cortex A9 @ 1200Mhz
  - RAM: 2 GB (4 x 4Gb SK Hynix H5TC4G83CFR)
  - Storage: 1 GB (Micron MT29F8G08ABACA)
  - Networking: BCM58625 internal switch (5x 1GbE ports)
  - USB: 1x USB2.0
  - Serial: Internal header

MX65 Hardware info:
  - CPU: Broadcom BCM58625 Cortex A9 @ 1200Mhz
  - RAM: 2 GB (4 x 4Gb SK Hynix H5TC4G83CFR)
  - Storage: 1 GB (Micron MT29F8G08ABACA)
  - Networking: BCM58625 switch (2x 1GbE ports, used for WAN ports 1 & 2)
    2x Qualcomm QCA8337 switches (10x 1GbE ports, used for LAN ports 3-12)
  - PSE: Broadcom BCM59111KMLG connected to LAN ports 11 & 12
  - USB: 1x USB2.0
  - Serial: Internal header

Notes:
  - The Meraki provided GPL source are available at [2].
  - Wireless capability on the MX64W and MX65W exists in the form of 2x
    Broadcom BCM43520KMLG, which is not supported. These devices will work
    otherwise as standard MX64 or MX65 devices.
  - Early MX64 units use an A0 variant of the BCM958625 SoC which lacks
    cache coherency and uses a different "secondary-boot-reg". As a
    consequence a different device tree is needed.
  - Installation of OpenWrt requires changing u-boot to a custom version.
    This is due to the stock u-boot "nand read" command being limited to
    load only 2MB, in spite of the bootkernel1 and bootkernel2 partitions
    both being 3MB in the stock layout. It is also required to allow
    booting via USB, enabling cache coherency and setting up the QCA
    switches and Serdes link on the MX65. The modified sources for U-boot
    are available for the MX64[3] and MX65[4].
  - Initial work on this device used a small bootloader within the OEM
    partition scheme. To allow booting of larger kernels, UBI and bootm
    support has been added, along with ability to store env variables to
    the NAND. The Shmoo and newly created env partitions have been moved
    to the extra space available after the nvram data.
  - Users who installed the previous non-UBI supporting bootloader will
    need to convert to the new one before flashing a compatible image.
    These steps are detailed below.

References:

[1] https://www.broadcom.com/products/embedded-and-networking-processors/c
ommunications/bcm5862x
[2] https://dl.meraki.net/wired-14-39-mx64-20190426.tar.bz2
[3] https://github.com/clayface/U-boot-MX64-20190430_MX64
[4] https://github.com/clayface/U-boot-MX64-20190430_MX65

Installation guide:

Initial installation steps:
  1. Compile or obtain OpenWrt files for the MX64 or MX65, including
     u-boot[3][4], initramfs and sysupgrade images.
  2. A USB disk with DOS partition scheme and primary FAT partition is
     required.
  3. If installing onto an MX64, set up a local web server.
  4. On the device, boot into diagnostic mode by holding reset when
     powering on the device. Continue to hold reset until the orange LED
     begins to flash white. On used units the white flash may be difficult
     to see.
  5. Plug an Ethernet cable into the first LAN port, set the host to
     192.168.1.2 and confirm telnet connectivity to 192.168.1.1.

U-boot installation - MX64 Only:
  1. Newer fw versions require extra steps to support OpenWrt. To check,
     please connect via telnet and run:
        `cat /sys/block/mtdblock0/ro`
     If the result is 1, your mtd0 is locked will need to perform extra
     steps 4 and 5 in this section. If the result is 0 then skip these.

  2. Check which SoC is in use by running the following command:
        `devmem 0x18000000`
     If devmem is not found then try:
        `devmem2 0x18000000`
     If the output begins with anything between "0x3F00-0x3F03" you will
     need to use the A0 release. For any other output, eg "0x3F04" or
     higher, use the regular MX64 image.

  3  Confirm the size of the device's boot(mtd0) partition. In most
     cases it should be 0x100000 or larger. If this is the case, please
     proceed to use the uboot_mx64 image. If the reported size is
     0x80000, please use the uboot_mx64_small image, then follow the
     later guide to change to the larger image.
        `cat /proc/mtd`
     Example output:
        `# cat /proc/mtd
        cat /proc/mtd
        dev:    size   erasesize  name
        mtd0: 00100000 00040000 "boot"
        mtd1: 00080000 00040000 "shmoo"
        mtd2: 00300000 00040000 "bootkernel1"
        mtd3: 00100000 00040000 "nvram"
        mtd4: 00300000 00040000 "bootkernel2"
        mtd5: 3f700000 00040000 "ubi"
        mtd6: 40000000 00040000 "all"`

  4. Set up a webserver to serve the appropriate uboot_mx64 from the
     following location and verify the SHA512:
     https://github.com/clayface/U-boot-MX64-20190430_MX64

  5. (Only if mtd0 is locked) You will also need the mtd-rw.ko kernel
     module to unlock the partition from the same repo. An mtd executable
     is also needed to write the mtd block. Place these on the web server
     as well.

  6. (Only if mtd0 is locked) Use wget to retrieve the files on the MX64:
        `wget http://192.168.1.2/mtd-rw.ko`
        `insmod mtd-rw.ko i_want_a_brick=1`
     and confirm the unlock is set with dmesg
        `mtd-rw: mtd0: setting writeable flag`

  7. Download the appropriate u-boot image according to step 3. If you
     did not need to unlock the mtd0 partition then use dd to write the
     file, with caution:
        `wget http://192.168.1.2/uboot_mx64`
        `dd if=uboot_mx64 of=/dev/mtdblock0`
     If you needed to unlock the mtd0 partition using the mtd-rw module,
     run these commands instead to install u-boot instead:
        `wget http://192.168.1.2/mtd`
        `chmod +x mtd`
        `wget http://192.168.1.2/uboot_mx64`
        `./mtd write uboot_mx64 /dev/mtd0`

  8. Once this has successfully completed, power off the device. If you
     did not need to install the small u-boot image, proceed to
     "OpenWrt Installation". Otherwise proceed to "UBI supporting
     bootloader installation".

U-boot installation - MX65 Only:
  1. Obtain telnet access to the MX65.

  2. Confirm the size of the device's boot(mtd0) partition. In most
     cases it should be 0x100000 or larger. If this is the case, please
     proceed to use the uboot_mx65 image. If the reported size is
     0x80000, please use the uboot_mx65_small image, then follow the
     later guide to change to the larger image.
`cat /proc/mtd`

  3. Prepare a USB drive formatted to FAT. Download the appropriate
     uboot_mx65 to the USB drive from the following location and verify
     the SHA512:
        https://github.com/clayface/U-boot-MX64-20190430_MX65

  3. Once you have telnet access to the MX65, plug in the USB disk and
     run the following commands, with caution. The USB disk should
     automount but if it does not, you will need to power off and on
     again with reset held. Depending on step 2, use the uboot_mx65 or
     uboot_mx65_small image accordingly:
        `cd /tmp/media/sda1`
        `dd if=uboot_mx65 of=/dev/mtdblock0`

  4. Once this has successfully completed, power off the device. If you
     did not need to install the small u-boot image, proceed to
     "OpenWrt Installation". Otherwise proceed to "UBI supporting
     bootloader installation".

UBI supporting bootloader installation:
  These steps need to be followed if the older u-boot image was
  installed, either because the Meraki diagnostic partition scheme used
  0x80000 as the mtd0 size, or because you installed the u-boot provided
  while OpenWrt support was still under development. If using OpenWrt,
  please make a backup before proceeding.

  1. Obtain the relevant image from the MX64(A0) or MX65 u-boot repo:
        `openwrt-bcm5862x-generic-meraki_XXXX-initramfs-kernel.bin`

  2. With the USB drive already inserted, power on the device while
     holding the reset button. A white/orange flashing pattern will
     occur shortly after power on. Let go of the reset button. The
     device is now booting into OpenWrt initramfs stored on the USB
     disk.

  3. Connect by SSH to 192.168.1.1 and flash the embedded u-boot image,
     changing X as appropriate:
        `mtd write /root/uboot_mx6X /dev/mtd0`
     You do not need to reboot as this image can handle "Kernel-in-UBI"
     OpenWrt installation.

  4. You can proceed to obtain and flash the appropriate OpenWrt image
     at "OpenWrt Installation" Step 3.

  5. Reboot will take significantly longer due to Shmoo calibration. In
     case the device does not come online after several minute, power-
     cycle the device and see if it boots. If you see an orange/white
     flashing pattern, this indicates UBI booting was not successful and
     you will need to copy a new bcm53xx image to a USB disk before
     booting it and attempting to install OpenWrt again - refer to
     "OpenWrt Installation" step 1. Do not attempt to reflash u-boot in
     this scenario.

OpenWrt Installation:
  1. Having obtained an OpenWrt image, please copy the file
        `openwrt-bcm53xx-generic-meraki_XXXX-initramfs.bin`
     to the base directory of a FAT formatted USB drive using DOS
     partition scheme ,where XXXX is mx64, mx64_a0 or mx65 depending on
     which device you have.

  2. With the USB drive already inserted, power on the device. Boot time
     will be longer than usual while Shmoo calibration takes place. A
     different white/orange flashing pattern will eventually occur to
     indicate device is now booting into OpenWrt initramfs stored on the
     USB disk.

  3. Ensuring Ethernet is plugged into a LAN port with IP set in the
     192.168.1.0/24 subnet excluding 192.168.1.1, use SCP to copy the
     sysupgrade file to 192.168.1.1:/tmp, eg:
        `scp openwrt-bcm53xx-generic-meraki_XXXX-squashfs.sysupgrade.bin\
        192.168.1.1:/tmp`

  4. Connect by SSH to 192.168.1.1 and run sysupgrade:
        `sysupgrade \
        /tmp/openwrt-bcm53xx-generic-meraki_XXXX-squashfs.sysupgrade.bin`

  5. OpenWrt should now be installed on the device.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
[ Rebase kernel configuration for 6.6,
  fix failsafe by making kmod-eeprom-at24 and kmod-dsa-qca8k built-in,
  resolve conflicts,
  add LED aliases,
  fix eth0 MAC address at probe ]

TODO:
- fix multiple LED colors not applied despite aliases - due to custom
  /etc/diag.sh
- fix race condition between preinit and probing of the DSA tree,
  causing no network interface available in failsafe mode (in general
  case - to allow moving drivers back to modules)

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agobcm53xx: enable CONFIG_NET_DSA_QCA8K
Lech Perczak [Wed, 2 Oct 2024 13:10:48 +0000 (15:10 +0200)]
bcm53xx: enable CONFIG_NET_DSA_QCA8K

Enable support for qca8k switch used in Meraki MX65. This is required to
properly support preinit networking on this device, otherwise unit won't
be accessible in failsafe mode.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agobcm53xx: enable CONFIG_I2C_BCM_IPROC
Lech Perczak [Wed, 2 Oct 2024 14:23:13 +0000 (16:23 +0200)]
bcm53xx: enable CONFIG_I2C_BCM_IPROC

This is required for the AT24 EEPROM holding MAC address on Meraki
devices to probe before preinit starts, so all network devices can be
available at the preinit network setup starts

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agobcm53xx: enable CONFIG_EEPROM_AT24
Lech Perczak [Wed, 2 Oct 2024 13:07:47 +0000 (15:07 +0200)]
bcm53xx: enable CONFIG_EEPROM_AT24

Meraki MX6x devices use them to store MAC address, so it is required to be
built-in for networking to probe properly, before preinit network setup
happens, which in turn is required for proper failsafe mode access.
Enable CONFIG_EEPROM_AT24 for the target.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agobcm53xx: meraki: backport NVMEM layout syntax patch
Lech Perczak [Sun, 20 Oct 2024 22:58:21 +0000 (00:58 +0200)]
bcm53xx: meraki: backport NVMEM layout syntax patch

This patch is required to support reading MAC address on Meraki MX64/65
line of devices, but also touches MR32, so let's backport it first.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agobcm53xx: MR26,MR32: use REQUIRE_IMAGE_METADATA
Matthew Hagan [Sun, 5 Sep 2021 22:25:07 +0000 (22:25 +0000)]
bcm53xx: MR26,MR32: use REQUIRE_IMAGE_METADATA

This patch adds "REQUIRE_IMAGE_METADATA=1" requirement for the MR26 and
MR32, with REQUIRE_IMAGE_METADATA explicitly 0 elsewhere. This is based
upon bcm63xx's base-files/lib/upgrade/platform.sh.

Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16634
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 weeks agoapm821xx: nand: add NVMEM-on-UBI support
Rosen Penev [Wed, 2 Oct 2024 21:59:04 +0000 (14:59 -0700)]
apm821xx: nand: add NVMEM-on-UBI support

Oversight from 8d302f5ebc6e2787d01d6c6a8ef6bcc403949705 , which requires
this to work. I couldn't test it as I ended up wiping my UBI volume by
accident.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoapm821xx: remove ethernet0 node
Rosen Penev [Sat, 5 Oct 2024 22:25:08 +0000 (15:25 -0700)]
apm821xx: remove ethernet0 node

This is needed in order to get a MAC address from UBI.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoapm821xx: fix volume/volname
Rosen Penev [Sat, 5 Oct 2024 19:05:41 +0000 (12:05 -0700)]
apm821xx: fix volume/volname

linux,ubi expects the volname variable, not volume.

This will fix NVMEM-on-UBI.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 weeks agoapm821xx: nand: add missing symbols
Rosen Penev [Wed, 2 Oct 2024 21:47:08 +0000 (14:47 -0700)]
apm821xx: nand: add missing symbols

Since kernel_oldconfig doesn't work properly with it, I ran that first
and then moved all the config symbols to config-6.6 and found the
differences.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16580
Signed-off-by: Robert Marko <robimarko@gmail.com>