]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
2 months agowireguard-tools: use kconfig dependency for ip instead of runtime 22652/head
Anand Kumar [Wed, 1 Apr 2026 12:39:32 +0000 (12:39 +0000)] 
wireguard-tools: use kconfig dependency for ip instead of runtime

The conditional runtime dependency on the ip package was originally
intended to only pull in the ip package when busybox ip is not
configured. However, in APK-based builds the BUSYBOX_CONFIG_*
variables may not be resolvable at package metadata generation
time, causing the ip dependency to be unconditionally baked into
the .apk package. This forces users to install ip-tiny or ip-full
even though busybox already provides the ip command.

Revert to the previous +@BUSYBOX_CONFIG_IP / +@BUSYBOX_CONFIG_FEATURE_IP_LINK
kconfig-level dependencies. These ensure busybox ip support is
enabled at config time without creating a runtime package dependency.
Both options default to y, and wireguard.uc only uses basic
ip link commands that busybox fully supports.

Fixes: openwrt#22637
Signed-off-by: Anand Kumar <anandvtu16158@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22652
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoipq60xx: linksys: add partition selection 22594/head
Rosen Penev [Tue, 24 Mar 2026 20:02:52 +0000 (13:02 -0700)] 
ipq60xx: linksys: add partition selection

Instead of upgrading both kernels, allow support for selecting the
partition during sysupgrade.

Copy/Paste of Linux MX devices on the same target.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22594
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agouboot-envtools: add u-boot-env for EX5601/WX5600 22670/head
Paweł Owoc [Sun, 29 Mar 2026 12:28:55 +0000 (14:28 +0200)] 
uboot-envtools: add u-boot-env for EX5601/WX5600

Add ability to read u-boot-env partition as sys env
for Zyxel EX5601 and WX5600 with custom partitions.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22670
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agowolfssl: allow enabling RISC-V assembler optimization 22702/head
Zoltan HERPAI [Mon, 30 Mar 2026 21:13:28 +0000 (21:13 +0000)] 
wolfssl: allow enabling RISC-V assembler optimization

wolfssl implemented AES ECB/CBC/CTR/GCM/CCM in RISC-V assembler,
achieving massive speed improvements on boards with such CPUs.

Benchmarking on a Sifive Unleashed (oldest Linux-capable RISC-V board),
results are:

No optimization:
wolfCrypt Benchmark (block bytes 1048576, min 1.0 sec each)
RNG                         10 MiB took 1.772 seconds,    5.644 MiB/s
AES-128-CBC-enc              5 MiB took 16.264 seconds,    0.307 MiB/s
AES-128-CBC-dec              5 MiB took 16.314 seconds,    0.306 MiB/s
AES-192-CBC-enc              5 MiB took 19.460 seconds,    0.257 MiB/s
AES-192-CBC-dec              5 MiB took 19.480 seconds,    0.257 MiB/s
AES-256-CBC-enc              5 MiB took 22.633 seconds,    0.221 MiB/s
AES-256-CBC-dec              5 MiB took 22.715 seconds,    0.220 MiB/s
AES-128-GCM-enc              5 MiB took 16.324 seconds,    0.306 MiB/s
AES-128-GCM-dec              5 MiB took 16.450 seconds,    0.304 MiB/s
AES-192-GCM-enc              5 MiB took 19.487 seconds,    0.257 MiB/s
AES-192-GCM-dec              5 MiB took 19.621 seconds,    0.255 MiB/s
AES-256-GCM-enc              5 MiB took 22.644 seconds,    0.221 MiB/s
AES-256-GCM-dec              5 MiB took 22.805 seconds,    0.219 MiB/s
[...]

Enabled optimization:
wolfCrypt Benchmark (block bytes 1048576, min 1.0 sec each)
RNG                         10 MiB took 1.459 seconds,    6.855 MiB/s
AES-128-CBC-enc             15 MiB took 1.028 seconds,   14.592 MiB/s
AES-128-CBC-dec             15 MiB took 1.006 seconds,   14.916 MiB/s
AES-192-CBC-enc             15 MiB took 1.187 seconds,   12.634 MiB/s
AES-192-CBC-dec             15 MiB took 1.180 seconds,   12.713 MiB/s
AES-256-CBC-enc             15 MiB took 1.359 seconds,   11.037 MiB/s
AES-256-CBC-dec             15 MiB took 1.352 seconds,   11.096 MiB/s
AES-128-GCM-enc             10 MiB took 1.140 seconds,    8.769 MiB/s
AES-128-GCM-dec             10 MiB took 1.140 seconds,    8.770 MiB/s
AES-192-GCM-enc             10 MiB took 1.256 seconds,    7.963 MiB/s
AES-192-GCM-dec             10 MiB took 1.261 seconds,    7.931 MiB/s
AES-256-GCM-enc             10 MiB took 1.373 seconds,    7.285 MiB/s
AES-256-GCM-dec             10 MiB took 1.371 seconds,    7.291 MiB/s

HMAC- and SHA- functions also have significant improvements.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Link: https://github.com/openwrt/openwrt/pull/22702
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dts: convert devices to PHY_C45() 22715/head
Markus Stockhausen [Tue, 31 Mar 2026 15:40:39 +0000 (17:40 +0200)] 
realtek: dts: convert devices to PHY_C45()

Make the remaining devices use the new PHY_C45() macro. At least
those that have no extra attributes in the phy definitions.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22715
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dts: add PHY_C45() macro
Markus Stockhausen [Tue, 31 Mar 2026 15:40:31 +0000 (17:40 +0200)] 
realtek: dts: add PHY_C45() macro

Like the PHY_C22() macro before add a helper that allows to define
a C45 based phy. It works basically the same with two parameters
PHY_C45(port_number, bus_address) where

- port_number is the absolute overall unique phy number
- bus_address is the location of the phy on the bus

As a first consumer adapt the Xikestor SKS8300-8T devicetree.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22715
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agomediatek: backport upstream thermal patch for mt7981 22646/head
Aleksander Jan Bajkowski [Sat, 28 Jun 2025 11:16:11 +0000 (13:16 +0200)] 
mediatek: backport upstream thermal patch for mt7981

Backport upstream patch that adds node for thermal driver.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/22646
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel: tune 24kc instead of 34kc for mips32r2 22703/head
Shiji Yang [Tue, 31 Mar 2026 00:10:30 +0000 (08:10 +0800)] 
kernel: tune 24kc instead of 34kc for mips32r2

GCC generates the same code for 24kc and 34kc. Since we have
converted all 34kc targets to the 24kc, it's better to switch
kernel -mtune to 24kc to avoid confusing developers.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22703
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: refresh patches
Robert Marko [Wed, 1 Apr 2026 11:40:22 +0000 (13:40 +0200)] 
realtek: refresh patches

