]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
2 months agorealtek: dts: drop SYS LED of XikeStor SKS8310-8X 22211/head
Jonas Jelonek [Fri, 27 Feb 2026 23:24:29 +0000 (23:24 +0000)] 
realtek: dts: drop SYS LED of XikeStor SKS8310-8X

The sys_led node in the device tree is wrong and doesn't work. On GPIO
23 nothing seems to be connected. The switch has a SYS LED but as with a
lot other Realtek switches, this LED is connected to the pin A0, which
can be driven as GPIO0 or system LED. The hardware-assisted behavior is
configured during boot by u-boot.

Though it is be possible to deactivate the hardware-assisted behavior
and give userspace control over the LED, it doesn't work for this
switch. XikeStor apparently decided to hook the SYS LED to some kind of
external watchdog. This one seems to expect a LOW signal on that line
periodically. This leaves room for two options:

1) keep behavior and let the LED blink as configured by u-boot
2) turn off LED completely

Option 2) is rather odd and may confuse users, thus it is better to keep
the behavior as-is for now. u-boot configures the LED to blink fast
which might be annoying. As soon as we have a way in the device tree to
specify different blinking frequencies as supported by the hardware,
this can be smoothened.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22211
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: dts: add monitor IC node for XikeStor SKS8310-8X
Jonas Jelonek [Fri, 27 Feb 2026 22:38:02 +0000 (22:38 +0000)] 
realtek: dts: add monitor IC node for XikeStor SKS8310-8X

The XikeStor SKS8310-8X has a monitoring IC LM75B from National
Instruments on board. This was missed when support for the device was
added. Add it now and also add the corresponding kmod to the device
packages.

Fixes: 62d50fb196 ("realtek: add support for XikeStor SKS8310-8X")
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22211
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: use nvmem for mac address for XikeStor SKS8310-8X
Jonas Jelonek [Fri, 27 Feb 2026 22:31:55 +0000 (22:31 +0000)] 
realtek: use nvmem for mac address for XikeStor SKS8310-8X

Define an nvmem cell in the device tree of XikeStor SKS8310-8X to
reference that as a source for the MAC address of the switch (ports).
This eliminates the need for the userspace script to read and parse the
MAC address.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22211
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: mdio: avoid unneeded array initialization 22131/head
Markus Stockhausen [Sat, 21 Feb 2026 13:26:02 +0000 (14:26 +0100)] 
realtek: mdio: avoid unneeded array initialization

rtmdio_probe() uses for_each_phy() to access dn[]. This will point
to initialized entries. No need to clear that array in advance.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22131
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: mdio: convert port to addr
Markus Stockhausen [Sat, 21 Feb 2026 08:53:15 +0000 (09:53 +0100)] 
realtek: mdio: convert port to addr

Get rid of the port variables. Use addr for phy address like
upstream kernel does for the whole phy/mdio subsystem.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22131
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: mdio: rename RTMDIO_MAX_PORT to RTMDIO_MAX_PHY
Markus Stockhausen [Sat, 21 Feb 2026 08:39:14 +0000 (09:39 +0100)] 
realtek: mdio: rename RTMDIO_MAX_PORT to RTMDIO_MAX_PHY

As with all the rest align the define to reflect that the
driver deals with phys.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22131
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: mdio: use devnum/regnum for mmd access
Markus Stockhausen [Sat, 21 Feb 2026 08:34:36 +0000 (09:34 +0100)] 
realtek: mdio: use devnum/regnum for mmd access

For some functions the mmd access parameter naming differs
from the rest of the driver. Convert remaining addr/reg
parameters to devnum/regnum.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22131
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: mdio: rename foreach iterator
Markus Stockhausen [Sat, 21 Feb 2026 08:30:40 +0000 (09:30 +0100)] 
realtek: mdio: rename foreach iterator

The driver covers phys and not ports. Adapt the iterator to
align with this naming convention. While we are here convert
some open coding to this iterator macro.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22131
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: mdio: rename cpu_port to num_phys
Markus Stockhausen [Sat, 21 Feb 2026 08:27:35 +0000 (09:27 +0100)] 
realtek: mdio: rename cpu_port to num_phys

The mdio driver is about phys and not about the (dsa) port number
of the cpu. This was a generic alias when all of this was part
of a big large mdio/ethernet driver. Give the cpu_port variable
a new name that better fits to the mdio context.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22131
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: dts: replace ports by ethernet-ports 22149/head
Markus Stockhausen [Sun, 22 Feb 2026 20:40:22 +0000 (21:40 +0100)] 
realtek: dts: replace ports by ethernet-ports

In most drivers upstream use "ethernet-ports" instead of "ports"
in dts. Especially the upstream rtl9300 mdio driver uses this to
lookup the port/phy mapping. Do the same downstream. There is no
need to adapt the dsa driver because it scans the dts via
for_each_node_by_name(dn, "port").

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22149
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agolinux-firmware: update to 20260221 22139/head
John Audia [Sun, 22 Feb 2026 10:11:09 +0000 (05:11 -0500)] 
linux-firmware: update to 20260221

