Commit graph

67814 commits

Author SHA1 Message Date
Christian Marangi
5f983981db
airoha: add pending patch for additional GPIO pins for PHY LED0
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Add a pending patch that permits additional GPIO pins (43-46) for PHY LED0.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-10 16:40:04 +01:00
Rosen Penev
ed70a07d15
ipq806x: ap3935: fix uboot nvmem
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
In the transition to nvmem-layout and subsequent disabling of non layout
u-boot-env, this device was left out.

Transition to nvmem-layout to fix the mac address.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22263
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-10 13:38:33 +01:00
Rosen Penev
9ad31bb48f
ipq806x: use nvmem for calibration
Userspace handling is deprecated.

These are identical to NBG6617, which was tested as working.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22263
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-10 13:38:33 +01:00
Rosen Penev
6cc149f167
ipq806x: mr42/mr52: use nvmem for caldata
Userspace handling is deprecated.

UBI nvmwem has been supported for quite a while now.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22263
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-10 13:38:33 +01:00
Rosen Penev
82b8feabc0
ipq806x: e8350: use nvmem for MAC address
Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22263
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-10 13:38:32 +01:00
Rosen Penev
eadd81b17e
kernel: ssb: fallback-sprom: check deferred probe
When NVMEM is not ready, of_get_mac_address fails. Handle this.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22305
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-10 13:35:31 +01:00
Rosen Penev
04ed8c94ce
kernel: bcma: fallback-sprom: check defered probe
When NVMEM is not ready, of_get_mac_address fails. Handle this.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22305
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-10 13:35:31 +01:00
Nikita Ostrenkov
d50b20b2e3
sdk: use TOOLCHAIN_DIR_NAME for STAGING_SUBDIR_TOOLCHAIN
Like a STAGING_SUBDIR_TARGET which uses TARGET_DIR_NAME, we can use TOOLCHAIN_DIR_NAME for STAGING_SUBDIR_TOOLCHAIN to avoid code duplication.