It seems that Realtek patches need to be refreshed after MXL DSA update.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoipq40xx: refresh patches
Robert Marko [Wed, 1 Apr 2026 11:24:49 +0000 (13:24 +0200)] 
ipq40xx: refresh patches

It seems that a refresh is needed after the MXL DSA driver update.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agolibunwind: replace local patches with upstream 21057/head
Rosen Penev [Sat, 6 Dec 2025 02:03:52 +0000 (18:03 -0800)] 
libunwind: replace local patches with upstream

libunwind solves these in different ways.

ppc-musl is still pending upstream.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21057
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoairoha: backport minor fixup for Ethernet driver on Offload Scenario
Christian Marangi [Wed, 1 Apr 2026 07:07:38 +0000 (09:07 +0200)] 
airoha: backport minor fixup for Ethernet driver on Offload Scenario

Backport minor fixup merged upstream for Ethernet driver on Offload
Scenario. This is to continue the effort of keeping the Airoha Ethernet
driver synced with the upstream version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agorealtek: i2c: rtl9300: backport driver cleanup patches 22662/head
Rustam Adilov [Sun, 29 Mar 2026 09:06:33 +0000 (14:06 +0500)] 
realtek: i2c: rtl9300: backport driver cleanup patches

Backport 2 patches from [1] that cleanup the i2c-rtl9300 upstream driver.
They have been long accepted and are already in mainline kernel as of 7.0-rc1.

The "100-rtl9300-i2c-add-more-speeds.patch" required refreshing after adding
these backport patches.

[1] - https://lore.kernel.org/linux-i2c/20251217063027.37987-1-rosenp@gmail.com/

Signed-off-by: Rustam Adilov <adilov@tutamail.com>
Link: https://github.com/openwrt/openwrt/pull/22662
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: dsa: move fib_entries to config structure 22438/head
Markus Stockhausen [Sun, 15 Mar 2026 18:43:08 +0000 (19:43 +0100)] 
realtek: dsa: move fib_entries to config structure

The fib_entries attribute is a device specific constant.
Therefore move it into the configuration structure. Add
a comment why someone used 16K fib_entries for RTL931x
instead of the possible 32K.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22438
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: dsa: drop port_width from instance structure
Markus Stockhausen [Sun, 29 Mar 2026 17:55:34 +0000 (19:55 +0200)] 
realtek: dsa: drop port_width from instance structure

The port_width attribute is only used once and can be derived
from the cpu_port. Drop it. Add a comment for better readability.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22438
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: dsa: drop port_mask from instance structure
Markus Stockhausen [Sun, 29 Mar 2026 17:47:28 +0000 (19:47 +0200)] 
realtek: dsa: drop port_mask from instance structure

The port_mask attribute is set but never used. Drop it.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22438
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: dsa: move cpu_port to config structure
Markus Stockhausen [Sun, 29 Mar 2026 17:43:38 +0000 (19:43 +0200)] 
realtek: dsa: move cpu_port to config structure

The cpu_port is a per-device constant. Thus move it from the
instance structure to the config structure.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22438
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agogeneric: 6.18: hack: io_uring: zcrx: Use IS_REACHABLE() instead of IS_ENABLED()
Robert Marko [Tue, 31 Mar 2026 16:54:47 +0000 (18:54 +0200)] 
generic: 6.18: hack: io_uring: zcrx: Use IS_REACHABLE() instead of IS_ENABLED()

We patch DMA_BUF to make it tristate, so once ALL_KMODS is selected it will
be built as a module even if previously disabled in the config.

So, since IO_URING_ZCRX does not depend on DMA_BUF linking will fail with:
aarch64-openwrt-linux-musl-ld: Unexpected GOT/PLT entries detected!
aarch64-openwrt-linux-musl-ld: Unexpected run-time procedure linkages detected!
aarch64-openwrt-linux-musl-ld: io_uring/zcrx.o: in function `io_release_dmabuf':
io_uring/zcrx.c:94:(.text+0x20): undefined reference to `dma_buf_unmap_attachment_unlocked'
aarch64-openwrt-linux-musl-ld: io_uring/zcrx.c:97:(.text+0x30): undefined reference to `dma_buf_detach'
aarch64-openwrt-linux-musl-ld: io_uring/zcrx.c:99:(.text+0x3c): undefined reference to `dma_buf_put'
aarch64-openwrt-linux-musl-ld: io_uring/zcrx.o: in function `io_import_dmabuf':
io_uring/zcrx.c:125:(.text+0x1b20): undefined reference to `dma_buf_get'
aarch64-openwrt-linux-musl-ld: io_uring/zcrx.c:132:(.text+0x1b34): undefined reference to `dma_buf_attach'
aarch64-openwrt-linux-musl-ld: io_uring/zcrx.c:139:(.text+0x1b48): undefined reference to `dma_buf_map_attachment_unlocked'
make[6]: *** [scripts/Makefile.vmlinux:72: vmlinux.unstripped] Error 1

So, lets use IS_REACHABLE() to check for CONFIG_DMA_SHARED_BUFFER instead
to avoid adding a dependency to CONFIG_DMA_SHARED_BUFFER.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agomediatek: filogic: ASUS RT-AX52 PRO support 21905/head
Emre Yavuzalp [Mon, 16 Feb 2026 11:48:42 +0000 (14:48 +0300)] 
mediatek: filogic: ASUS RT-AX52 PRO support

The board is exactly identical to the ASUS RT-AX52, I've literally not changed a single thing.
Only AX52 is AX1800, PRO is AX3000.

SOC: MediaTek MT7981b
RAM: 256MB DDR3
FLASH: 128MB SPI-NAND (Winbond W25N01GV)
WIFI: Mediatek MT7981b DBDC 802.11ax 2.4/5 GHz
ETH: MediaTek MT7531 Switch
UART: 3V3 115200 8N1 (Pinout silkscreened / Do not ocnnect VCC)

Use the compiled asus_rt-ax52-pro-initramfs.trx file from the this repo.

Connect the PC via LAN to one of the yellow router ports and wait until your PC to get a DHCP lease.

Browse to http://192.168.50.1 or http://www.asusrouter.com/

If your router is brand new, finish the setup process and log into the Web-UI.

Navigate to Administration → Firmware Upgrade or use this link http://www.asusrouter.com/Advanced_FirmwareUpgrade_Content.asp.

Upload the .trx file to router

Wait for it to reboot

trx image is initramfs version. You must upgrade to squashfs version.

Browse to http://192.168.1.1/cgi-bin/luci/admin/system/flash

Upload asus_rt-ax52-pro-squashfs-sysupgrade.bin and use sysupgrade -n

Wait for it to reboot