% git log --no-merges --pretty=oneline --abbrev-commit 20260221...20260110
30a139cb6561 qcom: vpu: fix SC7280 VPU Gen2 firmware and add compatibility symlink
65c7ff3ec808 amdgpu: DMCUB updates for various ASICs
6a24a5a92c32 qcom: Update DSP firmware for qcs8300 platform
39f04545b26f cirrus: cs35l41: Add Firmware for ASUS Zenbook Laptop using CS35L41 HDA
664f8b6adeba qcom: Update DSP firmware for sa8775p platform
bed52d78bc0c amdgpu: DMCUB updates for various ASICs
342ce02256f3 rtw89: 8851b: add format-1 for fw v0.29.41.5 with fw elements
4a216696655b rtw89: 8852a: add format-1 for fw v0.13.36.2 with fw elements
0579ff05d882 rtw89: 8852bt: add regd and diag_mac and update txpwr to R09
af193c46b6bd rtw89: 8852b: update txpwr element to R43
81eae19b21a0 rtw89: 8852b: add format-2 with v0.29.29.15 and fw elements
1cfed3e213c5 Revert "rtw89: 8852b: update fw to v0.29.128.0 with format suffix -2"
86725d7351e8 xe: Update GUC to v70.58.0 for LNL, BMG, PTL
cbd0f9753754 ath11k: WCN6855 hw2.0: update board-2.bin
65a3c868b360 ath11k: QCA6390 hw2.0: update board-2.bin
0364daaa28a2 qcom: Add gpu firmwares for Glymur chipset
6c1e2562f626 amdgpu: DMCUB updates for various ASICs
2bb21553d510 qcom: vpu: add video firmware for Glymur
8fafd2481eed qcom: add QUPv3 firmware for x1e80100 platform
fd38db51a2a6 Bluetooth: Add symbolic links for Intel Solar JfP2/1 firmware variants
07b822cc556d Bluetooth: Add symbolic links for Intel Solar firmware variants
1b902aa966e4 Bluetooth: Add symbolic links for Intel Pulsar firmware variants
949dba8936ab Bluetooth: Add symbolic links for Intel AX201 firmware variants
81a99dba039a ath10k: WCN3990 hw1.0: update board-2.bin
b69afa29d3f6 qcom: add ADSP, CDSP firmware for glymur platform
4e83a67a5637 ASoC: tas2783: Add Firmware files for tas2783A
87972e133405 linux-firmware: Update firmware file for Intel Solar core
a693bc58e2ac mediatek MT7921: update bluetooth firmware to 20251223091725
fbf93476b789 rtl_bt: Update RTL8822C BT USB and UART firmware to 0x0673
a712a43ff2c0 ath12k: WCN7850 hw2.0: update board-2.bin
ec76089d563e ath12k: QCN9274 hw2.0: update to WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1
49df41843d27 ath11k: WCN6855 hw2.0: update board-2.bin
fd8bdffeabe4 ath11k: QCA6698AQ hw2.1: update board-2.bin
af03e44a2029 WHENCE: Correct 2 trailing whitespaces
1043c0303910 linux-firmware: Add firmware for airoha-npu-7581 driver used for MT7990 offloading
f18b40ebf5e8 linux-firmware: Add Dell ISH firmware for Intel panther lake systems
9a727f07bc60 amdgpu: DMCUB updates for various ASICs
fb1cfb1989ea linux-firmware: update Aeonsemi AS21x1x firmware to 1.9.1
0fa5e69a0d9e rtl_nic: add firmware rtl8125cp-1 for RTL8125cp
dfff492a66a0 ice: update DDP LAG package to 1.3.2.0
db024df1e153 cirrus: cs35l56: Add WHENCE links for 17aa233c spkid0 firmware
a80ebbccb826 rtw89: 8922a: update REGD R73-R08, txpwr R46 and element of diag MAC
f9c84ebaefbf rtw89: 8852c: update REGD R73-R60, txpwr R82 and element of diag MAC
d8fc35003355 Update firmware for NPU PHX, STX and STX HALO
a7bd257ea496 qcom: Update ADSP and add CDSP firmware for qcs6490-radxa-dragon-q6a
1ccefae136c4 qcom: Remove ADSP SensorPD json for Radxa Dragon Q6A
afae3262fa2f amdgpu: DMCUB updates for various ASICs
ff3470eca79b intel/ish: Add Lenovo ISH firmware support for X1 and X9 systems
53ec87319d28 cirrus: cs42l45: Add CS42L45 SDCA codec firmware for Lenovo laptops
8ca12d6383d0 cirrus: cs42l45: Add CS42L45 SDCA codec firmware for Dell laptops
ecf00f092a8e cirrus: cs35l57 cs35l63: Add firmware for Cirrus Amps for some Lenovo laptops
d01a86bd2b35 cirrus: cs35l56 cs35l57: Add and update firmware for some Dell laptops
e22074558beb Intel IPU7: Update firmware binary for Panther Lake
a80dabbc28fa linux-firmware: update firmware for MT7921 WiFi device
1e2c15348485 amdgpu: DMCUB updates for various ASICs
9e79ce04180f linux-firmware: Add firmware file for Intel ScorpiusGfp2 core
f401a31ab5ba linux-firmware: Update firmware file for Intel Scorpius core
6be3bd6cc295 linux-firmware: Update firmware file for Intel BlazarIGfP core
99a2479f94e1 linux-firmware: Update firmware file for Intel BlazarI core
9bf06b2bdf74 linux-firmware: Update firmware file for Intel BlazarU-HrPGfP core
40a812ce5880 linux-firmware: Update firmware file for Intel BlazarU core
634af751cc56 rtl_bt: Update RTL8852BT/RTL8852BE-VT BT USB FW to 0x06EB_C65F
4cc877a7c241 linux-firmware: Add firmware for airoha-npu-7583 driver
9a9285ce9b44 iwlwifi: add Bz/Sc FW for core102-56 release
579ca4320f6b iwlwifi: Add Hr/Gf firmware for core102-56 release
90af9c636906 iwlwifi: update ty/So/Ma firmwares for core102-56 release
05a6a40bbba8 xe: Add GSC 105.0.2.1301 for PTL
087f9b0a8d23 mediatek: rename MT8188 SCP firmware
a438fce32e0e qcom: Update DSP firmware for QCM6490 platform
bfc1d7433ddd linux-firmware: qcom: sync audioreach firmwares from v1.0.1 build

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: Intel N150 based system

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22139
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agoprocd: update to git HEAD 22204/head
Nora Schiffer [Fri, 27 Feb 2026 19:19:16 +0000 (20:19 +0100)] 
procd: update to git HEAD

2881a59f3043 rcS: allow overriding init.d/rc.d paths
4e4a34b1a833 rcS, ubus: constify char * arguments and variables where appropriate

Link: https://github.com/openwrt/openwrt/pull/22204
Signed-off-by: Nora Schiffer <neocturne@universe-factory.net>
2 months agopackages: add PSE (PoE) packages 22172/head
Bevan Weiss [Wed, 25 Feb 2026 08:49:50 +0000 (19:49 +1100)] 
packages: add PSE (PoE) packages

There are a number of pse chips already present in upstream Linux.
OpenWrt is starting to support a number of devices can contain various pse
chips.  But having all the pse chip combinations defined at the target
level will result in bloat on images.
Present the current upstream Linux pse drivers as packages so that they
can be selectively included per board (rather than per target).

Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
[Make it depend on REGULATOR_SUPPORT, and !SMALL_FLASH]
Link: https://github.com/openwrt/openwrt/pull/22172
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agotargets: add REGULATOR_SUPPORT auto-feature
Robert Marko [Fri, 27 Feb 2026 11:08:56 +0000 (12:08 +0100)] 
targets: add REGULATOR_SUPPORT auto-feature

Not all targets need regulator support, so they dont enable it as its
disabled in the generic config by default.

So, in order to allow kernel modules to depend on regulator support lets
add a new feature flag "regulator" and set it automatically if target
kernel config enables CONFIG_REGULATOR.

Link: https://github.com/openwrt/openwrt/pull/22172
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoimx: cortexa53: update supported devices 22202/head
Tim Harvey [Fri, 27 Feb 2026 18:31:19 +0000 (10:31 -0800)] 
imx: cortexa53: update supported devices

Add some additional Gateworks Venice boards to sysupgrade support.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/22202
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agotoolchain: binutils: fix update to 2.45.1
Hauke Mehrtens [Sat, 28 Feb 2026 19:43:11 +0000 (20:43 +0100)] 
toolchain: binutils: fix update to 2.45.1

Rename the patches folder too and also adapt the name in the toolchain menu.
Without changing the patches folder name the patches are not applied.

Fixes: adad973a9c34 ("toolchain: binutils: update to 2.45.1")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agolantiq: dm200: Fix loading PHY firmware 22188/head
Hauke Mehrtens [Thu, 26 Feb 2026 19:49:17 +0000 (20:49 +0100)] 
lantiq: dm200: Fix loading PHY firmware

The device has 1 100MBit/s port. By default the PHY firmware is running
in 1GBit/s mode. The driver will try to load the 1GBit/s firmware and
fail if it is not there. Set the GPHY0 also to 100MBit/s mode.

The driver uses all nodes independent of the status attribute.

Do the same fix for AVM FRITZ!Box 7412 too.