Signed-off-by: Nikita Ostrenkov <ownik.dev@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22315
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-10 13:34:31 +01:00
Rosen Penev
24ce1491cc bcm53xx: backport pcie patches
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Needed for various fixes.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22307
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-10 11:23:45 +01:00
Markus Stockhausen
b995f318b2 realtek: rtl838x: fix non-functional reboot
RTL838x devices cannot reboot if the flash controller is driven in
4 byte mode. Unitl fdc3776 ("realtek: pcs: fix PLL_CML_CTRL for
serdes 0/1") this bit was luckily cleared by a coding error. Since
then the device cannot be rebooted anymore.

Looking at the SDK one can see that this bit is reset short before
the reboot happens. But we might need that in critical situations
where there is no chance to do it right in time. As the RTL838x
always ran with the bit disabled restore the old behaviour. This
time implement it as a documented quirk so it does not get lost.

Fixes: fdc3776 ("realtek: pcs: fix PLL_CML_CTRL for serdes 0/1")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22334
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-10 10:34:23 +01:00
Eric Fahlgren
5816d883ff build: segregate build artifacts by host architecture
Add structured data to each of the build artifacts listed in
profiles.json, in order to accomodate future inclusion of different
build host architectures.

Link: https://github.com/openwrt/openwrt/pull/22264#issuecomment-4014914414
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22331
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-10 10:33:19 +01:00
Hauke Mehrtens
a919299993 wifi-scripts: fix handling spaces in wifi client config
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Escape identity anonymous_identity password ca_cert and ca_cert2 in a wifi
client configuration. This fixes the handling of configuration options
containing spaces and other strings which need escaping.

Fixes: https://github.com/openwrt/openwrt/issues/22212
Link: https://github.com/openwrt/openwrt/pull/22237
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-10 00:48:19 +01:00
Eric Fahlgren
5d71d9a4be firewall4: prefer over firewall as dependency
When the virtual package "uci-firewall" is installed, the choice
between "firewall" and "firewall4" is arbitrary, sometimes resulting
in one, sometimes the other.

Set the default variant on "firewall4" to make it the preferred
package when installed as a dependency.

Link: https://forum.openwrt.org/t/owut-openwrt-upgrade-tool/200035/1126
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22328
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-10 00:47:21 +01:00
Hauke Mehrtens
e558d763be ustream-ssl: update to Git HEAD (2026-03-01)
99f1c0db5a72 ustream-openssl: Fix use-after-free crash under high load and optimize BIO_METHOD lifecycle

Fixes: https://github.com/openwrt/openwrt/issues/19349
Fixes: https://github.com/openwrt/openwrt/issues/20134
Link: https://github.com/openwrt/openwrt/pull/22335
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-10 00:46:12 +01:00
Lorenzo Bianconi
c45d063612
airoha: Enable npu for an7581-evb board
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Enable NPU module for AN7581 evaluation board.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22343
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-09 14:22:24 +01:00
Lorenzo Bianconi
fdd9b8e125
airoha: an7583: Disable flow-stats
Disable airoha-flow-stats for an7583 since it is not currently supported
by the firmware image.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22341
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-09 14:18:47 +01:00
Eric Fahlgren
c9f612bf45 apk: point help message to openwrt wiki
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Instead of directing users to the useless 'man 8 apk', we direct
them to the wiki help page.

Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22271
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-09 10:33:15 +01:00
Markus Stockhausen
898f678261 realtek: dsa: relax rtldsa_ethernet_loaded()
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
The Realtek DSA driver accesses the DTS at two locations.

- rtldsa_ethernet_loaded(): to check if ethernet driver is active
- rtl83xx_mdio_probe(): to create ports and link to pcs/phy

The first function does not directly search for the ethernet driver
but looks it up through the switch port nodes. Avoid future issues
and simply search all nodes that have a "ethernet" link to the
network driver.

While we are here add a missing put_device() to keep reference
counters clean.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22235
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-08 20:12:34 +01:00
Markus Stockhausen
02710fdfca realtek: eth: provide shared tx_header() for RTL93xx
rteth_930x_create_tx_header() and rteth_931x_create_tx_header() do
basically the same. Only exception is, that one function can handle
ports beyond 32 and the other not. Merge them into one.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22228
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-08 20:05:47 +01:00
Markus Stockhausen
fb6e2568df realtek: eth: refactor rteth_set_mac_hw()
MAC setting uses hard to read duplicated code. Additionally it
evaluates the unwanted family_id attribute. Provide the list
of MAC address registers in the configuration structure and use
a loop to fill those.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22217
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-08 20:03:03 +01:00
Markus Stockhausen
0e09c39a19 realtek: eth: cleanup hardware transmit handling
There is a workaround in the transmit path for the RTL838x SoCs. This
is basically an open coded read_poll_timeout() and makes the code hard
to read. Additionally the magic trigger calculation is not easy to
understand.

Simplify things by using kernel standards and a better macro.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22217
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-08 20:03:03 +01:00
Jonas Köppeler
50ec0a3f97 kernel: add cake_mq fixes
This adds upstreamed cake_mq fixes:
- avoiding synchronization overhead when running unlimited
- fixing diffServ rates scaling

Signed-off-by: Jonas Köppeler <j.koeppeler@tu-berlin.de>
Link: https://github.com/openwrt/openwrt/pull/22303
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-08 19:43:33 +01:00
Felix Fietkau
91cff1a6d3 apk: add --force-reinstall option
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Allow reinstalling already-installed packages without a version change.
Only the named packages are reinstalled, not their dependencies.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2026-03-08 16:35:04 +01:00
Álvaro Fernández Rojas
56bf67d474 omcproxy: update to Git HEAD (2026-03-07)
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
3abb601ab77f mrib: receive_mrt: workaround for RTL8373 queries
e25491f27af3 Revert "mrib: receive_mrt: workaround for RTL8373 queries"
cd20f3a4b4f1 mrib: receive_mrt: workaround for RTL8373 queries
cad82dc5cb65 formal: fix workflow permissions
997a981ae375 github: ci: add MIPS64, PowerPC64 and RISCV64
e646f462daeb github: ci: add powerpc arch
b3d1e2e48cf4 github: ci: add cmake build and source directories
de4353546064 github: ci: disable json-c tests
2be7e63d9b68 scripts: devel-build: disable json-c tests
36adc79c7b76 github: fix CI apt dependencies
11e45f6cfe10 README: update build instructions
78eea9b83a93 omcproxy: use syslog mask for logging level
9f0a1454de10 github: add CI build
49df5f5b8704 omcproxy: add a simple build script
757c1c704c9d libubox: remove submodule
8957f6c2557b omcproxy: update cmake file
848d696419eb proxy: fix indentation warning

Link: https://github.com/openwrt/openwrt/pull/22317
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2026-03-08 08:23:20 +01:00
Jan Kantert
557b092273 realtek: pending upstream rtl9300 i2c speed patch
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Some 10G optics showed random "module transmit fault indicated" due to I2C
read errors on ONTi ONT-S508CL-8S/XikeStor SKS8300-8X switches. The same
modules work with the original firmware and on other Linux based devices.

There seems to be some differences in how we talk to those modules using
I2C in OpenWRT. To fix this this patch adds support for 50kHz I2C speed on
SFPs and enables that for XikeStor/Onti devices. Since SFPs only transmit
very few bytes this should not have any real downsides.

This patch adds support in the i2c driver for 50kHz and 2.5MHz. In a
second PR I will configure 50kHz in the DTS for the affected devices.

Signed-off-by: Jan Kantert <jan-openwrt@kantert.net>
Link: https://github.com/openwrt/openwrt/pull/22209
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-07 20:51:08 +01:00
Harshal Gohel
89322b4d69 rtl93xx: dsa: Handle lag_change properly
LACP frequently changes active/backup links. driver must also handle
dp->lag_tx_enabled.

This should only affect egress LAG table, ingress should not be touched.
To test, connect a known working 802.3ad compatible switch (Mikrotik).
Configure bond with 802.3ad on openwrt as well as mikrotik.
Observer active/backup links on openwrt with
```
for iface in <list of bond participants>; do
ip -d link show $iface
done
```
This should show ACTIVE/BACKUP status which must be synchronized with
the partner's ACTIVE/BACKUP status if LACP is working correctly.

Backup interface must not be chosen by the distribution algorithm to
transmit egress packet

At the moment, we have two parties involved in the selection of active LAG TX
ports:
- the bonding/DSA code which informs about activated/deactivated ports using
  .port_lag_change
- the HW which is deactivating ports based on the link state see
  RTL93XX_TRK_CTRL_LINK_DOWN_AVOID

In our case, the software is supposed to manage everything

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-07 20:33:22 +01:00
Harshal Gohel
05096060ca realtek: dsa: rtl93xx: Add link aggregation support
With this commit it is possible to create 802.3ad compatible bond
interface that is interoperable with other 802.3ad compatible switches.

Each trunk group can have maximum of 8 ports as members.
Hardware also supports trunking with stacked switches, however it is not
handled here and the driver only configures the local trunk.

rtl930x and rtl931x has minimal differences in trunk/lag

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-07 20:33:22 +01:00
Harshal Gohel
f556b54a2c realtek: dsa: rtl93xx: Initialize trunk on probe
rtl93xx has two distribution algorithm slots that are shared among
multiple trunks.
Each of this slot can be configured to handle L2 and/or L3 packets

Hardware can also be configured to support layer3+4 but that is not
802.3ad compliant. With this commmit I want to focus on getting
layer2 and layer2+3 initialized in two slots.
When a new LAG group is created, depending on the xmit_hash_policy
configuration a slot will be configured in LAG table entry

SPA and VLAN bits made the switch to always choose same link for all
connections which completely dismisses point of Link aggregation.
So avoid these and stick to SMAC + DMAC for L2 packets and
SMAC + DMAC + SIP + DIP for L3 packets

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Jan Fuchs <jf@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-07 20:33:21 +01:00
Harshal Gohel
3743ed0e02 realtek: dsa: Reelect primary port for a LAG
rtl93xx hardware supports trunk fdb entries. That requires driver to
translate port-fdb entry to trunk fdb entry if the port is part of a
LAG.

There is no standard way of indicating fdb entries for bond interfaces.

One can use debugfs interface l2_table to dump all the entries stored in
the hardware. Trunk FDB entries are now displayed properly with trunk ID
and participating ports

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-07 20:33:21 +01:00
Harshal Gohel
286445257d realtek: dsa: rtl93xx: Deduplicate distribution algo setup
rtl9310 and rtl9300 have two slots for configuration of packet distribution
algorithm that can be assigned to multiple LAG groups. They also have the
same field descriptions

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-07 20:33:21 +01:00
Harshal Gohel
6e63fac22a realtek: dsa: Refactor LAG in preparation for rtl93xx
It is not helpful at the moment to expose all the SoC specific details to
the common code when it actually only needed to add ports to a LAG. Just
have a simple interface for now.

Support returning errors while setting distribution algorithm

Move setting algomask to rtl83xx specific routine and out of common lag_add
because algomasks will be handled differently on rtl93xx

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-07 20:33:21 +01:00
Marco von Rosenberg
cd1b70f6f9 ipq40xx: add support for Huawei AP4050DN
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Hardware
========
SoC: Qualcomm IPQ4018
ETH: Qualcomm QCA8075 (2 x RJ-45)
WDG: OnSemi SCT706
RAM: Micron MT41K128M16JT-125 (256MB)
NOR: Infineon S25FL512S (64MB)

Installation
============

1. Create a ramboot-able image with the command

   { dd if=/dev/zero bs=32 count=1 2>/dev/null; \
     cat openwrt-ipq40xx-generic-huawei_ap4050dn-initramfs-uImage.itb; \
   } > ramboot.bin`

2. Start a TFTP server in the folder with the ramboot.bin.

3. Plug in a USB-RJ45 serial adapter to the CONSOLE port of the device
   and start a serial console session with
   9600 baud, no parity, 1 stop bit.

4. Plug in either 12V power or PoE to the device.

5. On the prompt `Press f or F  to stop Auto-Boot in 3 seconds`,
   press `f` to enter the Huawei U-Boot command line

6. Enter a new password for the u-boot command line

7. In the command line, run these commands to ramboot OpenWrt:

      setenv serverip <IPv4 address of TFTP server>
      setenv ipaddr <IPv4 address for this AP>
      setenv rambootfile ramboot.bin
      run ramboot

8. In OpenWrt, set up the network and then `scp` the files
   `u-boot-huawei_ap4050dn/uImage` and
   `openwrt-ipq40xx-generic-huawei_ap4050dn-squashfs-sysupgrade.bin`
   into `/tmp/`

9. To backup the original firmware, run the following:

      cat /dev/mtd12 /dev/mtd13 > huawei_ap4050dn_fw_backup.bin.bin

10. Run the following commands to flash u-boot and OpenWrt to the device:

      mtd erase uboot
      mtd write /tmp/uImage uboot
      sysupgrade -n /tmp/openwrt-ipq40xx-generic-huawei_ap4050dn-squashfs-sysupgrade.bin

11. The device should now boot OpenWrt! (sometimes the boot process takes a bit
    longer due to the watchdog resetting the device before the watchdog driver runs)

Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de>
2026-03-07 18:52:31 +01:00
Marco von Rosenberg
156550abd8 uboot-fritz4040: add Huawei AP4050DN support
Add support for the Huawei AP4050DN. Due to vendor bootloader size
limitations, we require a second-stage U-Boot.

Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de>
2026-03-07 18:48:57 +01:00
David Bauer
215f0127d1 ipq-wifi: update to latest HEAD
beaf466 ipq4019: add Huawei AP4050DN BDF

Signed-off-by: David Bauer <mail@david-bauer.net>
2026-03-07 18:45:42 +01:00
Paul Donald
1e9da9798a ppp: add memmove fortify and remove MRU patch
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
memcpy() with overlapping src and dest buffers is an undefined behavior
in C. In the current code, a ConfRej response is generated by copying
input data in-place, where the dest address is lower than the src.
This happens to work in practice because memcpy() forward-copies data,
matching the behavior of memmove() in this case.

However, if FORTIFY_SOURCE or Address Sanitizer is enabled, memcpy()
will detect the overlap at run time and abort the program.

Replace the memcpy() with memmove() to ensure a well-defined behavior.

Reported-by: Filippo Carletti <filippo.carletti@gmail.com>

MRU patch https://github.com/ppp-project/ppp/pull/573

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22286
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-07 00:04:48 +01:00
Kenneth Kasilag
d09041eb8a
airoha: an7581: disable NPU offload stats for eagle
Some checks failed
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build Kernel / Build all affected Kernels (push) Has been cancelled
'CONFIG_NET_AIROHA_FLOW_STATS=y' currently breaks NPU
offload for AN7581+MT7996, so disable it for now.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/22300
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-06 15:00:46 +01:00
Lorenzo Bianconi
123557f0e2
airoha: add the capability to read firmware names from dts
Introduce the capability to read the firmware binary names from device-tree
using the firmware-name property if available.
This is a preliminary patch to enable NPU offloading for MT7996 (Eagle)
chipset since it requires a different binary with respect to the one
used for MT7992 on the EN7581 SoC.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22289
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-06 15:00:24 +01:00
Lorenzo Bianconi
305f685f83
airoha: npu: Init BA memory region if provided via DTS
Initialize NPU Block Ack memory region if reserved via DTS.
Block Ack memory region is used by NPU MT7996 (Eagle) offloading.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/22289
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2026-03-06 15:00:24 +01:00
Álvaro Fernández Rojas
eb4fd65c92 kernel: net: sfp: improve Huawei MA5671a fixup
Add pending patch for improving Huawei MA5671a SFP fixup, which allows
communicating with the module even if the fiber isn't connected.

Link: https://github.com/openwrt/openwrt/pull/22283
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2026-03-06 14:00:03 +01:00
Rosen Penev
0c0b00422e mpc85xx: fix dtc warnings
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Even though these are disabled, dtc still warns on missing reg and
ranges.

Add them. No real difference as it's disabled anyway.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20990
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 12:06:49 +01:00
Ivan Diaz
03fddee7bd ath79: tiny: increment compat version for RE355/RE450
Bump compat version to 3.0 for TP-Link RE355 v1, RE450 v1 and RE450 v2.
Was missed for 25.12; users upgrading from older images need sysupgrade -F.

Signed-off-by: Ivan Diaz <diaz.it@icloud.com>
Link: https://github.com/openwrt/openwrt/pull/22185
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 12:04:23 +01:00
Ivan Diaz
831685aa15 ath79: add 4k blocksize for RE355/RE450 rootfs alignment
Misaligned rootfs_data caused config loss on sysupgrade. Set BLOCKSIZE
:= 4k for proper JFFS2 alignment. Add DEVICE_COMPAT_MESSAGE for
sysupgrade -F requirement.

Signed-off-by: Ivan Diaz <diaz.it@icloud.com>
Link: https://github.com/openwrt/openwrt/pull/22185
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 12:04:23 +01:00
Ivan Diaz
d583294c70 ath79: rename tplink_rex5x-v1, deduplicate RE450-v2 config
Rename Device/tplink_rex5x-v1 to tplink_rex5x. Make RE355 v1, RE450 v1,
and RE450 v2 inherit from it, removing duplicated fields from RE450 v2.

Signed-off-by: Ivan Diaz <diaz.it@icloud.com>
Link: https://github.com/openwrt/openwrt/pull/22185
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 12:04:22 +01:00
Rosen Penev
f01807e353 mac80211: ath9k: rework led allocation
Embed gpio_led struct in ath_led. Simpler Allocation.

Use a flex array for the name. Allows using a single allocation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21933
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 12:03:10 +01:00
Rosen Penev
06f5205dc8 mac80211: ath5k: remove ath79 bugfix
ath79 at this point supports no ath5k devices.

The only targets with ath5k usage are bcm47xx, ixp4xx, and lantiq.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19848
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 12:01:56 +01:00
Jonas Jelonek
45636e3a2b kernel: refresh patches
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Refresh kernel patches with make target/linux/refresh for each target.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22206
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 11:33:05 +01:00
Jonas Jelonek
3b2e52d52f generic: drop downstream gpio-cascade driver
The single user of the downstream gpio-cascade driver has been switched
to use the upstream gpio-line-mux driver. Thus, we can drop the former
now.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22206
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 11:33:05 +01:00
Jonas Jelonek
564a6442f2 ath79: replace gpio-cascade on Buffalo WZR-HP-G300NH
The GPIO cascade driver is a downstream-only driver and the Buffalo
WZR-HP-G300NH is its only user for now. Recently, a similar and
independently developed driver 'gpio-line-mux `which serves the same
purpose was accepted upstream and backported here. Use that instead the
downstream driver.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22206
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 11:33:05 +01:00
Jonas Jelonek
d50b296727 generic: add kernel module for gpio-line-mux
Add the GPIO line mux driver as a kernel module for selected usage by
devices.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22206
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 11:33:05 +01:00
Jonas Jelonek
95532ba906 generic: backport gpio-line-mux driver
Backport the upstream 'gpio-line-mux' driver which allows to provide a
1-to-many mapping between one physical GPIO and multiple virtual GPIOs,
based on a multiplexer.

For this purpose, there's been a dedicated downstream driver
'gpio-cascade' which is mostly the same, but wasn't upstreamed in the
end. Independently developed, the 'gpio-line-mux' driver was upstreamed
to solve the exact same problem occuring on Realtek-based Zyxel XS1930
switches. Support for those is being worked on, but the hardware uses a
similar quirk for SFP signals. The signals 'RX_LOS', 'MOD_ABS' and
'TX_FAULT' do not have dedicated GPIOs each but all use a single GPIO
which is multiplexed. Depending on the multiplexer state the GPIO line is
connected to one of the signals.

Since the SFP driver needs single GPIOs for the single signals, this
adapter drivers fills the gap to make both work together.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22206
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-06 11:33:05 +01:00