SSH to 192.168.1.1 and set a root password, or browse to http://192.168.1.1

-------Revert to stock asus firmware ---------:
1: Download the rt-ax52 firmware from ASUS official website. Save the firmware to tftp server directory and rename to RT-AX52.trx

2: Connect the PC with TFTP server to the RT-AX52. Set a static ip on the ethernet interface of your PC. (ip address: 192.168.1.70, subnet mask:255.255.255.0)

3: Conect to the serial console, power on again, interrupt the autoboot process by pressing '4' when prompted. $ ubi remove linux
$ ubi remove jffs2
$ ubi remove rootfs
$ ubi remove rootfs_data
$ ubi create linux 0x45fe000
$ reset
then the dut will reboot,interrupt the autoboot process by pressing '2' when prompted. 2: Load System code then write to Flash via TFTP.
Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) $: enter y
you will see the follow, type enter directly:
Input device IP (192.168.1.1) ==:
Input server IP (192.168.1.70) ==:
Input Linux Kernel filename (RT-AX52.trx) ==:

4: wait for the device run up

Signed-off-by: Emre Yavuzalp <emreyavuzalp2@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21905
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoramips: fix WAN LED GPIO for Xiaomi Mi Router 4C 22696/head
Shiji Yang [Mon, 30 Mar 2026 14:56:02 +0000 (22:56 +0800)] 
ramips: fix WAN LED GPIO for Xiaomi Mi Router 4C

Correct WAN LED GPIO and its pinctrl group.

Fixes: https://github.com/openwrt/openwrt/issues/18578
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22696
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agolantiq: fix u-boot env size for Netgear DGN3500 22695/head
Shiji Yang [Mon, 30 Mar 2026 14:52:06 +0000 (22:52 +0800)] 
lantiq: fix u-boot env size for Netgear DGN3500

Correct u-boot env size to fix ethernet driver probe defer.

Fixes: https://github.com/openwrt/openwrt/issues/22692
Fixes: 75b9fae0c338 ("lantiq: dgn3500: use nvmem to load calibration")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22695
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: dts: convert nand targets to PHY_C22() macro 22698/head
Markus Stockhausen [Mon, 30 Mar 2026 16:44:21 +0000 (18:44 +0200)] 
realtek: dts: convert nand targets to PHY_C22() macro

Make use of the newly invented PHY_C22() macro for the
RTL93xx Linksys LGS3xxC NAND devices.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22698
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dts: convert EXTERNAL_PHY() to PHY_C22()
Markus Stockhausen [Mon, 30 Mar 2026 16:13:24 +0000 (18:13 +0200)] 
realtek: dts: convert EXTERNAL_PHY() to PHY_C22()

The Realtek target currently uses two phy macros to simplify the
device dts.

- EXTERNAL_PHY() to denote a phy attached to the SoC
- INTERNAL_PHY() to denote an internal PHY (inside the SoC)

There is no benefit doing this. The topology around a port/phy is
well defined by the port macros. They link port, phy, pcs and even
leds. The only consumer of the attribute "phy-is-integrated" is
inside the dsa driver and that is being refactored.

As a first step define a new more meaningful PHY_C22() macro that
describes a c22 capable phy. This does not need to care about the
external/internal relation. To make it even more useful for the
RTL93xx targets with multiple mdio busses give it two parameters
PHY_C22(port_number, bus_address) where

- port_number is the absolute overall unique phy number
- bus_address is the location of the phy on the bus

For RTL83xx these two parameters will usually be the same. Instead
of three steps (inventing the macro, converting the consumers and
removeing the old macor) do a one-step conversion for the existing
EXTERNAL_PHY() macro.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22698
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dsa: remove redundant integrated phy attribute
Markus Stockhausen [Mon, 30 Mar 2026 16:13:02 +0000 (18:13 +0200)] 
realtek: dsa: remove redundant integrated phy attribute

The dsa driver currently has different attributes to denote what
hardware is around a port:

- phy_is_integrated: true if phy is not driven by a serdes
- phy: the type of the attached phy (e.g. 0=NONE, 2=RTL8218B, ....)
- pcs: link to a serdes pcs instance

This is somehow redundant and especially the phy type should be only
part of the phy driver and is not needed by the dsa driver at all.
Remove the redundancy by simply keeping a boolean attribute "phy" that
flags a phy driven port and can be used similar to the pcs (pointer)
attribute. With that the driver can check phy/pcs as follows:

- if (ports[i].pcs) -> port has a dedicated serdes
- if (ports[i].phy) -> port has a dedicated phy

That implemented, the "phy-is-integrated" attribute of a phy can be
removed from the dts. This will be a separate commit. As a side effect
the following (annoying) boot message for kernel 6.18 gets fixed.

OF: /switchcore@1b000000/mdio-controller/mdio-bus@0/ethernet-phy@24:
Read of boolean property 'sfp' with a value.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22698
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: force in-band autoneg on XGS1250-12 A1 10G PHYs 22690/head
Jonas Jelonek [Mon, 30 Mar 2026 09:46:29 +0000 (09:46 +0000)] 
realtek: force in-band autoneg on XGS1250-12 A1 10G PHYs

In kernel 6.18, upstream added a change to the Aquantia PHY driver which
reports autoneg and inband capabilities as the PHY supports it, and
configures it accordingly in the PHY [1]. Due to how phylink works, it
then decides to turn off in-band signalling and prefer outband signalling
via MDIO.

We do not fully support running a USXGMII link with disabled
autonegotiation which leads to a non-working link between RTL93xx switch
and Aquantia PHYs running on USXGMII. To workaround this issue until
this support is added (if it is properly supported by the hardware),
force the Aquantia PHYs on affected devices to use inband signalling
instead of outband signalling. To achieve this, one can add

> managed = "in-band-status";

to the port definition in the DTS.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5d59109d47c00e3e98aba612529b3871e69efb9d

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22690
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dts: use SWITCH_PORT_LED for XGS1250-12
Jonas Jelonek [Mon, 30 Mar 2026 09:42:08 +0000 (09:42 +0000)] 
realtek: dts: use SWITCH_PORT_LED for XGS1250-12

Switch the common DTS for Zyxel XGS1250-12 variants to the recently
added SWITCH_PORT_LED macro to reduce boilerplate and make the DTS
cleaner. As a side effect, this also assign labels to the port nodes so
they can be referenced by the variant-specific device tree sources.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22690
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoar8327: use flex array for name 22069/head
Rosen Penev [Sun, 8 Feb 2026 22:10:16 +0000 (14:10 -0800)] 
ar8327: use flex array for name

Simplifies allocation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22069
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoar8327: remove unused code
Rosen Penev [Sun, 8 Feb 2026 02:02:54 +0000 (18:02 -0800)] 
ar8327: remove unused code