Reported-by: Achelon in OpenWrt forum
Fixes: https://github.com/openwrt/openwrt/issues/21836
Link: https://github.com/openwrt/openwrt/pull/22188
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: remove currently unused VLAN profile_id 1 21872/head
Linus Lüssing [Wed, 28 Jan 2026 00:52:15 +0000 (01:52 +0100)] 
realtek: remove currently unused VLAN profile_id 1

So far we are only associating and using a VLAN profile ID of 0 to any
VLAN ID, VLAN profile ID 1 is unused. Therefore we can safely remove its
initialization, just like we don't initialize any of VLAN profile IDs
2 to 7 on rtl83xx/rtl930x or 2 to 15 on rtl931x.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Link: https://github.com/openwrt/openwrt/pull/21872
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: setup special portmasks only once
Linus Lüssing [Sat, 10 May 2025 13:38:49 +0000 (15:38 +0200)] 
realtek: setup special portmasks only once

The special all-ports multicast portmasks table entry would be written
twice, redundantly as vlan_profile_setup() is called twice. Which is
unnecessary. Writing this reserved multicast portmask entry is
independent of a VLAN profile, therefore let's move this to a more
suitable position.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Link: https://github.com/openwrt/openwrt/pull/21872
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: add portmasks, vlan_profiles and vlans to debugfs
Linus Lüssing [Wed, 7 May 2025 16:53:06 +0000 (18:53 +0200)] 
realtek: add portmasks, vlan_profiles and vlans to debugfs

Prepare portmasks, vlan profiles and vlans for changes
in upcoming patches by exporting them to debugfs for easier
debugging and monitoring.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Link: https://github.com/openwrt/openwrt/pull/21872
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel: lift CONFIG_REGULATOR_VEXPRESS 'not set' to generic
Bevan Weiss [Fri, 27 Feb 2026 22:39:54 +0000 (09:39 +1100)] 
kernel: lift CONFIG_REGULATOR_VEXPRESS 'not set' to generic

Advertise the default 'not set' of this CONFIG higher in the tree since
it's already referenced by several other targets, with a few more targets
missing this reference (which fails build to prompt for N/y/m).

Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
2 months agobcm53xx: fix switch standalone ports (like "wan")
Rafał Miłecki [Fri, 27 Feb 2026 19:40:20 +0000 (20:40 +0100)] 
bcm53xx: fix switch standalone ports (like "wan")

Fixes: https://github.com/openwrt/openwrt/issues/21187
Fixes: https://github.com/openwrt/openwrt/issues/21349
Fixes: 499a59c234f4 ("kernel: bump 6.12 to 6.12.30")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2 months agorealtek: dsa: convert RTL83xx to new fast_age() 22145/head
Markus Stockhausen [Sun, 22 Feb 2026 17:01:11 +0000 (18:01 +0100)] 
realtek: dsa: convert RTL83xx to new fast_age()

Make use of the new fast_age() helpers for the RTL83xx targets.
For this:

- split the existing rtldsa_83xx_fast_age() into two device
  specific functions. This removes a family_id check.
- change the callbacks in the config structures

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22145
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dsa: switch RTL93xx to new fast_age()
Markus Stockhausen [Sun, 22 Feb 2026 16:40:00 +0000 (17:40 +0100)] 
realtek: dsa: switch RTL93xx to new fast_age()

The driver has a generic fast_age() function. Use it in the
dsa specific callback port_fast_age() for RTL93xx.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22145
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dsa: provide generic fast_age for RTL93xx
Markus Stockhausen [Sun, 22 Feb 2026 13:09:07 +0000 (14:09 +0100)] 
realtek: dsa: provide generic fast_age for RTL93xx

Fast ageing of L2 entries is supported by DSA with two callbacks.

- port_fast_age(): age out for one port
- port_vlan_fast_age(): age out for one vlan on one port

Independent from the SoC it always boils down to issue a command
to the L2_TBL_FLUSH_CTRL register. Nevertheless the current
implemententation is repeated multiple times and makes use of
the family_id.

As a first refactoring step provide generic fast_age() functions
for RTL930x and RTL931x by rearranging the existing definitions
of vlan_port_fast_age().

The logic is as follows:

- provide a SoC dependent function that works with or without VLAN.
  When VLAN/VID = -1 only flush the specific port otherwise only
  flush given VLAN on port.
- provide a port_fast_age() helper that calls the SoC specific
  functions with VLAN = -1.
- provide a port_vlan_fast_age() helper that calls the SOC specific
  functions and handing over the given VLAN.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22145
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dsa: temporary rename of RTL93xx fast age functions
Markus Stockhausen [Sun, 22 Feb 2026 13:29:55 +0000 (14:29 +0100)] 
realtek: dsa: temporary rename of RTL93xx fast age functions

This is a preparation for the dsa fast_age() logic refactoring.
Rename two functions that will get removed later.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22145
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: eth: remove obsolete code 22156/head
Markus Stockhausen [Mon, 23 Feb 2026 17:43:45 +0000 (18:43 +0100)] 
realtek: eth: remove obsolete code

Remove defines and variables that are no longer used.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22156
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: eth: simplify napi handler
Markus Stockhausen [Mon, 23 Feb 2026 17:44:29 +0000 (18:44 +0100)] 
realtek: eth: simplify napi handler

rteth_hw_receive() already has a loop that checks how much work
may be done. No need to repeat that in the caller too. While we
are here adapt the function prefix.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22156
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: eth: be defensive in rteth_confirm_and_disable_irqs()
Markus Stockhausen [Mon, 23 Feb 2026 17:44:25 +0000 (18:44 +0100)] 
realtek: eth: be defensive in rteth_confirm_and_disable_irqs()

With latest refactoring irq activation and deactivation is side-by-side
in the code. This makes it easier to align these functions. Current
assumption is, that the ethernet irq is only called on one cpu and
napi handling does not interfere. So it should be totally fine to
run irq disabling (called from interrupt handler) without locks.
Nevertheless be defensive and add a lock(). So in the case the ethernet
irq is fired twice on two cpus (e.g. RTL931x) the code is on the
safe side.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22156
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: eth: provide helper for irq reenabling
Markus Stockhausen [Mon, 23 Feb 2026 17:44:16 +0000 (18:44 +0100)] 
realtek: eth: provide helper for irq reenabling

Once again there is a family_id check. This time around the irq
reactivation in the receive path. For cleanup and better readability
add a helper directly besides its already existing counterpart
rteth_confirm_and_disable_irqs(). With that drop unneeded defines.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22156
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel: bump 6.12 to 6.12.74 22191/head
John Audia [Thu, 19 Feb 2026 19:58:26 +0000 (14:58 -0500)] 
kernel: bump 6.12 to 6.12.74

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

No patches touched with this release.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22191
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel: bump 6.12 to 6.12.73
John Audia [Mon, 16 Feb 2026 17:42:22 +0000 (12:42 -0500)] 
kernel: bump 6.12 to 6.12.73

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

No patches rebased/checksum update only.

Build system: x86/64
Build-tested: flogic/glinet_gl-mt6000
Run-tested: flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22191
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel: bump 6.12 to 6.12.72
John Audia [Mon, 16 Feb 2026 11:55:53 +0000 (06:55 -0500)] 
kernel: bump 6.12 to 6.12.72

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

All patches automatically rebased.

Build system: x86/64
Build-tested: flogic/glinet_gl-mt6000
Run-tested: flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22191
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoRevert "lantiq: arv7525pw: use nvmem for eeprom" 22192/head
Rosen Penev [Thu, 26 Feb 2026 04:02:34 +0000 (20:02 -0800)] 
Revert "lantiq: arv7525pw: use nvmem for eeprom"

This reverts commit 9dbd45c18702cdd55fcfb0f71dc505afa1ff64d6.

Compared to ralink,mtd-eeprom , the nvmewm binding ends up byteswapping
the data on big endian hosts. Meaning on big endian, the nvmwem binding
is equivalent to:

ralink,mtd-eeprom +
ralink,eeprom-wrap

Revert as a result since there's no eeprom-swap here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22192
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agogeneric: add CONFIG_REGULATOR_QCOM_LABIBB
Robert Marko [Fri, 27 Feb 2026 10:16:55 +0000 (11:16 +0100)] 
generic: add CONFIG_REGULATOR_QCOM_LABIBB

CONFIG_REGULATOR_QCOM_LABIBB is being disabled by targets manually, so
instead lets disable it in generic config.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agogeneric: add CONFIG_REGULATOR_QCOM_SPMI
Robert Marko [Fri, 27 Feb 2026 10:15:06 +0000 (11:15 +0100)] 
generic: add CONFIG_REGULATOR_QCOM_SPMI

Instead of disabling CONFIG_REGULATOR_QCOM_SPMI manually per target,
lets simply disable it in generic config.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agogeneric: add CONFIG_REGULATOR_QCOM_USB_VBUS
Robert Marko [Fri, 27 Feb 2026 10:09:00 +0000 (11:09 +0100)] 
generic: add CONFIG_REGULATOR_QCOM_USB_VBUS

CONFIG_REGULATOR_QCOM_USB_VBUS showed up on Layerscape recently, and it
looks like multiple targets disable it manually, so simply disable it in
generic configuration instead.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoimx: cortexa53: enable DMA contiguous memory allocator 21950/head
Tim Harvey [Mon, 9 Feb 2026 17:30:10 +0000 (09:30 -0800)] 
imx: cortexa53: enable DMA contiguous memory allocator

Enable and configure DMA contiguous memory allocator. Without this
CMA itself will be disabled.

Fixes: ae8bf1a26e15 ("imx: add imx8m support")
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/21950
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoarm-trusted-firmware-stm32: bump to v2.14 21965/head
Thomas Richard [Mon, 2 Feb 2026 13:34:03 +0000 (14:34 +0100)] 
arm-trusted-firmware-stm32: bump to v2.14

Bump arm-trusted-firmware-stm32 to upstream release v2.14.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21965
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agouboot-stm32: bump to 2026.01
Thomas Richard [Mon, 2 Feb 2026 13:33:16 +0000 (14:33 +0100)] 
uboot-stm32: bump to 2026.01

Bump uboot-stm32 to upstream release 2026.01.

Two upstream patches were backported to resolve silent crash on
STM32MP135F-DK board.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21965
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agooptee-os-stm32: bump to 4.9.0
Thomas Richard [Mon, 2 Feb 2026 13:32:43 +0000 (14:32 +0100)] 
optee-os-stm32: bump to 4.9.0

Bump optee-os-stm32 to upstream release 4.9.0.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/21965
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agomac80211: activate BRCMFMAC_SDIO on x86 22171/head
Hauke Mehrtens [Wed, 25 Feb 2026 00:26:02 +0000 (01:26 +0100)] 
mac80211: activate BRCMFMAC_SDIO on x86

Activate the option BRCMFMAC_SDIO by default on x86 too. x86 already
compiles MMC support into the kernel. This will just compile brcmfmac
with MMC support.

Fixes: https://github.com/openwrt/openwrt/issues/22155
Link: https://github.com/openwrt/openwrt/pull/22171
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agowifi-scripts: fix handling of 64 character WPA key 22182/head
Hauke Mehrtens [Wed, 25 Feb 2026 23:41:11 +0000 (00:41 +0100)] 
wifi-scripts: fix handling of 64 character WPA key

The key variable is not defined in the scope when setting wpa_psk. Use
config.key instead.
This fixes configuration the 64 characters wpa_psk directly.

Reported-by: donjoe in OpenWrt Forum
Link: https://github.com/openwrt/openwrt/pull/22182
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoramips: mt7621: fix network configuration 22179/head
Hauke Mehrtens [Wed, 25 Feb 2026 21:42:56 +0000 (22:42 +0100)] 
ramips: mt7621: fix network configuration

The configuration for the dlink,dir-1360-a1 also changed the settings
for the devices defined on top of it. "lan1 lan2 lan3 lan4" "wan" is
the default configuration, no need to add it here.

Fixes: 7a8e2efed587 ("ramips: add support for D-Link DIR-1360 A1")
Reported-by: schmars in IRC
Link: https://github.com/openwrt/openwrt/pull/22179
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agonetifd: update to Git HEAD (2026-02-26)
Felix Fietkau [Thu, 26 Feb 2026 12:05:35 +0000 (12:05 +0000)] 
netifd: update to Git HEAD (2026-02-26)

69a5afc9713a bridge: skip present toggle in bridge_free_member() when device is active

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 months agobcm53xx: meraki mx6x: use nvmem MAC assignment 22058/head
Rosen Penev [Tue, 17 Feb 2026 04:00:40 +0000 (20:00 -0800)] 
bcm53xx: meraki mx6x: use nvmem MAC assignment

Userspace handling is deprecated. Once mac-base goes upstream, the patch
itself can go upstream as well.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22058
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoramips: dts: convert to dt-bindings clock index 22163/head
Shiji Yang [Tue, 24 Feb 2026 11:00:02 +0000 (19:00 +0800)] 
ramips: dts: convert to dt-bindings clock index

Use clock index macros defined in dt-bindings header to improve the
code readability.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22163
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: hog the GS1900-24E external IC reset line 22132/head
Sander Vanheule [Sat, 21 Feb 2026 14:00:39 +0000 (15:00 +0100)] 
realtek: hog the GS1900-24E external IC reset line

The GPIO line connecting to the reset signals of the GS1900-24E(A1)'s
external ICs (RTL8218B phys and RTL8231 expander) cannot be asserted by
the MDIO subsystem, as the reset is shared between busses.

To prevent users from accidentally asserting the reset line, a GPIO hog
is created to permanently de-assert the signal, reliably keeping the
phys and GPIO expanders on.

Tested-by: Simon Fischer <simi.fischa@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
3 months agorealtek: rtl838x: drop GS1900 MDIO reset GPIO
Sander Vanheule [Sat, 21 Feb 2026 13:44:23 +0000 (14:44 +0100)] 
realtek: rtl838x: drop GS1900 MDIO reset GPIO

The reset line wired to the RTL8231 on the GS1900 series may also
connect to other external ICs on the board. On the GS1900-24E, the
reset line is wired (via buffers) to the board's RTL8231 expanders and
the RTL8218 phys. As these external devices (phys) are on different
busses, the reset line shouldn't be specified on one bus or the other.

Drop the reset specification from the generic GPIO description, so it
can be added back on a per-device basis after confirming the behavior.