This code seems to predate OF.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22069
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoar8327: remove platform data support
Rosen Penev [Sun, 8 Feb 2026 01:37:32 +0000 (17:37 -0800)] 
ar8327: remove platform data support

All targets using ar8327 use OF.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22069
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel: update MxL862xx DSA driver 20810/head
Daniel Golle [Tue, 31 Mar 2026 02:13:41 +0000 (03:13 +0100)] 
kernel: update MxL862xx DSA driver

Introduce fix which prevents the kernel from crashing in case the mxl862xx
driver fails to probe due to outdated firmware running on the switch.
Cancel all pending work and prevent rescheduling of counter polling in case
the driver errors out during probe.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agotreewide: linksys: remove unnecessary properties 22592/head
Paweł Owoc [Wed, 25 Mar 2026 06:02:34 +0000 (07:02 +0100)] 
treewide: linksys: remove unnecessary properties

Remove unnecessary properties as there is no
reg property in child node.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22592
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoqualcommax: ipq807x: use ascii-env driver
Paweł Owoc [Tue, 24 Mar 2026 09:17:41 +0000 (10:17 +0100)] 
qualcommax: ipq807x: use ascii-env driver

Use ascii-env driver for reading mac addresses directly
from devinfo partition for:
- Linksys MX5300
- Linksys HomeWRK

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22592
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoqualcommax: refresh patches
Robert Marko [Mon, 30 Mar 2026 17:30:14 +0000 (19:30 +0200)] 
qualcommax: refresh patches

Refresh qualcommax patches, this one seems to have slipped in after kernel
bump.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: rtl839x: support GS1900-48 A1 port LEDs 22101/head
Sander Vanheule [Thu, 19 Feb 2026 15:13:06 +0000 (16:13 +0100)] 
realtek: rtl839x: support GS1900-48 A1 port LEDs

Add the RTL8231 controlling the port LEDs to the devicetree, so users
can enable them. Using the appropriate link name, the netdev trigger can
be used to reflect the port status. As no hardware port status
offloading is supported, blinking on traffic could result in increased
load due to the numerous LED updates.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 months agorealtek: rtl839x: enable RTL8231 LED driver
Sander Vanheule [Thu, 19 Feb 2026 15:12:47 +0000 (16:12 +0100)] 
realtek: rtl839x: enable RTL8231 LED driver

To enable the use of the RTL8231 to control (port) LEDs, the driver
needs to be enabled in the build. Incorporate it into the kernel, so any
LED consumers also work in failsafe mode.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 months agorealtek: rtl839x: add port LED peripheral disable
Sander Vanheule [Thu, 19 Feb 2026 15:11:41 +0000 (16:11 +0100)] 
realtek: rtl839x: add port LED peripheral disable

Add a pinctrl-single node to the switch GPIO/LED control register that
disables the port LED peripheral when selected. When an RTL8231 is
instantiated, this is required to prevent the user config from being
overwritten by the peripheral.

As this is technically not a pin mux operation, but rather a peripheral
disable, using pinctrl-single for this purpose is bit of a hack, but it
does the job.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 months agorealtek: disable synchronous operation on RTL8231
Sander Vanheule [Thu, 19 Feb 2026 20:17:07 +0000 (21:17 +0100)] 
realtek: disable synchronous operation on RTL8231

It may be possible that the bootloader has left an RTL8231 expander
configured for synchronous operation, which requires the user to signal
that the new GPIO/LED states should be latched.

As drivers typically perform one operation at a time for the higher
level kernel framework, this would require a latch on every update,
which is not very useful. Disable synchronous operation to keeps things
simple.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 months agorealtek: fix regmap_field getter const qualifier
Sander Vanheule [Fri, 20 Feb 2026 09:37:57 +0000 (10:37 +0100)] 
realtek: fix regmap_field getter const qualifier

The allocated regmap_field object is not stored as a const reference, so
the helper function allocating the object should not return it as such.

Drop 'const' so the build doesn't complain about discarding the
qualifier.

Fixes: 6ef6014887c3 ("realtek: Add pinctrl support for RTL8231")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 months agorealtek: fix RTL8231 LED toggle interval clamping
Sander Vanheule [Thu, 19 Feb 2026 20:17:58 +0000 (21:17 +0100)] 
realtek: fix RTL8231 LED toggle interval clamping

The loop scanning the available toggle rates would stop when the
requested interval exceeded the tested interval. Since the intervals are
searched from small to large, this would always trigger on the shortest
interval, or skip to the largest interval for small requested values.

To correctly clamp (ceil) the toggle rate, the loop needs to continue
until the condition is met, instead of breaking the loop.

Fixes: 6ef6014887c3 ("realtek: Add pinctrl support for RTL8231")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 months agorealtek: mark gpio-regmap patch as upstreamed
Sander Vanheule [Thu, 19 Feb 2026 20:27:16 +0000 (21:27 +0100)] 
realtek: mark gpio-regmap patch as upstreamed

The code in 800-gpio-regmap-Bypass-cache-for-shadowed-outputs.patch
was accepted upstream as commit 897396b418d1 ("gpio: regmap: Bypass
cache for aliased inputs"). Update the filename to reflect the first
release containing this change.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 months agoqualcommax: ipq50xx: refresh config
Robert Marko [Mon, 30 Mar 2026 17:15:03 +0000 (19:15 +0200)] 
qualcommax: ipq50xx: refresh config

Refresh qualcommax/ipq50xx config.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: add support for D-Link DGS-1250-28X 22530/head
Markus Stockhausen [Fri, 20 Mar 2026 19:40:16 +0000 (20:40 +0100)] 
realtek: add support for D-Link DGS-1250-28X

Hardware specification
----------------------

* RTL9301 SoC, 1 MIPS 34KEc core @ 800MHz
* 512MB DRAM
* 64MB NAND Flash
* 24 x 10/100/1000BASE-T ports
* 4 x 10G SFP+ ports
* Power LED, Console LED, Fan Fault LED
* Reset button on front panel
* LM75 temperature sensor
* Atmel AT24C02 2kb eeprom
* fan (controllable via gpio for on/off and LM75 for low/high speed)
* UART (115200 8N1) via RJ45

Installation using serial interface
-----------------------------------

 1. Prepare TFTP server & connect to serial port.
 2. Connect DGS-1250 to your computer or network with one of the
    1G ports. All of them will be fine.
 3. Power on DGS-1250 and interrupt autoboot with "&".
 4. Change U-Boot startup sequence
> setenv silent
> setenv bootcmd 'cp.l 0xb4200000 0x84000000 0x300000; bootm 0x84000000'
> saveenv
 5. Enable networking within U-Boot.
> rtk network on
 6. Set switch IP and TFTP server IP (optional, adjust to your setup).
> setenv ipaddr <ip>
> setenv serverip <ip>
 7. Download initramfs image from TFTP server.
> tftpboot 0x84000000 <image name>
 8. Boot with the downloaded image.
> bootm 0x84000000
 9. With rambooted OpenWrt, backup the stock firmware.
    THIS IS CRITICAL! /dev/mtd3 contains data that is not provided
    in the downloadable vendor firmware images.
10. Copy sysupgrade image to the device.
11. Perform sysupgrade with the sysupgrade image.
12. After reboot, you should have functional OpenWrt.

Installation using OEM webinterface
-----------------------------------

This is not possible because the vendor image uses a ubifs based
loading technique with encrypted images. To be precise the boot
sequence basically runs as follows.

 1. U-Boot starts
 2. U-Boot mounts 62MB ubifs from mtd3
 3. U-Boot reads Linux kernel from file uImage inside ubifs
 4. Linux starts (this is a initramfs image)
 5. Linux mounts ubifs
 6. Linux calls a loader binary
 7. Depending on current configuration first (file Image1) or
    second firmware image (file Image2) is loaded and decrypted
 8. Inside the decrpyted firmware image there is a executable
    named “switch”
 9. "switch" executable is run and the switch comes alive

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

 1. Boot OpenWrt from initramfs (like in installation section above)
 2. Restore partition /dev/mtd3 from backup
 3. Erase Openwrt special U-Boot env
# mtd erase mtd1
 4. reboot

Further information
-------------------

Wiki: https://openwrt.org/toh/d-link/dgs-1250
Forum: https://forum.openwrt.org/t/support-for-d-link-dgs-1250-switches
Partition dumps: https://github.com/plappermaul/realtek-doc/tree/main/DGS-1250

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22530
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoqualcommax: ipq60xx: refresh config
Robert Marko [Mon, 30 Mar 2026 16:54:57 +0000 (18:54 +0200)] 
qualcommax: ipq60xx: refresh config

Refresh qualcommax/ipq60xx config.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoqualcommax: refresh config
Robert Marko [Mon, 30 Mar 2026 16:49:43 +0000 (18:49 +0200)] 
qualcommax: refresh config

Refresh the qualcommax generic config.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agogeneric: filter out CONFIG_TOOLS_SUPPORT_RELR
Robert Marko [Mon, 30 Mar 2026 16:40:08 +0000 (18:40 +0200)] 
generic: filter out CONFIG_TOOLS_SUPPORT_RELR

CONFIG_TOOLS_SUPPORT_RELR is set during runtime by the kernel so it should
not end up in our static configs.

So, filter it out by default.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agogeneric: add missing MXL862 DSA symbols
Robert Marko [Mon, 30 Mar 2026 16:37:07 +0000 (18:37 +0200)] 
generic: add missing MXL862 DSA symbols

If DSA support is enabled, then these will pop up.
So instead of ending up in target configs, add them to the generic configs.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: mdio-serdes: reorganize RTL839x TGRX0/1 pages 22633/head
Markus Stockhausen [Fri, 27 Mar 2026 12:31:18 +0000 (13:31 +0100)] 
realtek: mdio-serdes: reorganize RTL839x TGRX0/1 pages

The four TGRX pages are currently mapped into the page range 4-7 for even
10G serdes. This is only partly right. TGRX0/1 better aligns with RTL93xx
pages TGX_STD_0/TGX_STD_1. Change the mapping. No code update needed as
the pages are not yet used anywhere.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22633
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: mdio-serdes: reorganize RTL839x ANA_RG pages
Markus Stockhausen [Fri, 27 Mar 2026 09:43:57 +0000 (10:43 +0100)] 
realtek: mdio-serdes: reorganize RTL839x ANA_RG pages

The ANA_RG pages of the RTL839x SerDes are a wild mix of WDIG, ANA_MISC
and ANA_1G2 data. Its current mapping to the TGX_STD_0 register does
not match at all. From the coding it makes most sense to remap it to the
ANA_1G2/ANA_1G2_EXT range. Adapt all consumers in the pcs driver
accordingly.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22633
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: mdio-serdes: reorgnaize RTL839x ANA_10G pages
Markus Stockhausen [Fri, 27 Mar 2026 08:38:46 +0000 (09:38 +0100)] 
realtek: mdio-serdes: reorgnaize RTL839x ANA_10G pages

With all the recent development about RTL93xx serdes it has become
clear that the RTL839x ANA_TG page mapping is not perfect. Until
know it is mapped to pages 10/11. As its naming suggests these are
serdes analogous register settings for 10G. Map it to the appropriate
ANA_10G pages to align better with RTL93xx. Adapt all consumers
in the pcs driver accordingly.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22633
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: mdio-serdes: rename debug serdes pages
Markus Stockhausen [Fri, 27 Mar 2026 06:57:51 +0000 (07:57 +0100)] 
realtek: mdio-serdes: rename debug serdes pages

The initial page naming of the debugfs page registers in the mdio
serdes driver was a mix of RTL839x and RTL93xx. Developing the
Realtek pcs driver, it was discovered that the RTL93xx IP block
shares a lot of the registers with the RTL8295 PHY.

The RTL839x serdes development is quite okay and currently on hold.
Thus drop the RTL839x derived page names and substitute them for
their RTL93xx counterpart.

This is only a cosmetic change for better readability.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22633
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agorealtek: dts: cleanup of ethernet link speed 22639/head
Markus Stockhausen [Sat, 28 Mar 2026 07:43:34 +0000 (08:43 +0100)] 
realtek: dts: cleanup of ethernet link speed

Realtek switches have a very simple network adapter for the SOC.
They can ship packets via DMA without further offloading features.
Even on the RTL931x devices they can barely reach 50MB/s. In the
dts there is a mix of 1G/10G definitions. To be consistent and
better reflect the performance set the link speed to 1000.
This is only cosmetic.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22639
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agokernel: bump 6.12 to 6.12.79 22607/head
John Audia [Fri, 27 Mar 2026 19:58:47 +0000 (15:58 -0400)] 
kernel: bump 6.12 to 6.12.79

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22607
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agokernel: bump 6.12 to 6.12.78
John Audia [Wed, 25 Mar 2026 12:15:25 +0000 (08:15 -0400)] 
kernel: bump 6.12 to 6.12.78

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

Removed upstreamed:
  generic/pending-6.12/620-net-sfp-improve-Huawei-MA5671a-fixup.patch[1]
  generic/pending-6.12/704-net-phy-register-phy-led_triggers-during-probe-to-av.patch[2]
  airoha/patches-6.12/014-01-v6.13-net-airoha-fix-PSE-memory-configuration-in-airoha_fe.patch[3]
  airoha/patches-6.12/014-02-v6.13-net-airoha-read-default-PSE-reserved-pages-value-bef.patch[4]
  airoha/patches-6.12/031-01-v6.13-net-airoha-Read-completion-queue-data-in-airoha_qdma.patch[5]
  airoha/patches-6.12/128-v7.1-net-airoha-Remove-airoha_dev_stop-in-airoha_remove.patch[6]

Manually rebased:
  airoha/patches-6.12/048-01-v6.15-net-airoha-Move-airoha_eth-driver-in-a-dedicated-fol.patch

All patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.78&id=bbdf6d378e1ddbeadc04c57b182aadefcc3aa917
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.78&id=241cd64cf2e32b28ead151b1795cd8fef2b6e482
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.78&id=a04ac7bc97afe313e10ae4c73797c668dee47c5c
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.78&id=a9ed47c3663219e20406d566f02809de05373a42
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.78&id=4cba4373abac7ba27fdb33057a29b92efa8fd15d
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.78&id=652ec118d8dc1b088e685d5562995b6665463771

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22607
[Fix 048-01-v6.15-net-airoha-Move-airoha_eth-driver-in-a-dedicated-fol]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoairoha: an7581: drop airoha,x2-mode related property and enable in device
Christian Marangi [Mon, 30 Mar 2026 10:17:50 +0000 (12:17 +0200)] 
airoha: an7581: drop airoha,x2-mode related property and enable in device

Drop airoha,x2-mode related property from the DTSI and enable them only in
the relevant devices that use a PCIe0 line. x2-mode should be enabled only
for the WiFi card that would use it as it might cause problem for WiFi card
that expect 2 single PCIe x1 line instead of a single PCIe x2 line.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agomxs: enable 6.18 testing kernel
Zoltan HERPAI [Sun, 8 Feb 2026 22:19:54 +0000 (22:19 +0000)] 
mxs: enable 6.18 testing kernel

The mxs target now supports 6.18 kernel as testing.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agogeneric/6.18: add missing config symbols
Zoltan HERPAI [Sun, 8 Feb 2026 22:19:34 +0000 (22:19 +0000)] 
generic/6.18: add missing config symbols

These were discovered when migrating mxs to 6.18.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agokernel/mxs: restore files for v6.12
Zoltan HERPAI [Sun, 8 Feb 2026 17:11:33 +0000 (17:11 +0000)] 
kernel/mxs: restore files for v6.12

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agokernel/mxs: create files for v6.18 (from v6.12)
Zoltan HERPAI [Sun, 8 Feb 2026 17:11:33 +0000 (17:11 +0000)] 
kernel/mxs: create files for v6.18 (from v6.12)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agoramips: mt7621: disable CONFIG_LIST_HARDENED 22672/head
Rany Hany [Sun, 29 Mar 2026 15:17:48 +0000 (15:17 +0000)] 
ramips: mt7621: disable CONFIG_LIST_HARDENED

It appears that CONFIG_LIST_HARDENED causes the system to
hang when restarted. I was unable to determine the cause
of the crash so disabling CONFIG_LIST_HARDENED seems like
an acceptable workaround for the time being.

The issue only occurs on reboot.

Fixes: https://github.com/openwrt/openwrt/issues/20099
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/22672
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel: 6.18: backport mxl862xx driver for Linxu 6.18 22668/head
Daniel Golle [Sun, 29 Mar 2026 11:37:34 +0000 (12:37 +0100)] 
kernel: 6.18: backport mxl862xx driver for Linxu 6.18

The signature of phylink_pcs get_state has changed, and we need to set
.supported_interfaces.

Both has been removed when backporting the driver to Linux 6.12, readd
to make it build and work with Linux 6.18.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Link: https://github.com/openwrt/openwrt/pull/22668
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: add patch to extend upstream sfp smbus support 21181/head
Jonas Jelonek [Sat, 27 Dec 2025 23:10:51 +0000 (23:10 +0000)] 
realtek: add patch to extend upstream sfp smbus support

Add patches that extends the upstream smbus support in sfp driver. This
only supports SMBus byte operations and in that case, disables hwmon and
prints warnings because of that. Using the word/block capability of our
I2C controller is totally fine for all that functionality.

The patches are currently pending upstream.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21181
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dsa: 6.18: adjust mac ops and callbacks
Jonas Jelonek [Sun, 30 Nov 2025 12:34:33 +0000 (12:34 +0000)] 
realtek: dsa: 6.18: adjust mac ops and callbacks

Between 6.12 and 6.18, several DSA switch ops have changed.
phylink_mac_* ops were moved out of dsa_switch_ops into dsa_switch using
phylink_mac_ops. Add new definitions for that and adjust the callbacks
accordingly to work with the different signatures.

get_mac_eee() has been dropped and support_eee() was added.

remove_new() has been dropped completely, allowing us to use remove()
again.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21181
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: pcs: 6.18: fix neg_mode handling
Jonas Jelonek [Sun, 30 Nov 2025 12:26:15 +0000 (12:26 +0000)] 
realtek: pcs: 6.18: fix neg_mode handling

Between 6.12 and 6.18, neg_mode moved from struct phylink_pcs to a
parameter passed to pcs_get_state. Adjust the implementation
accordingly.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21181
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: phy: 6.18: drop shared priv access helper
Jonas Jelonek [Sun, 30 Nov 2025 10:40:39 +0000 (10:40 +0000)] 
realtek: phy: 6.18: drop shared priv access helper

Between v6.12 and v6.18, struct phy_package_shared was moved from
include/linux/phylib.h to drivers/net/phy/phy_package.c and thus made
internal/unavailable for other drivers.

Our PHY driver used a helper to access the shared priv. With v6.18, it
doesn't work anymore (due to missing access to internal fields of struct
phy_package_shared) but upstream has an equivalent helper for that. Drop
ours and use the upstream helper.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21181
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: phy: 6.18: switch to sfp module caps
Jonas Jelonek [Tue, 16 Dec 2025 16:51:22 +0000 (16:51 +0000)] 
realtek: phy: 6.18: switch to sfp module caps