Link: https://github.com/openwrt/openwrt/issues/18620
Fixes: fd978c2e80b4 ("realtek: Enable Zyxel GS1900's RTL8231 reset line")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
3 months agowireless-regdb: update to version 2026.02.04 22150/head
Hauke Mehrtens [Sun, 22 Feb 2026 22:11:47 +0000 (23:11 +0100)] 
wireless-regdb: update to version 2026.02.04

75bedc5 wireless-regdb: Update regulatory info for Australia (AU) for 2025
a6e5195 wireless-regdb: Update broken link in regulatory.bin(5) manpage
9e8c67f wireless-regdb: Update regulatory info for Malaysia (MY) for 2024
61a4637 wireless-regdb: Update regulatory info for Malaysia (MY) for 2025
5cefe55 wireless-regdb: Update regulatory info for Tunisia (TN) on 6GHz for 2025
1a729ae wireless-regdb: Update regulatory info for Canada (CA) for 2025
ea20dfa wireless-regdb: update regulatory database based on preceding changes

Link: https://github.com/openwrt/openwrt/pull/22150
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoiproute2: include upstream patch for musl libc 22128/head
Jonas Lochmann [Mon, 16 Feb 2026 00:00:00 +0000 (01:00 +0100)] 
iproute2: include upstream patch for musl libc

Due to a missing include, the constant UINT_MAX is undefined. This
fixes issues when building v25.12.0-rc5. Including a newer version of
iproute2 would include the patch, but causes other building issues.

Signed-off-by: Jonas Lochmann <openwrt@jonaslochmann.de>
Link: https://github.com/openwrt/openwrt/pull/22128
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoeconet: en7528: split DASAN H660GM-A into Airtel and Generic variants 22095/head
Ahmed Naseef [Thu, 19 Feb 2026 12:00:52 +0000 (16:00 +0400)] 
econet: en7528: split DASAN H660GM-A into Airtel and Generic variants

The DASAN H660GM-A GPON ONT exists in two hardware variants, one
distributed by ISPs and one sold directly by the manufacturer [1].

Split the single DTS into a shared dtsi and per-variant DTS files
with the correct GPIO mappings, flash layout, and LED definitions.

Variant comparison:

  Feature        | Airtel                    | Generic
  ---------------+---------------------------+-------------------------
  Supplied by    | Airtel Xstream Fiber      | Retail
  Flash          | Micron MT29F2G01ABAGD     | Micron MT29F1G01ABAFD
                 | 256 MB                    | 128 MB
  Known P/N      | DPW-G-P-66GMAZ-A3         | DPW:G-P-660GMAY-G0
                 | (some units unlabelled)   | DPW:G-P-660GMAY-G3
  WPS LED        | Yes                       | No
  WLAN button    | No                        | Yes
  USB LED        | No                        | Yes
  LAN LEDs       | Green only                | Green + Amber

[1] https://dasanns.com/en/solution/detail.php?mode=view&cat_no=32&offset=&idx=122

Tested-by: Arif Rahman Hakim <arif2785id@gmail.com>
Signed-off-by: Ahmed Naseef <naseefkm@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22095
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agomac80211: backport eMLSR/eMLMR parsing support
Felix Fietkau [Sat, 21 Feb 2026 10:14:13 +0000 (10:14 +0000)] 
mac80211: backport eMLSR/eMLMR parsing support

Needed for an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 months agomt7620: workaround jal imm26 and redundant PAGE_ALIGN 20553/head
Mieczyslaw Nalewaj [Tue, 28 Oct 2025 23:23:02 +0000 (00:23 +0100)] 
mt7620: workaround jal imm26 and redundant PAGE_ALIGN

On MT7620-class platforms (CONFIG_NET_RALINK_MT7620) we observe sporadic
wrong-jump-targets, kernel oopses, hanging, corrupted backtraces or even
"half-written" instructions when the compiler emits a direct 'jal imm26'
call.
This is triggered in:
  - the small random helpers inside get_random_u32_below(), and
  - the blkcg_maybe_throttle_current() call in resume_user_mode_work().

This patch forces those two call sites to use an indirect call via
a volatile function pointer (load into register + jalr) when building
for MT7620, avoiding embedding a 26-bit immediate jump target.

Additionally, on MT7620 builds the exec path in fs/exec.c is modified:
  - skip arch_align_stack() + PAGE_ALIGN() in setup_arg_pages()
    because the micro-randomization (< PAGE_SIZE) implemented by many
    ports (including MT7620) is negated immediately by PAGE_ALIGN().
    Skipping the redundant PAGE_ALIGN() reduces exposure to the
    problematic code pattern.

These changes are targeted workarounds for MT7620; behavioral logic is unchanged.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/20553
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoath79: mikrotik: fix DEVICE_PACKAGES
Robert Marko [Tue, 24 Feb 2026 13:37:33 +0000 (14:37 +0100)] 
ath79: mikrotik: fix DEVICE_PACKAGES

Instead of redifining the DEVICE_PACKAGES, make sure to expand the list
so yafut is included by default as well.

Fixes: 42cd48678745 ("ath79: remove kmod-ath9k and wpad from Mikrotik RB750r2")
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agomvebu: use libdeflate for FitImage
Robert Marko [Tue, 24 Feb 2026 10:46:24 +0000 (11:46 +0100)] 
mvebu: use libdeflate for FitImage

Use libdeflate for faster and better compression in FitImages.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
3 months agoimx: cortexa53: remove KSZ9477 static driver 22120/head
Tim Harvey [Fri, 20 Feb 2026 01:01:48 +0000 (17:01 -0800)] 
imx: cortexa53: remove KSZ9477 static driver

The KSZ9477 driver was added to the cortexa53 kernel to support the
Gateworks Venice product family which has a board with this switch. Now
that the kmod-dsa-ksz9477 driver is available as a package remove the
static configuration ad add the package.

This resolves an issue caused by having the switch driver static and the
PHY driver as a module such that the PHY driver was not registered early
enough to be used causing some errata to not be worked around.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/22120
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agokernel: netdevices: add KSZ9477 DSA switch packages
Tim Harvey [Fri, 20 Feb 2026 00:57:29 +0000 (16:57 -0800)] 
kernel: netdevices: add KSZ9477 DSA switch packages

This adds kernel packages for the Microchip KSZ9477 switch family.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/22120
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agomac80211: ath9k: fix memory leak 22158/head
Rosen Penev [Mon, 23 Feb 2026 21:09:06 +0000 (13:09 -0800)] 
mac80211: ath9k: fix memory leak

sc->gpiochip is assigned to gc when it should be the other way around.
This allows gpiod_free to work properly.

Fixes: e78dc2eae4 ("mac80211: ath9k: clean up gpiochi")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22158
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: dsa: allow building as a module 22121/head
Markus Stockhausen [Fri, 20 Feb 2026 19:51:05 +0000 (20:51 +0100)] 
realtek: dsa: allow building as a module

The makefile recipe is wrong and a module compilation tries
to build each object individually. Fix that. This allows to
build the dsa driver as a module.

Suggested-by: Balázs Triszka <info@balika011.hu>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22121
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: eth: remove fixed dsa coupling
Markus Stockhausen [Fri, 20 Feb 2026 19:48:54 +0000 (20:48 +0100)] 
realtek: eth: remove fixed dsa coupling