Kernel 6.18 uses dedicated sfp_module_caps instead of a plain bitmask
for supported modes. Switch to that the fix the rtl83xx-phy driver.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21181
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: add missing symbols for 6.18
Jonas Jelonek [Sun, 30 Nov 2025 00:03:53 +0000 (00:03 +0000)] 
realtek: add missing symbols for 6.18

Add missing symbols to default config by running make kernel_oldconfig
and using default options for all unanswered symbols.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21181
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: 6.18: adapt and refresh remaining patches
Jonas Jelonek [Sat, 14 Feb 2026 21:46:44 +0000 (21:46 +0000)] 
realtek: 6.18: adapt and refresh remaining patches

Refresh and adapt the remaining patches as needed.

- 024-02-v7.1-net-phy-realtek-add-RTL8224-pair-order-support.patch
  needed addition of '#include "../phylib.h"'
- 314-irqchip-irq-realtek-rtl-add-VPE-support.patch needed manual
adoption
- 700-dsa-mdio-increase-max-ports-for-rtl839x-rtl931x.patch needed
  manual fix
- 810-lm75-alert-polarity-swap.patch needed adoption to changed probe
  function upstream

All other patches were automatically refreshed.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21181
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: 6.18: adapt SFP SMBus patches
Jonas Jelonek [Wed, 21 Jan 2026 23:26:28 +0000 (23:26 +0000)] 
realtek: 6.18: adapt SFP SMBus patches

Adapt our downstream patches for SMBus SFP functionality to kernel 6.18.
Upstream gained support for SMBus byte access on SFP and a patch to
extend that to word and block access is pending.

These downstream patches aren't acceptable for upstream and will need to
be adapted. However, keep them for now to maintain functionality.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21181
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: 6.18: remove obsolete patches
Jonas Jelonek [Wed, 21 Jan 2026 23:17:04 +0000 (23:17 +0000)] 
realtek: 6.18: remove obsolete patches

Remove patches which are accepted upstream and were backported to
pre-6.18. Those are obsolete now.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21181
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: add v6.18 as testing kernel
Jonas Jelonek [Sun, 30 Nov 2025 00:00:16 +0000 (00:00 +0000)] 
realtek: add v6.18 as testing kernel

Add kernel v6.18 as testing kernel for realtek target.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21181
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel/realtek: restore files for v6.12
Jonas Jelonek [Sat, 28 Mar 2026 19:41:46 +0000 (19:41 +0000)] 
kernel/realtek: restore files for v6.12

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21181
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel/realtek: create files for v6.18 (from v6.12)
Jonas Jelonek [Sat, 28 Mar 2026 19:41:46 +0000 (19:41 +0000)] 
kernel/realtek: create files for v6.18 (from v6.12)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21181
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agomicrochipsw: add 6.18 testing kernel 22649/head
Robert Marko [Sat, 28 Mar 2026 11:28:48 +0000 (12:28 +0100)] 
microchipsw: add 6.18 testing kernel

Add the 6.18 kernel config and allow selecting it as testing kernel.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agomicrochipsw: 6.18: refresh patches
Robert Marko [Sat, 28 Mar 2026 16:26:40 +0000 (17:26 +0100)] 
microchipsw: 6.18: refresh patches

Refresh the patches for 6.18 so they apply.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agomicrochipsw: 6.18: drop upstreamed patches
Robert Marko [Sat, 28 Mar 2026 16:26:04 +0000 (17:26 +0100)] 
microchipsw: 6.18: drop upstreamed patches

Drop patches that were upstead into 6.18 or earlier.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agokernel/microchipsw: restore files for v6.12
Robert Marko [Sat, 28 Mar 2026 11:27:35 +0000 (12:27 +0100)] 
kernel/microchipsw: restore files for v6.12

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agokernel/microchipsw: create files for v6.18 (from v6.12)
Robert Marko [Sat, 28 Mar 2026 11:27:34 +0000 (12:27 +0100)] 
kernel/microchipsw: create files for v6.18 (from v6.12)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agomicrochipsw: lan969x: make kernel config version specific
Robert Marko [Sat, 28 Mar 2026 16:24:03 +0000 (17:24 +0100)] 
microchipsw: lan969x: make kernel config version specific

As preparation for enabling 6.18 kernel, rename the existing config to a
version specific 6.12 config.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agoqualcommax: ipq807x: DL-WRX36 use mac from art 22622/head
Paweł Owoc [Tue, 24 Mar 2026 10:10:25 +0000 (11:10 +0100)] 
qualcommax: ipq807x: DL-WRX36 use mac from art

MAC addresses are located at the beginning of the art partition.
Some units do not have MAC addresses in the u-boot variables.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22622
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoqualcommax: qpic only support max 4 bytes ID 21021/head
Ziyang Huang [Tue, 2 Dec 2025 14:28:10 +0000 (22:28 +0800)] 
qualcommax: qpic only support max 4 bytes ID

QPIC use a reg (NAND_READ_ID) to transport the ID, so the max bytes of ID is a word (4Bytes).

https://github.com/torvalds/linux/blob/3a8660878839faadb4f1a6dd72c3179c1df56787/drivers/mtd/nand/raw/qcom_nandc.c#L1783
https://github.com/torvalds/linux/blob/4a26e7032d7d57c998598c08a034872d6f0d3945/drivers/spi/spi-qpic-snand.c#L1392-L1393

Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/21021
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agogeneric: 6.18: disable CONFIG_ROCKCHIP_ERRATUM_3568002
Robert Marko [Sat, 28 Mar 2026 16:50:48 +0000 (17:50 +0100)] 
generic: 6.18: disable CONFIG_ROCKCHIP_ERRATUM_3568002

CONFIG_ROCKCHIP_ERRATUM_3568002 should be disabled in the generic config.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agogeneric: 6.18: disable CONFIG_AMPERE_ERRATUM_AC04_CPU_23
Robert Marko [Sat, 28 Mar 2026 16:49:50 +0000 (17:49 +0100)] 
generic: 6.18: disable CONFIG_AMPERE_ERRATUM_AC04_CPU_23

CONFIG_AMPERE_ERRATUM_AC04_CPU_23 should be disabled in generic config.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agogeneric: 6.18: disable CONFIG_ARCH_SOPHGO
Robert Marko [Sat, 28 Mar 2026 16:44:24 +0000 (17:44 +0100)] 
generic: 6.18: disable CONFIG_ARCH_SOPHGO

CONFIG_ARCH_SOPHGO should be disabled in the generic config.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agogeneric: 6.18: disable CONFIG_ARCH_CIX
Robert Marko [Sat, 28 Mar 2026 16:43:14 +0000 (17:43 +0100)] 
generic: 6.18: disable CONFIG_ARCH_CIX

CONFIG_ARCH_CIX should be disabled in the generic config.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agogeneric: 6.18: disable CONFIG_ARCH_BLAIZE
Robert Marko [Sat, 28 Mar 2026 16:42:44 +0000 (17:42 +0100)] 
generic: 6.18: disable CONFIG_ARCH_BLAIZE

CONFIG_ARCH_BLAIZE should be disabled in the generic config.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agogeneric: 6.18: disable CONFIG_ARCH_AXIADO
Robert Marko [Sat, 28 Mar 2026 16:41:49 +0000 (17:41 +0100)] 
generic: 6.18: disable CONFIG_ARCH_AXIADO