The ethernet driver has a hard link to the dsa driver. Especially
the setup_tc() function must be available when the driver loads.
Decouple it by using a dsa callback recipe.

Suggested-by: Balázs Triszka <info@balika011.hu>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22121
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: mach: export soc_info
Markus Stockhausen [Fri, 20 Feb 2026 19:44:38 +0000 (20:44 +0100)] 
realtek: mach: export soc_info

We do not want to rely on the soc_info structure. But at the moment
it is still referenced in several places. Add an EXPORT() to it.
So drivers that need access to this structure can be build as modules.

Suggested-by: Balázs Triszka <info@balika011.hu>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22121
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoath79: remove kmod-ath9k and wpad from Mikrotik RB750r2 22134/head
Eicke Herbertz [Sat, 21 Feb 2026 16:35:54 +0000 (17:35 +0100)] 
ath79: remove kmod-ath9k and wpad from Mikrotik RB750r2

The RB750r2 (HEXLite) does not have wifi and those packages bloat the image
by a significant amount. When building a custom image with WireGuard and
booting that from initramfs, there wasn't enough space left in tmpfs to
upload and flash the squashfs image. Investigating what packages I could
remove, I discovered these unneeded ones.

Signed-off-by: Eicke Herbertz <wolletd@posteo.de>
Link: https://github.com/openwrt/openwrt/pull/22134
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agokernel: net: fix deadlock caused by phy led trigger 22136/head
Shiji Yang [Sun, 22 Feb 2026 02:52:20 +0000 (10:52 +0800)] 
kernel: net: fix deadlock caused by phy led trigger

Register phy led_triggers earlier to avoid AB-BA deadlock.

Fixes: https://github.com/openwrt/openwrt/issues/18472
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22136
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agonetifd: update to Git HEAD (2026-02-23)
Robert Marko [Mon, 23 Feb 2026 10:01:08 +0000 (11:01 +0100)] 
netifd: update to Git HEAD (2026-02-23)

299a51f0c301 global: add support for PSE-PD control

Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agotreewide: linksys: use nvmem MAC for hw_mac_addr 22092/head
Rosen Penev [Thu, 19 Feb 2026 01:57:22 +0000 (17:57 -0800)] 
treewide: linksys: use nvmem MAC for hw_mac_addr

Given that Linksys is the same brand and probably use the same OEM, it
stands to reason all devinfo hw_mac_addr implementations are the same.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22092
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoipq806x: nbg6817: use nvmem for MAC addresses 22107/head
Rosen Penev [Fri, 20 Feb 2026 01:40:44 +0000 (17:40 -0800)] 
ipq806x: nbg6817: use nvmem for MAC addresses

Userspace handling is deprecated. NVMEM allows more flexibility in terms
of exotic setups while keeping correct MAC addresses.

env-size taken from file in uboot-envtools.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22107
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoipq806x: ac400i: use nvmem for MAC addresses
Rosen Penev [Fri, 20 Feb 2026 01:23:00 +0000 (17:23 -0800)] 
ipq806x: ac400i: use nvmem for MAC addresses

Userspace handling is deprecated. NVMEM allows flexibility in terms of
exotic setups by avoiding random MAC addresses.

u-boot env-size taken from the entry in uboot-envtools

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22107
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agomediatek: backport various pinctrl fixes 21423/head
Shiji Yang [Tue, 6 Jan 2026 12:19:30 +0000 (20:19 +0800)] 
mediatek: backport various pinctrl fixes

Backport patches from upstream linux and mtk-openwrt-feeds to fix
MT7981 register offset issue and correct MT798x IES register config.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21423
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agouboot-mediatek: backport various pinctrl fixes
Shiji Yang [Tue, 6 Jan 2026 12:19:30 +0000 (20:19 +0800)] 
uboot-mediatek: backport various pinctrl fixes

Backport patches from upstream u-boot and mtk-openwrt-feeds to fix
MT7981 register offset issue and correct MT798x IES register config.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21423
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agomediatek: add the aquantia kmod to bpi-r4 19884/head
Felix Baumann [Wed, 27 Aug 2025 15:44:19 +0000 (17:44 +0200)] 
mediatek: add the aquantia kmod to bpi-r4

The banana pi r4 comes with 2 sfp+ ports running at 10gbps
Readd support for aquantia sfp+ modules that was removed by
57a127c9e79db96f4dbf262db9e1a808bd474ddf

Closes: #19878
Signed-off-by: Felix Baumann <felix.bau@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19884
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: dsa: derive dsa port count and irq mask from cpu port 22068/head
Markus Stockhausen [Tue, 17 Feb 2026 18:19:22 +0000 (19:19 +0100)] 
realtek: dsa: derive dsa port count and irq mask from cpu port

Avoid a family_id check and derive the values from the cpu port.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22068
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: dsa: move n_pie_blocks into config structure
Markus Stockhausen [Tue, 17 Feb 2026 18:06:54 +0000 (19:06 +0100)] 
realtek: dsa: move n_pie_blocks into config structure

Place it where it belongs.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22068
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: dsa: move n_counters into config structure
Markus Stockhausen [Tue, 17 Feb 2026 17:52:49 +0000 (18:52 +0100)] 
realtek: dsa: move n_counters into config structure

Place it where it belongs.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22068
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: eth: merge & simplify irq handlers 22023/head
Markus Stockhausen [Sat, 14 Feb 2026 18:40:31 +0000 (19:40 +0100)] 
realtek: eth: merge & simplify irq handlers

Two different irq handlers exist for RTL83xx and RTL93xx. Basically
they do always the same.

- Check transmit interrupts (not needed anymore)
- Check rx overflow interrupts (not needed anymore)
- Determine rx interrupts and queues that must be processed.
- In case of RTL839x check for L2 interrupts

With all the recent refactoring their logic is more or less the
same. Merge them into one handler. For better readability add a
helper that determines the work (aka rings) that needs to be
processed.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22023
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: fix LGS352C DTS 22119/head
Markus Stockhausen [Fri, 20 Feb 2026 16:21:37 +0000 (17:21 +0100)] 
realtek: fix LGS352C DTS

There is a wrong port assignment for the 4 SFP+ ports
on that device. Additionally the transmit polarity
change option was missed. Fix that.

Fixes: f88135b ("realtek: add support for Linksys LGS352C")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22119
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: pcs: rtl931x: configure SerDes-backing MAC groups 22088/head
Jonas Jelonek [Wed, 18 Feb 2026 20:18:21 +0000 (20:18 +0000)] 
realtek: pcs: rtl931x: configure SerDes-backing MAC groups

RTL931x organizes MACs into 12 groups (one per SerDes) that must be
explicitly enabled before link establishment. Without initialization,
link may fail or packets may be corrupted, especially in USXGMII/XSGMII
modes. This is the case for devices which lack initialization by the
bootloader.

Simply enable all MACs in all groups by writing 0xffffffff to the
registers. Unused MACs and reserved bits are harmless, avoiding complex
logic to always set only needed MACs.

This is placed in the PCS driver since the MAC groups are assigned per
SerDes and the DSA driver lacks SerDes awareness (on purpose)

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22088
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: add support for XikeStor SKS8300-12X V1 21922/head
Jonas Jelonek [Wed, 3 Sep 2025 21:55:29 +0000 (21:55 +0000)] 
realtek: add support for XikeStor SKS8300-12X V1

Hardware:
  - SoC: RTL9313
  - Memory: 512MB
  - Flash: SPI-NOR 32MB (GigaDevice GD25Q256EFIR)
  - Ethernet: 12x 1/2.5/10 Gbps (SFP+)
  - LED/Keys (GPIO): 1x/1x
  - UART: "Console" port on the front panel
    - type: RS-232C
    - connector: RJ-45
    - settings: 9600n8 / 115200n8
  - Watchdog: Diodes PT7A7514WE
  - Monitoring: LM75A
  - Power: 100-240 VAC 50/60 Hz C13/C14

Important notes:
---------------

* the device uses 9600 Baud by default but this extremely slows down the
  device when using the serial console. OpenWrt is configured to use
  115200 Baud. If you need to enter the bootloader, you need to use 9600
  Baud.

* PT7A7514WE watchdog is fed through hardware-assisted SYS_LED. However,
  the bootloader seems to deactivate that again during autoboot. There's
  a quirk in early arch setup for this.

* a kernel binary "nos.img" needs to be stored into JFFS2 filesystem
  using 4KiB erase block instead of 64KiB.

* V1 is the version with the 19"-sized case. As of 2026, there's a newer
  version with a narrow case.

Flash instructions using initramfs image:
-----------------------------------------

(mostly taken from 0dc0b98295)

 1. Prepare TFTP server with an IP address in 192.168.2.0/24.
 2. Connect your PC to Port 1 on SKS8300-12X.
 3. Power on SKS8300-12X and interrupt autoboot by Ctrl + B.
 4. Login to the vendor CLI by Ctrl + F and "diagshell_unipoe_env" as password.
 5. Switch baudrate to 115200 by running a command and then reconnect
    with different settings:

    baudrate 115200

 6. Switch to U-Boot CLI by "debug_unish_env".
 7. Enable Port 1 with the following commands:

    rtk 10g 0 fiber1g # (or fiber10g if 10GBase-*R)
    rtk ext-devInit 0 # init RTL8231 that holds SFP GPIOs
    rtk ext-pinSet 2 0 # set tx-disable of port 1 to LOW

 8. Transfer initramfs image via TFTP and boot it:

    tftpboot 0x82000000 <serverip>:<image name>
    bootm 0x82000000

 9. On the initramfs image, backup the stock firmware if needed.
10. Upload (or download) sysupgrade image to the device.
11. Erase "firmware" partition to cleanup JFFS2 of stock FW:

    mtd erase firmware

12. Perform sysupgrade with the sysupgrade image.
13. Wait until the flash completes and the system reboots into OpenWrt.

Reverting to stock firmware:
----------------------------

(taken from 0dc0b98295)

1. Prepare OpenWrt SDK to use the mkfs.jffs2 tool contained in it

   Note: the official mkfs.jffs2 tool in mtd-utils doesn't support 4KiB
         erase size and not usable for SKS8300-8X

2. Create a directory for working
3. Download official firmware for SKS8300-8X from XikeStor's official
   website
4. Rename the downloaded firmware to "nos.img" and place it to the
   working directory
5. Create a JFFS2 filesystem binary with the working directory

   /path/to/mkfs.jffs2 -p -b -U -v -e 4KiB -x lzma \
       -o nos.img.jffs2 -d /path/to/working/dir/

6. Upload the created JFFS2 filesystem binary to the device
7. Erase the "firmware" partition

   mtd erase firmware

8. Write the JFFS2 filesystem binary to the "firmware" partition

   mtd write /path/to/nos.img.jffs2 firmware

9. After writing, reboot the device by power cycle

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21922
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: image: make xikestor-nosimg a common recipe
Jonas Jelonek [Sun, 8 Feb 2026 00:21:10 +0000 (00:21 +0000)] 
realtek: image: make xikestor-nosimg a common recipe

Make xikestor-nosimg a common recipe in the Makefile to allow usage for
other subtargets too, not only rtl930x.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21922
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: arch: add early watchdog quirk
Jonas Jelonek [Sat, 7 Feb 2026 23:36:16 +0000 (23:36 +0000)] 
realtek: arch: add early watchdog quirk

On some XikeStor switches (SKS8300-8X, SKS8300-12X), the SYS_LED/GPIO0 is
used to feed an external PT7A7514WE watchdog. While this was no issue on
SKS8300-8X, the bootloader on the SKS8300-12X seems to deactivate the
automatic feeding on purpose by setting the pin function of to GPIO0
instead of SYS_LED. This kills the periodic signal generated on that pin.
This causes the kernel to just stop quite early and reset the system
entirely.

Because this happens very early, it doesn't work to define this as a
pinctrl entry or GPIO hog. The drivers aren't even loaded at that stage.
To work around the issue, we need to configure this in the arch-specific
early setup. An affected device needs to have a corresponding node in
the DTS that is picked up then.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21922
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: switch Netgear RTL8380 devices to NVMEM 22055/head
Jan Hoffmann [Mon, 16 Feb 2026 20:36:05 +0000 (21:36 +0100)] 
realtek: switch Netgear RTL8380 devices to NVMEM

Use NVMEM in device tree to set the label and eth0 MAC address based on
the U-Boot environment.

Invididual port MAC addresses and bridge MAC are still handled in the
02_network script to maintain the current assignment.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/22055
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: rtl838x: enable U-Boot env NVMEM layout in kernel
Jan Hoffmann [Mon, 16 Feb 2026 20:20:56 +0000 (21:20 +0100)] 
realtek: rtl838x: enable U-Boot env NVMEM layout in kernel

This is a preparation to convert some more RTL838x devices to NVMEM.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/22055
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agorealtek: mdio: setup polling for RTL8261 22109/head
Markus Stockhausen [Fri, 20 Feb 2026 06:55:24 +0000 (07:55 +0100)] 
realtek: mdio: setup polling for RTL8261

Startup of mdio on a RTL8216 based device currently shows the
following warnings.

[1.948608] skip polling setup for unknown PHY 001ccaf3 on port 0
[1.968920] skip polling setup for unknown PHY 001ccaf3 on port 8
[1.989171] skip polling setup for unknown PHY 001ccaf3 on port 16
[2.009704] skip polling setup for unknown PHY 001ccaf3 on port 20
[2.030209] skip polling setup for unknown PHY 001ccaf3 on port 24
[2.052270] realtek-otto-serdes-mdio 1b000000.switchcore:mdio-serdes:
           Realtek SerDes mdio bus initialized, 12 SerDes, 64 pages

Add the phy detection to the mdio bus so that polling setup works.
While we are here sort the phy ids alphabetically.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22109
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 months agoRevert "bmips: huawei-hg556a-c: use nvmem for wifi eeprom" 22091/head
Rosen Penev [Thu, 19 Feb 2026 01:25:38 +0000 (17:25 -0800)] 
Revert "bmips: huawei-hg556a-c: use nvmem for wifi eeprom"

This reverts commit 72f43ac220616fbd2f9658b9b60a861e8565a998.

The NVMEM codepath does not perform automatic byte conversion. It can be
fixed but the upstream version is quite different from the local
mac80211 patch. Revert until mac80211 gets updated and the whole mess
can get squared away.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22091
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: mdio: use register field indentation 22075/head
Markus Stockhausen [Wed, 18 Feb 2026 07:27:30 +0000 (08:27 +0100)] 
realtek: mdio: use register field indentation