CONFIG_ARCH_AXIADO should be disabled in the generic config.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agogeneric: 6.18: disable CONFIG_AMD_SBRMI_I2C
Robert Marko [Sat, 28 Mar 2026 16:40:22 +0000 (17:40 +0100)] 
generic: 6.18: disable CONFIG_AMD_SBRMI_I2C

CONFIG_AMD_SBRMI_I2C should be disabled in generic config.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agokernel: refresh patches for 6.18.20 13333/head 22643/head
John Audia [Sat, 28 Mar 2026 11:22:43 +0000 (07:22 -0400)] 
kernel: refresh patches for 6.18.20

Sole patch automatically rebased.

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22643
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agomicrochipsw: tactical-1000: expand FIP partition size
Robert Marko [Fri, 20 Mar 2026 13:23:16 +0000 (14:23 +0100)] 
microchipsw: tactical-1000: expand FIP partition size

Expand the FIP partition size to future proof and allow custom firmware
to be used as BL31 instead of U-Boot.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agokernel: refresh patches 21078/head
John Audia [Tue, 20 Jan 2026 13:51:20 +0000 (08:51 -0500)] 
kernel: refresh patches

x86 patches automatically rebased

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agox86: make CONFIG_NR_CPUS a tunable (2-512)
John Audia [Sun, 4 Jan 2026 15:31:43 +0000 (10:31 -0500)] 
x86: make CONFIG_NR_CPUS a tunable (2-512)

Add KERNEL_NR_CPUS option in Global build settings → Kernel build
options, allowing users to set maximum CPU count (2-512) for the image.

Defaults:
- x86_64: 512 CPUs (backward compatible)
- x86: 8 CPUs (fix broken single-CPU default)

Per-CPU data structures consume ~100-200KB each.
On a 4-core system configured to NR_CPUS=4, this frees approx 76 MB
of RAM: (512 - 4) × 150 KB = ~76 MB

Note: CONFIG_NR_CPUS_RANGE_{BEGIN,END}= and CONFIG_NR_CPUS_DEFAULT= are
set by the build system and will default to 2/512/64 per arch/x86/Kconfig
These are harmless metadata and don't affect memory allocation.

Note pending https://github.com/openwrt/openwrt/pull/21407

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agox86/64: 6.18: enable recent MITIGATION options
John Audia [Mon, 5 Jan 2026 20:02:37 +0000 (15:02 -0500)] 
x86/64: 6.18: enable recent MITIGATION options

These mitigations are low-overhead, upstream-supported hardening options
that only activate on CPUs affected by their respective vulnerabilities.
Enabling them provides consistent, defense-in-depth coverage across Intel
and AMD systems without impacting unaffected hardware.

Detailed list:
- CONFIG_MITIGATION_SRSO to guard against known a vulnerability found on
  AMD processors (Zen generations 1-4) for sure, maybe others. This is
  tracked under CVE-2023-20569.
- CONFIG_MITIGATION_ITS to guard against a bug in BPU on some Intel CPUs
  that may allow Spectre V2 style attacks. We never enabled this option
  (and its dependencies).
- CONFIG_MITIGATION_SRBDS to guard against Special Register Buffer Data
  Sampling on affected Intel CPUs (CVE-2020-0543), preventing cross-core
  leakage of RDRAND/RDSEED/EGETKEY values.
- CONFIG_MITIGATION_SLS to guard against Spectre-v4 gadgets on x86 by
  inserting speculation barriers around RET/JMP/CALL sites when required
  by CPU/microcode state.
- CONFIG_MITIGATION_CALL_DEPTH_TRACKING to guard against speculative
  call-stack underflow on x86 by enabling hardware-assisted depth
  tracking where supported, reducing exposure to RET-based misprediction
  attacks.
- CONFIG_MITIGATION_UNRET_ENTRY to guard against RET-based speculation
  attacks on x86 by replacing vulnerable function returns in kernel
  entry paths with UNRET sequences when required by CPU/microcode state.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agox86/64: 6.18: enable THP (disabled by default)
John Audia [Sun, 8 Feb 2026 12:58:52 +0000 (07:58 -0500)] 
x86/64: 6.18: enable THP (disabled by default)

Users can opt-in to THP via builtin tunables under:
/sys/kernel/mm/transparent_hugepage/enabled

Useful if using running VMs on the device.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agox86: 6.18: import new options
John Audia [Sat, 13 Dec 2025 21:07:28 +0000 (16:07 -0500)] 
x86: 6.18: import new options

Some options here were identified by running:
make kernel_oldconfig while others were manually added from a list
curated by hand at build time.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agortl8812au-ct: restrict to kernels ≤ 6.18
John Audia [Fri, 2 Jan 2026 16:55:24 +0000 (11:55 -0500)] 
rtl8812au-ct: restrict to kernels ≤ 6.18

The rtl8812au-ct driver is obsolete and replaced by rtw88. It will need
tons of work to compile against 6.18 so for now limit it to 6.12.

Co-authored-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel: video: 6.18: update module files
John Audia [Fri, 19 Dec 2025 15:41:57 +0000 (10:41 -0500)] 
kernel: video: 6.18: update module files

Update module files for kernel 6.18

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel: sound: 6.18: update module files
John Audia [Sun, 21 Dec 2025 14:00:35 +0000 (09:00 -0500)] 
kernel: sound: 6.18: update module files

This kernel reorganized HDA drivers into sound/hda/ subdirectories and
split codec drivers into modular components. Core modules moved to
sound/hda/{core,common,codecs,controllers}/ with version conditionals
(@ge6.18/@lt6.18) added for backward compatibility.

Codec drivers split into multiple modules:
- Realtek: library + 10 chipset modules (ALC260-ALC882)
- HDMI: base + 6 vendor modules (Intel, ATI, NVIDIA, etc.)
- Cirrus: 3 chipset modules (CS420X, CS421X, CS8409)

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel: other: 6.18: update module files
John Audia [Fri, 19 Dec 2025 15:25:25 +0000 (10:25 -0500)] 
kernel: other: 6.18: update module files

Update module files for kernel 6.18

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agokernel: modules: 6.18: update module file
John Audia [Thu, 5 Feb 2026 20:13:15 +0000 (15:13 -0500)] 
kernel: modules: 6.18: update module file

Wrap the crc32c dependency in !LINUX_6_18 to allow the package to
build correctly on 6.18-based targets.

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agox86: enable testing kernel for x86
John Audia [Sat, 13 Dec 2025 15:49:14 +0000 (10:49 -0500)] 
x86: enable testing kernel for x86

KERNEL_TESTING_PATCHVER:=6.18

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21078
Signed-off-by: Robert Marko <robimarko@gmail.com>