Make clearer which field belongs to which register. For this
sort the fields below the registers and use indentation.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22075
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: mdio: taker over RTL931x PHY polling from DSA
Markus Stockhausen [Wed, 18 Feb 2026 07:12:06 +0000 (08:12 +0100)] 
realtek: mdio: taker over RTL931x PHY polling from DSA

PHY polling setup has found a home in the mdio driver. For RTL931x
there still exists a setup sequence for polling type (serdes/mdio)
in the DSA driver. Put it where it belongs.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22075
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agotoolchain: sdk: ib: allow external toolchain override 22089/head
Daniel Dickinson [Sun, 3 Jan 2016 06:02:55 +0000 (01:02 -0500)] 
toolchain: sdk: ib: allow external toolchain override

Allow building imagebuilder and/or sdk with dependency on the same
external toolchain as used to build the imagebuilder or sdk (so that ib
and sdk may be built using an external toolchain).

Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
Original patch:
https://lists.openwrt.org/pipermail/openwrt-devel/2016-January/012552.html
[rebased to current main, impvove commit title]
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22089
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoRevert "package: kernel: dtc: Add DTO support" 22118/head
Daniel Golle [Fri, 20 Feb 2026 14:49:02 +0000 (14:49 +0000)] 
Revert "package: kernel: dtc: Add DTO support"

It looks like commit 6d2f3b1b19 ("package: kernel: dtc: Add DTO support")
added this patch file 9 years ago without it ever being applied anywhere.
Back then there wasn't even a 'dtc' package, but we just used 'dtc' from
the Linux kernel sources.
Nowadays there is package/utils/dtc which is used to build dtc to be used
on the target (*not* a host-build!), and it of course already contains
support for device tree overlays since v1.4.3 from 2017...

This reverts commit 6d2f3b1b1974d742576b0902e9c4777c9ac1ba67.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Link: https://github.com/openwrt/openwrt/pull/22118
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: eth: drop unused defines 22100/head
Markus Stockhausen [Thu, 19 Feb 2026 20:50:59 +0000 (21:50 +0100)] 
realtek: eth: drop unused defines

Get rid of defines that are not used in the driver.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22100
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: eth: remove DMA_IF_RX_CUR definition
Markus Stockhausen [Thu, 19 Feb 2026 20:33:57 +0000 (21:33 +0100)] 
realtek: eth: remove DMA_IF_RX_CUR definition

This define is used nowhere. Remove it.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22100
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: eth: simplify MAC_FORCE_MODE_CTRL usage
Markus Stockhausen [Thu, 19 Feb 2026 20:22:58 +0000 (21:22 +0100)] 
realtek: eth: simplify MAC_FORCE_MODE_CTRL usage

The MAC_FORCE_MODE_CTRL register is only used for the CPU port.
No need to repeat the port register calculation for each usage.
Simply point to the cpu port register directly.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22100
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agowireguard-tools: fix string indexing in endpoint host check
Felix Fietkau [Fri, 20 Feb 2026 18:05:45 +0000 (18:05 +0000)] 
wireguard-tools: fix string indexing in endpoint host check

Use substr() instead of array index syntax to access the first
character of the endpoint host string, as ucode does not support
array-style indexing on strings.

Fixes: https://github.com/openwrt/openwrt/issues/22116
Fixes: 8f977b4a4055 ("wireguard-tools: fix handling of multi-value config options")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 months agoprocd: update to git HEAD 22065/head
Daniel Golle [Tue, 17 Feb 2026 15:26:18 +0000 (15:26 +0000)] 
procd: update to git HEAD

 180ffcc instance: use mkdir_p helper
 9493a3d signal: handle SIGUSR1 as halt
 4dd22d0 cgroups: fix syntax error

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 months agogeneric: fixed FTB when CONFIG_MODULES=n 22041/head
Maksim Dmitrichenko [Sun, 15 Feb 2026 22:31:55 +0000 (02:31 +0400)] 
generic: fixed FTB when CONFIG_MODULES=n

Fixed the compilation of kernel with the loadable modules support turned off

Signed-off-by: Maksim Dmitrichenko <dmitrmax@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22041
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agorealtek: cleanup mach setup 22084/head
Markus Stockhausen [Wed, 18 Feb 2026 18:21:42 +0000 (19:21 +0100)] 
realtek: cleanup mach setup

Remove unneeded includes from setup.c and adapt comments.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22084
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoqualcommbe: add missing CONFIG_LEDS_QCOM_LPG to ipq95xx/config-default 22096/head
Ahmed Naseef [Fri, 20 Feb 2026 05:12:12 +0000 (09:12 +0400)] 
qualcommbe: add missing CONFIG_LEDS_QCOM_LPG to ipq95xx/config-default

Add missing CONFIG_LEDS_QCOM_LPG symbol.

Signed-off-by: Ahmed Naseef <naseefkm@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22096
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agoqualcommbe: fix rdp433 build after DTS directory move
Ahmed Naseef [Fri, 20 Feb 2026 05:10:31 +0000 (09:10 +0400)] 
qualcommbe: fix rdp433 build after DTS directory move

Commit 041ef9648d ("qualcommbe: move Device DTS to dedicated DTS
directory") introduced a dedicated DTS directory and set DEVICE_DTS_DIR
to ../dts as default. This broke the rdp433 device build since its DTS
resides in the kernel tree (applied via patches), not in the target dts
directory.

Fix this by overriding DEVICE_DTS_DIR for rdp433 to point to the kernel
DTS directory.

Fixes: 041ef9648d ("qualcommbe: move Device DTS to dedicated DTS directory")
Signed-off-by: Ahmed Naseef <naseefkm@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22096
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 months agouclient: update to Git HEAD (2026-02-20)
Felix Fietkau [Fri, 20 Feb 2026 09:07:56 +0000 (09:07 +0000)] 
uclient: update to Git HEAD (2026-02-20)

7a0aa2e4afb4 uclient-http: fix data_eof for body-less responses

Fixes: https://github.com/openwrt/openwrt/issues/22103
Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 months agowireguard-tools: fix handling of multi-value config options
Felix Fietkau [Fri, 20 Feb 2026 08:50:44 +0000 (08:50 +0000)] 
wireguard-tools: fix handling of multi-value config options

Config options like addresses and ip6prefix can be passed as either a
space-separated string or an array. Add a to_array() helper and use it
consistently for all multi-value options (addresses, ip6prefix,
allowed_ips).

Fixes: https://github.com/openwrt/openwrt/issues/22102
Fixes: 41bc454602f1 ("wireguard-tools: rewrite proto handler in ucode")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 months agoairoha: an7583: fix wrong clock for SPI and SLIC
Christian Marangi [Thu, 19 Feb 2026 23:57:35 +0000 (00:57 +0100)] 
airoha: an7583: fix wrong clock for SPI and SLIC

Due to confusing Documentation, the SPI and SLIC base clock and
register location for Airoha AN7583 SoC were wrong.

Fix them with new updated Documentation source to provide correct
clock support.

Fixes: c5b12fc02ab1 ("airoha: Introduce support for Airoha AN7583 SoC")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>