]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
2 months agoutil-linux: fix build on Linux v6.18 against musl 23059/head
Thomas Weißschuh [Thu, 23 Apr 2026 09:27:03 +0000 (11:27 +0200)] 
util-linux: fix build on Linux v6.18 against musl

Backport an upstream patch to avoid usages of an undefined
AT_HANDLE_FID.

Closes: https://github.com/openwrt/openwrt/issues/23058
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Link: https://github.com/openwrt/openwrt/pull/23059
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: pcs: switch SerDes polarity to {rx,tx}-polarity 23044/head
Jonas Jelonek [Wed, 22 Apr 2026 08:33:56 +0000 (08:33 +0000)] 
realtek: pcs: switch SerDes polarity to {rx,tx}-polarity

With the recent backport of the common PHY properties infrastructure
(phy-common-props and the phy_get_manual_{rx,tx}_polarity() helpers) to
OpenWrt, the generic `{rx,tx}-polarity` device tree properties are now
usable for the Realtek PCS driver. Switch the driver and all affected
boards from the local vendor-specific `realtek,pnswap-{rx,tx}` booleans
to the common properties.

Add a `config_polarity` SerDes op (implemented by RTL930x and RTL931x;
RTL838x/RTL839x polarity support not yet added) and a generic wrapper
that resolves the requested polarity via phy_get_manual_{rx,tx}_polarity()
and dispatches to the op. Variants without the op silently accept the
default polarity but warn when a non-default polarity is requested,
since that cannot be honored.

Move the polarity programming out of the variant setup_serdes callbacks
into rtpcs_pcs_config, so it runs before setup_serdes. This matches the
ordering used by the vendor SDK, which configures polarity first.

Update all board DTS files that previously used `realtek,pnswap-{rx,tx}`
to the new `{rx,tx}-polarity = <PHY_POL_INVERT>` property, and select
PHY_COMMON_PROPS from Kconfig.

Each SerDes now retains its DT node for later polarity lookup. Use
for_each_child_of_node_scoped for the iterator, and register a
devm_add_action_or_reset for each stored reference so it is released on
unbind or probe failure.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23044
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: eth: harden receive path 22884/head
Markus Stockhausen [Fri, 10 Apr 2026 20:02:59 +0000 (22:02 +0200)] 
realtek: eth: harden receive path

The hardware usually takes care that

- a packet is no larger than the available buffer
- has at least a FCS checksum of 4 bytes

Nevertheless be cautious and improve the existing
packet check. Just in case ...

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22884
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agosunxi: enable 6.18 testing kernel
Zoltan HERPAI [Thu, 5 Feb 2026 14:13:00 +0000 (14:13 +0000)] 
sunxi: enable 6.18 testing kernel

The sunxi target now supports 6.18 kernel as testing.

Tested on:
 - Linksprite pcDuino2 (cortexa8/a10)
 - Olimex Olinuxino A20 Micro (cortexa7/a20)
 - OrangePi 2 (cortexa7/h3)
 - OrangePi Zero2 (cortexa53/h616)

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agosunxi: 6.18: refresh patches
Zoltan HERPAI [Thu, 5 Feb 2026 15:35:54 +0000 (15:35 +0000)] 
sunxi: 6.18: refresh patches

Refresh patches as required.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agosunxi: 6.18: add missing symbols
Zoltan HERPAI [Thu, 5 Feb 2026 15:27:47 +0000 (15:27 +0000)] 
sunxi: 6.18: add missing symbols

Add sunxi-related missing symbols that were found during 6.18 migration, and
reorder configs.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agokernel/sunxi: restore files for v6.12
Zoltan HERPAI [Thu, 25 Dec 2025 23:11:00 +0000 (23:11 +0000)] 
kernel/sunxi: 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/sunxi: create files for v6.18 (from v6.12)
Zoltan HERPAI [Thu, 25 Dec 2025 23:10:59 +0000 (23:10 +0000)] 
kernel/sunxi: 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 agobase-files: ipcalc.sh: get rid of `basename` dependency 23060/head
Andre Heider [Thu, 23 Apr 2026 08:38:06 +0000 (10:38 +0200)] 
base-files: ipcalc.sh: get rid of `basename` dependency

The netifd/dhcp flow uses this, and as uxc mounts netifd in a
container, this allows not mounting `basename` for just a usage.

References: https://github.com/openwrt/procd/pull/34
Suggested-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Andre Heider <a.heider@gmail.com>
2 months agomvebu: use libdeflate for gzip 23054/head
Rosen Penev [Sun, 19 Apr 2026 21:43:58 +0000 (14:43 -0700)] 
mvebu: use libdeflate for gzip

Small size reduction.

Tested with Turris Omnia.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23054
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoairoha: an7581: fix default package selection for Kite EVB device
Christian Marangi [Thu, 23 Apr 2026 15:04:33 +0000 (17:04 +0200)] 
airoha: an7581: fix default package selection for Kite EVB device

The Kite EVB device wrongly select an invalid package for NPU firmware
where the correct one should be the airoha-en7581-npu-firmware one.

Fix the wrong package to restore compilation of the Airoha target.

Fixes: 0cf516751af3 ("airoha: an7581: generalize eMMC DTS and add Kite variant")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agofirmware: better specify the supported WiFi chip for basic AN7581 NPU FW
Christian Marangi [Thu, 23 Apr 2026 15:01:09 +0000 (17:01 +0200)] 
firmware: better specify the supported WiFi chip for basic AN7581 NPU FW

The basic AN7581 NPU FW also supports WiFi offload for MT7992 WiFi chip.
Add this information in the package description to clarify this.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agox86: drop 6.12 support 22893/head
Mieczyslaw Nalewaj [Sat, 11 Apr 2026 20:59:01 +0000 (22:59 +0200)] 
x86: drop 6.12 support

Drop patches and configs for Linux 6.12.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22893
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agox86: use kernel 6.18 by default
Mieczyslaw Nalewaj [Sat, 11 Apr 2026 20:53:30 +0000 (22:53 +0200)] 
x86: use kernel 6.18 by default

Switch to Linux kernel version 6.18.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22893
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agolantiq: enable 6.18 testing kernel 22922/head
Shiji Yang [Sat, 11 Apr 2026 00:52:16 +0000 (08:52 +0800)] 
lantiq: enable 6.18 testing kernel

The 6.18 testing kernel for lantiq target is ready now.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agolantiq: update kmod-dsa-gswip module .ko path
Shiji Yang [Mon, 13 Apr 2026 12:32:35 +0000 (20:32 +0800)] 
lantiq: update kmod-dsa-gswip module .ko path

The source files were moved into dedicated directory.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=cb477c30512db29325c0503ba96a6158a61b7e7c
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agolantiq: adapt to the 6.18 kernel to fix build errors
Shiji Yang [Thu, 16 Apr 2026 10:59:58 +0000 (18:59 +0800)] 
lantiq: adapt to the 6.18 kernel to fix build errors

devm_gpio_request() was removed since kernel 6.17. Convert it to
devm_gpio_request_one().

Link: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=a5589313383074c48a1b3751d592a6e084ae0573
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agolantiq: refresh 6.18 kernel config files
Shiji Yang [Fri, 10 Apr 2026 15:07:02 +0000 (23:07 +0800)] 
lantiq: refresh 6.18 kernel config files

CONFIG_PAGE_BLOCK_MAX_ORDER was set to 10 as the page size is 4k.

All other kernel symbols are automatically refreshed by
`make kernel_oldconfig CONFIG_TARGET=target` and
`make kernel_oldconfig CONFIG_TARGET=subtarget`.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agolantiq: refresh 6.18 kernel patches
Shiji Yang [Fri, 10 Apr 2026 15:06:46 +0000 (23:06 +0800)] 
lantiq: refresh 6.18 kernel patches

Manually resolve the patch conflicts on new LTS kernel.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agolantiq: remove upstreamed patches
Shiji Yang [Fri, 10 Apr 2026 14:23:48 +0000 (22:23 +0800)] 
lantiq: remove upstreamed patches

They are included in the 6.18 kernel.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agolantiq: restore kernel 6.12 config files and patches
Shiji Yang [Fri, 10 Apr 2026 14:21:15 +0000 (22:21 +0800)] 
lantiq: restore kernel 6.12 config files and patches

Copy patches and kernel configs from 6.18 kernel to restore the
default 6.12 kernel support files.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agolantiq: rename patchset and kernel configs to 6.18
Shiji Yang [Fri, 10 Apr 2026 14:20:11 +0000 (22:20 +0800)] 
lantiq: rename patchset and kernel configs to 6.18

This is a preparation for 6.18 kernel support. It can help us
track the files history by using the Git tool.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22922
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agomodules: video: introduce DRM client setup module
Zoltan HERPAI [Fri, 17 Apr 2026 16:06:09 +0000 (18:06 +0200)] 
modules: video: introduce DRM client setup module

6.14 has introduced a DRM client setup library. Add kmod-drm-client-lib
to support it, and add it as a dependency to DRM modules which depend on it.

Link: https://github.com/openwrt/openwrt/pull/22975
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agoath79: add support for MikroTik RouterBOARD 960PGS 22164/head
Oskari Lemmela [Fri, 19 Nov 2021 05:36:22 +0000 (07:36 +0200)] 
ath79: add support for MikroTik RouterBOARD 960PGS

This patch adds support for the MikroTik RouterBOARD 960PGS (hEX
PoE/PowerBox Pro) router. The device has a USB 2.0 port and an SFP port for
adding optical fiber connectivity. The ports 2-5 can power other PoE
capable devices with the same voltage as applied to the unit.

Specifications:

- SoC: Qualcomm Atheros QCA9557
- Flash: 16 MB (SPI)
- RAM: 128 MB
- 1x Ethernet SFP: 1000
- 1x Ethernet RJ45: 10/100/1000 port with passive POE in
- 4x Ethernet RJ45: 10/100/1000 ports with 802.3af/at PoE out
- 1x USB 2.0 host port
- 1x reset button

See [1] and [2] for more details.

Flashing:
TFTP boot initramfs image and then perform sysupgrade. Follow common
MikroTik procedure as in https://openwrt.org/toh/mikrotik/common.

Link: https://mikrotik.com/product/RB960PGS
Link: https://mikrotik.com/product/RB960PGS-PB
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
2 months agoath79: mikrotik: compile SWCONFIG and AR8216_PHY as modules
Chester A. Unal [Tue, 24 Feb 2026 13:39:36 +0000 (15:39 +0200)] 
ath79: mikrotik: compile SWCONFIG and AR8216_PHY as modules

Unset the SWCONFIG symbol and AR8216_PHY which selects SWCONFIG. Add
kmod-switch-ar8xxx, which enables AR8216_PHY, to DEFAULT_PACKAGES for the
subtarget. With this, swconfig driver will be now compiled as a module, as
kmod-switch-ar8xxx selects kmod-swconfig.

Refresh the config-default file for ath79/mikrotik while at it.

This change makes it possible to disable the swconfig driver for MikroTik
RouterBOARD 960PGS (hEX PoE/PowerBox Pro).

Signed-off-by: Chester A. Unal <chester.a.unal@arinc9.com>
2 months agogeneric: 6.18: sync MxL862xx driver with upstream Linux 23048/head
Daniel Golle [Wed, 22 Apr 2026 03:14:20 +0000 (04:14 +0100)] 
generic: 6.18: sync MxL862xx driver with upstream Linux

Swap pending with accepted patches, rebase remaining pending patches
on top of new upstream.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agogeneric: 6.12: sync MxL862xx driver with upstream Linux
Daniel Golle [Wed, 22 Apr 2026 02:56:43 +0000 (03:56 +0100)] 
generic: 6.12: sync MxL862xx driver with upstream Linux

Swap pending with accepted patches, rebase remaining pending patches
on top of new upstream.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agoimx: cortexa9: ventana, fix profiles names in profiles.json 22994/head
Mario Andrés Pérez [Sat, 18 Apr 2026 12:38:57 +0000 (14:38 +0200)] 
imx: cortexa9: ventana, fix profiles names in profiles.json

These two image profiles overwrite DEVICE_NAME making the two image
profiles appear with the same name "ventana" in the "profiles.json"
mixing ramdomly the two profiles.

Use BOARD_NAME instead to keep the two profiles names unique (orginal
DEVICE_NAME) hence generating a coherent "profiles.json".

Since there are image recipes hardconding DEVICE_NAME, change them to use
BOARD_NAME if defined, in order to preserve the previous names used in
those recipes.

Fixes: cbc8bcfbaa71fe0928bf07d29ec0fe6217fd51ad ("imx6: image: use vendor_model scheme")
Reported-by: Eric Fahlgren <ericfahlgren@gmail.com>
Signed-off-by: Mario Andrés Pérez <mapb_@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22994
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoutil-linux: update to 2.42 22878/head
Thomas Weißschuh [Fri, 10 Apr 2026 15:40:53 +0000 (17:40 +0200)] 
util-linux: update to 2.42

Release notes:
https://www.kernel.org/pub/linux/utils/util-linux/v2.42/v2.42-ReleaseNotes

New:
0001-meson-test-for-statx-stx_mnt_id-in-sys-stat.h.patch

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Link: https://github.com/openwrt/openwrt/pull/22878
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agotools: util-linux: update to 2.42
Thomas Weißschuh [Fri, 10 Apr 2026 15:30:38 +0000 (17:30 +0200)] 
tools: util-linux: update to 2.42

Release notes:
https://www.kernel.org/pub/linux/utils/util-linux/v2.42/v2.42-ReleaseNotes

Remove upstreamed:
010-meson-curses.patch

New:
0001-pidutils-gracefully-handle-systems-without-sys-vfs.h.patch

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Link: https://github.com/openwrt/openwrt/pull/22878
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agokernel: enable stmmac driver build for loongarch64 22923/head
Tianling Shen [Tue, 14 Apr 2026 03:18:44 +0000 (11:18 +0800)] 
kernel: enable stmmac driver build for loongarch64

This is required to build the motorcomm dwmac driver which is widely
used on loongson platforms.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/22923
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agokernel: backport Motorcomm YT6801 PCIe ethernet driver support
Tianling Shen [Thu, 26 Mar 2026 06:05:35 +0000 (14:05 +0800)] 
kernel: backport Motorcomm YT6801 PCIe ethernet driver support

Motorcomm YT6801 is a PCIe ethernet controller based on DWMAC4 IP. It
integrates an GbE phy, supporting WOL, VLAN tagging and various types
of offloading. It ships an on-chip eFuse for storing various vendor
configuration, including MAC address.

The PM and plat_data functions were slightly modified to build with
current kernel.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/22923
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agobuild: do not set CCACHE_COMPILERCHECK 22995/head
Hauke Mehrtens [Sat, 18 Apr 2026 17:47:01 +0000 (19:47 +0200)] 
build: do not set CCACHE_COMPILERCHECK

Stop overriding CCACHE_COMPILERCHECK from rules.mk and rely on
ccache's default, which hashes the compiler binary's mtime and
size.

For a local tree that is enough: the toolchain only changes when
it is rebuilt, and a rebuild updates mtime and size. Users who
want a stricter check can still set CCACHE_COMPILERCHECK in their
environment.

CI does not depend on this export either. The workflow writes a
secondary ccache.conf with

  compiler_check=string:<toolchain-commit-sha>

so the cache key is tied to the toolchain source revision. That
is both stricter than the previous "%compiler% -v -c" setting
and portable across runners, where compiler mtimes would not
match after restoring a cache archive.

Link: https://github.com/openwrt/openwrt/pull/22995
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agoqualcommax: ipq50xx: ax6000: enable pcie1 for QCA9887
chinawrj [Wed, 22 Apr 2026 12:41:59 +0000 (20:41 +0800)] 
qualcommax: ipq50xx: ax6000: enable pcie1 for QCA9887

The Xiaomi AX6000 has three radios:
  - IPQ5018 integrated 2.4 GHz (ath11k AHB, wifi0)
  - QCN9024 on PCIe0 (ath11k PCI, QCA8074-class 5 GHz)
  - QCA9887 on PCIe1 (ath10k, 5 GHz)

The DTS previously kept pcie1 disabled because the controller
could not bring the link up. The real cause was the PERST GPIO
polarity: the stock device-tree uses GPIO_ACTIVE_HIGH on GPIO18
for the QCA9887 card, while OpenWrt had GPIO_ACTIVE_LOW, leaving
the card held in reset.

With the correct polarity the PCIe1 link trains and the QCA9887
enumerates at 01:00.0. ath10k loads firmware-2.bin, registers
phy0 with mac80211, and provides a functional 5 GHz AP.

Tested on a reworked Xiaomi AX6000 with QCA9887 soldered in.
All three radios enumerate, load firmware and beacon
successfully; scan, association and data traffic confirmed on
each radio.

Signed-off-by: chinawrj <chinawrj@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23047
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: mdio: simplify regmap_update_bits 23039/head
Markus Stockhausen [Tue, 21 Apr 2026 19:50:17 +0000 (21:50 +0200)] 
realtek: mdio: simplify regmap_update_bits

Some occurrences of regmap_update_bits can be simplified by
using other regmap commands. Use set_bits/clear_bits/assign_bits
for better readability.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23039
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dsa: drop legacy table commands 23037/head
Markus Stockhausen [Tue, 21 Apr 2026 17:36:07 +0000 (19:36 +0200)] 
realtek: dsa: drop legacy table commands

All consumers of legacy table commands have been refactored and
use the rtl_table helpers. Drop unused code.

rtl839x_exec_tbl2_cmd() cannot be dropped as it is still used
in the qos code. Keep it for now.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23037
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dsa: convert rtl931x stp functions to table helpers
Markus Stockhausen [Tue, 21 Apr 2026 17:36:07 +0000 (19:36 +0200)] 
realtek: dsa: convert rtl931x stp functions to table helpers

rtldsa_931x_stp_get() and rtl931x_stp_set() use legacy table code.
Replace that with rtl_table_xxx() helpers.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23037
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dsa: convert rtl930x stp functions to table helpers
Markus Stockhausen [Tue, 21 Apr 2026 17:36:07 +0000 (19:36 +0200)] 
realtek: dsa: convert rtl930x stp functions to table helpers

rtldsa_930x_stp_get() and rtl930x_stp_set() use legacy table code.
Replace that with rtl_table_xxx() helpers.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23037
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dsa: convert rtl839x stp functions to table helpers
Markus Stockhausen [Tue, 21 Apr 2026 17:36:07 +0000 (19:36 +0200)] 
realtek: dsa: convert rtl839x stp functions to table helpers

rtldsa_839x_stp_get() and rtl839x_stp_set() use legacy table code.
Replace that with rtl_table_xxx() helpers.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23037
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dsa: convert rtl838x stp functions to table helpers
Markus Stockhausen [Tue, 21 Apr 2026 17:36:07 +0000 (19:36 +0200)] 
realtek: dsa: convert rtl838x stp functions to table helpers

rtldsa_838x_stp_get() and rtl838x_stp_set() use legacy table code.
Replace that with rtl_table_xxx() helpers.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23037
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: eth: convert hw_init() functions to regmap 23038/head
Markus Stockhausen [Tue, 21 Apr 2026 18:54:17 +0000 (20:54 +0200)] 
realtek: eth: convert hw_init() functions to regmap

Use regmap in the four target specific hw_init() functions.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23038
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: eth: convert rteth_839x_setup_notify_ring_buffer to regmap
Markus Stockhausen [Tue, 21 Apr 2026 18:38:37 +0000 (20:38 +0200)] 
realtek: eth: convert rteth_839x_setup_notify_ring_buffer to regmap

Another cleanup of legacy sw() code.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23038
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: eth: convert hw_en_rxtx to regmap for RTL93xx
Markus Stockhausen [Tue, 21 Apr 2026 18:27:42 +0000 (20:27 +0200)] 
realtek: eth: convert hw_en_rxtx to regmap for RTL93xx

Another two functions that are cleaned from the legacy sw() macros.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23038
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dts: drop EXTERNAL_SFP_PHY macro 23036/head
Markus Stockhausen [Tue, 21 Apr 2026 17:25:18 +0000 (19:25 +0200)] 
realtek: dts: drop EXTERNAL_SFP_PHY macro

The EXTERNAL_SFP_PHY macro is very strange. It has attributes
sfp and media but is not linked to any SFP definition. There
is nothing that the kernel can evaluate better than the classic
PHY_C22 macro.

Remark! For the current D-Link DGS-1210 consumers this macro
should be converted to a PHY_C22_SFP in the future. As of now
there is no hardware to identify the proper gpios and define
and verify the corresponding SFP ports. Add a TODO comment
where needed.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23036
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: dts: convert EXTERNAL_SFP_PHY_FULL to PHY_C22_SFP
Markus Stockhausen [Tue, 21 Apr 2026 17:25:18 +0000 (19:25 +0200)] 
realtek: dts: convert EXTERNAL_SFP_PHY_FULL to PHY_C22_SFP

Several EXTERNAL macros have been removed in the past. There is
no need to distinguish if a phy is built into the SoC or is
attached externally.

Do the same for EXTERNAL_SFP_PHY_FULL. This macro denotes a phy
that has a SFP port attached to it. This is usually RTL8214FC
based. To be consistent with other macros name it PHY_C22_SFP.
While we are here make use of the new port/phy notation.

So PHY_C22_SFP(p, n, s) gives

- p: the overall port number
- n: the phy address on the current bus
- s: the sfp identifier

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23036
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoomnia-mcutool: build as C99 23042/head
Rosen Penev [Sun, 19 Apr 2026 22:24:12 +0000 (15:24 -0700)] 
omnia-mcutool: build as C99

GCC15 defaults to C23, which does not work here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23042
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agotoolchain: gcc: 14/15: fix libcody compilation with GCC16
Robert Marko [Wed, 22 Apr 2026 14:48:18 +0000 (16:48 +0200)] 
toolchain: gcc: 14/15: fix libcody compilation with GCC16

libcody will fail to build if building using a GCC16 host compiler, so
backport the upstream fix.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agogeneric: filter: add RUSTC symbols
Robert Marko [Wed, 22 Apr 2026 14:43:00 +0000 (16:43 +0200)] 
generic: filter: add RUSTC symbols

These symbols depend on rustc version and is autodetected and set, so make
sure to filter them out.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2 months agokernel: video: fix x86/geode build 23013/head
John Audia [Sun, 19 Apr 2026 19:47:59 +0000 (15:47 -0400)] 
kernel: video: fix x86/geode build

Add missing options to fix geode build failure.

Co-authored-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23013
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agogeneric: 6.18: import some SFP quirks 23032/head
Daniel Golle [Tue, 21 Apr 2026 14:38:16 +0000 (15:38 +0100)] 
generic: 6.18: import some SFP quirks

Import upstream and pending patches implementing SFP quirks.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agogeneric: 6.18: import updated standalone PCS handling
Daniel Golle [Tue, 21 Apr 2026 02:26:14 +0000 (03:26 +0100)] 
generic: 6.18: import updated standalone PCS handling

Import pending series introducing support for standalone PCS drivers.

This has previously already been used by the airoha target, and is
also the base for the closer-to-upstream patches for MediaTek MT7988
10G SerDes support.

In order to not having to diverge from upstream also backport series
for standardized handling for PHY and PCS SerDes pair polarity.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agompc85xx: enable 6.18 testing kernel 22732/head
Nick Hainke [Sat, 11 Apr 2026 18:32:44 +0000 (20:32 +0200)] 
mpc85xx: enable 6.18 testing kernel

The mpc85xx now supports 6.18 kernel as testing.

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agokernel: other: fix ptp-qoriq build with Linux >= 6.18
Nick Hainke [Sun, 12 Apr 2026 11:23:15 +0000 (13:23 +0200)] 
kernel: other: fix ptp-qoriq build with Linux >= 6.18

Linux renamed ptp-qoriq.ko to ptp_qoriq.ko in 6.18.

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agokenrel: crypto: fix build with Linux >= 6.18 after md5-ppc removal
Nick Hainke [Thu, 2 Apr 2026 15:57:40 +0000 (17:57 +0200)] 
kenrel: crypto: fix build with Linux >= 6.18 after md5-ppc removal

Linux commit 09371e1349c9 ("lib/crypto: powerpc/md5: Migrate optimized code into library")
removed the PowerPC-specific MD5 implementation (md5-ppc.ko) and
replaced it with an optimized library implementation in lib/crypto.

As a result, CONFIG_CRYPTO_MD5_PPC and the module
arch/powerpc/crypto/md5-ppc.ko no longer exist in kernels >= 6.18.

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agompc85xx: 6.18: update kernel symbols
Nick Hainke [Wed, 1 Apr 2026 19:01:37 +0000 (21:01 +0200)] 
mpc85xx: 6.18: update kernel symbols

Add required 6.18 kernel symbols. Also update kernel config by running
make kernel_oldconfig.

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agompc85xx: 6.18: refresh patches
Nick Hainke [Wed, 1 Apr 2026 18:33:50 +0000 (20:33 +0200)] 
mpc85xx: 6.18: refresh patches

Refresh patches for the 6.18 kernel.

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agokernel/mpc85xx: restore files for v6.12
Nick Hainke [Sat, 11 Apr 2026 09:56:05 +0000 (11:56 +0200)] 
kernel/mpc85xx: 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

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agokernel/mpc85xx: create files for v6.18 (from v6.12)
Nick Hainke [Sat, 11 Apr 2026 09:56:04 +0000 (11:56 +0200)] 
kernel/mpc85xx: create files for v6.18 (from v6.12)

This is an automatically generated commit.

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

Link: https://github.com/openwrt/openwrt/pull/22732
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agod1: drop support for 6.12 23035/head
Zoltan HERPAI [Tue, 21 Apr 2026 13:26:29 +0000 (13:26 +0000)] 
d1: drop support for 6.12

Drop support for 6.12 by removing config and patches.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agod1: switch to 6.18
Zoltan HERPAI [Tue, 21 Apr 2026 13:25:54 +0000 (13:25 +0000)] 
d1: switch to 6.18

Make 6.18 the default kernel.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agod1: add proper overlay support
Zoltan HERPAI [Tue, 21 Apr 2026 13:23:49 +0000 (13:23 +0000)] 
d1: add proper overlay support

Add f2fs support into the kernel, otherwise the overlay f2fs
will not be created.

[    7.611817] loop0: detected capacity change from 0 to 212992
[    7.638471] loop0: detected capacity change from 212992 to 206208
[    7.757259] mount_root: failed to mount -t f2fs /dev/loop0 /tmp/overlay: No such device

Fixes: https://github.com/openwrt/openwrt/commit/1e7950a45de593354a508d80a39951b440336ab7
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agostarfive: enable 6.18 testing kernel
Zhihao Xu [Tue, 17 Feb 2026 12:11:44 +0000 (20:11 +0800)] 
starfive: enable 6.18 testing kernel

Enable 6.18 as testing kernel.

Link: https://github.com/openwrt/openwrt/pull/22063
Signed-off-by: Zhihao Xu <ngc7331@outlook.com>
[Tested on VF1/VF2:]
Tested-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agostarfive: update kernel symbols for v6.18
Zhihao Xu [Tue, 17 Feb 2026 12:11:47 +0000 (20:11 +0800)] 
starfive: update kernel symbols for v6.18

Drop symbols removed in Linux 6.18 and add newly introduced symbols.

Also handle symbols that are moved out of or into the generic:
- `#CONFIG_ARCH_SOPHGO is not set` is moved into generic [1]

[1] https://github.com/openwrt/openwrt/commit/d3bf8ada022f0dc997e52e6a9d948a6ef05dc230

Signed-off-by: Zhihao Xu <ngc7331@outlook.com>
2 months agostarfive: refresh e24 driver patch for v6.18
Zhihao Xu [Tue, 17 Feb 2026 12:11:48 +0000 (20:11 +0800)] 
starfive: refresh e24 driver patch for v6.18

- Use ida_alloc(), ida_free() api instead of old ida_simple_* [1], [2]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5ade60dda43c8906d4554374226c2eb11cc2ffba
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c8a09fc9664f79eeb66cdf4a2a34d5b6a239b727

Signed-off-by: Zhihao Xu <ngc7331@outlook.com>
2 months agostarfive: refresh patches for v6.18
Zhihao Xu [Tue, 17 Feb 2026 12:11:46 +0000 (20:11 +0800)] 
starfive: refresh patches for v6.18

Refreshed patches for starfive/patches-6.18
by running make target/linux/refresh.

Signed-off-by: Zhihao Xu <ngc7331@outlook.com>
2 months agostarfive: manually refresh patches for v6.18
Zhihao Xu [Tue, 17 Feb 2026 12:11:45 +0000 (20:11 +0800)] 
starfive: manually refresh patches for v6.18

Manually refresh patches:
- 0004-spi-spl022-Get-and-deassert-reset-in-probe.patch
- 0007-driver-mailbox-Add-mailbox-driver.patch
- 0009-uart-8250-Add-dw-auto-flow-ctrl-support.patch
- 0013-drivers-nvme-Add-precheck-and-delay-for-CQE-pending-.patch
- 0014-riscv-Optimize-memcpy-with-aligned-version.patch

Signed-off-by: Zhihao Xu <ngc7331@outlook.com>
2 months agokernel/starfive: restore files for v6.12
Zhihao Xu [Tue, 17 Feb 2026 12:11:40 +0000 (20:11 +0800)] 
kernel/starfive: 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: Zhihao Xu <ngc7331@outlook.com>
2 months agokernel/starfive: create files for v6.18 (from v6.12)
Zhihao Xu [Tue, 17 Feb 2026 12:11:24 +0000 (20:11 +0800)] 
kernel/starfive: 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: Zhihao Xu <ngc7331@outlook.com>
2 months agoscripts: add git_commit to profiles.json
Paul Spooren [Mon, 20 Apr 2026 11:46:13 +0000 (19:46 +0800)] 
scripts: add git_commit to profiles.json

Right now we only have the special getver.sh output (i.e. r32802-f505120278)
instead of the actual, full git hash. Offer the full hash for downstream
tooling, specifically the KernelCI.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 months agomediatek: fix MAC address assignment for ZBT Z8102AX V2 23016/head
Xiao Qian [Mon, 20 Apr 2026 09:09:27 +0000 (17:09 +0800)] 
mediatek: fix MAC address assignment for ZBT Z8102AX V2

label: f8:5e:3c:99:95:c0

wifi-2.4G f8 5e 3c 99 95 be
wifi-5.8G f8 5e 3c 99 95 bf
eth0-lan  f8 5e 3c 99 95 c0
eth1-wan  f8 5e 3c 99 95 c1

:~# hexdump -C /dev/mtd2 | more
00000000  81 79 00 00 f8 5e 3c 99  95 be f8 5e 3c 99 95 bf  |.y...^<....^<...|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  00 00 00 00 f8 5e 3c 99  95 c1 f8 5e 3c 99 95 c0  |.....^<....^<...|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

Signed-off-by: Xiao Qian <qxooqx@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23016
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: eth: regmap refactoring 23006/head
Markus Stockhausen [Sun, 19 Apr 2026 09:30:58 +0000 (11:30 +0200)] 
realtek: eth: regmap refactoring

Refactor rteth_hw_ring_setup() and rteth_839x_hw_en_rxtx().

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23006
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: eth: regmap refactoring
Markus Stockhausen [Sun, 19 Apr 2026 09:20:22 +0000 (11:20 +0200)] 
realtek: eth: regmap refactoring

Refactor rteth_setup_cpu_rx_rings() and rteth_838x_hw_en_rxtx().

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/23006
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agouboot-at91: fix wrong BUILD_DEVICES for sama5d4_xplained_nandflash
Cerrone Diamant [Mon, 20 Apr 2026 14:07:14 +0000 (16:07 +0200)] 
uboot-at91: fix wrong BUILD_DEVICES for sama5d4_xplained_nandflash

The sama5d4_xplained_nandflash target incorrectly references microchip_sama5d3-xplained as its BUILD_DEVICES value.

This appears to be a copy-paste error, as all other SAMA5D4 Xplained targets (e.g. mmc and spiflash) correctly use microchip_sama5d4-xplained. The target name itself also clearly refers to the SAMA5D4 platform.

In addition, the SAMA5D3 Xplained and SAMA5D4 Xplained boards use different NAND flash hardware and configurations, so pointing the nandflash target to a SAMA5D3 device is incorrect and may lead to invalid builds or runtime issues.

Fix the inconsistency by updating BUILD_DEVICES to microchip_sama5d4-xplained, aligning the nandflash target with the rest of the SAMA5D4 definitions and ensuring the correct device mapping.

Signed-off-by: Cerrone Diamant <cerrone@tutamail.com>
Link: https://github.com/openwrt/openwrt/pull/23022
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agogeneric: 6.18: drop stale hunk of Filogic SerDes patch
Daniel Pawlik [Mon, 20 Apr 2026 11:29:29 +0000 (13:29 +0200)] 
generic: 6.18: drop stale hunk of Filogic SerDes patch

Daniel Pawlik figured out that a stale patch hunk breaks one of the
two 10G SerDes PCS ports of MT7988. Remove the hunk to make 10G
Ethernet work on both SerDes PCS with Linux 6.18.

Testing was done using a Aquantia AQR113C SFP+ module.

Signed-off-by: Daniel Pawlik <pawlik.dan@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agorealtek: add support for Zyxel XS1930-12HP 22909/head
Jonas Jelonek [Sun, 4 Jan 2026 21:04:53 +0000 (21:04 +0000)] 
realtek: add support for Zyxel XS1930-12HP

Add support for RTL9313-based Zyxel XS1930-12HP, a 12-port Multi-Gig
switch with 10x 100M/1G/2.5G/5G/10G RJ45 and 2x 1G/10G SFP+ ports.

Hardware
========

  - RTL9313 SoC
  - 256MiB DDR3 RAM (Winbond W632GU6MB)
  - 32MiB SPI-NOR Flash (Macronix MX25L25645G)
  - 8x 100M/1G/2.5G/5G/10G RJ45 (Aquantia AQR813)
  - 2x 100M/1G/2.5G/5G/10G RJ45 (2x Aquantia AQR113C)
  - 2x 1G/10G SFP+
  - PoE:
    - Ports 1-8 with PoE++/802.3bt
    - 2x RTL8239 + GigaDevice FD32F103 MCU
  - RTL8231 for port LEDs
  - LM96000 I2C hardware monitor
  - 3-pin fans
  - Front LEDs: PWR, SYS, CLOUD, LOCATOR, POE USAGE
  - Console: TTL 3.3V, 115200 8N1
  - Software chain:
    - Bootbase/stripped-down U-Boot
    - BootExt
    - RAS/ZyNOS

Console
=======

The console port is a 4-pin header reachable without opening case.
Looking at the front port-side of the device, turn the device 90 degrees
clockwise. On this side, there's a rectangular opening in the honeycomb
structure. Pinout is (from left/front to right/back): GND RX TX VCC

Hardware quirks
===============

* The SFP signals RX_LOS, MOD_ABS and TX_FAULT do not have dedicated GPIO
  lines each. Instead, there's a multiplexer (using GPIO12 and GPIO14)
  which - depending on its state - connect this single GPIO line to RX_LOS,
  MOD_ABS or TX_FAULT (GPIO19 for SFP1, GPIO27 for SFP2). This requires
  a special adapter driver (which is backed by a gpio-mux) that makes
  this hardware design and Linux' SFP core work together.

* SFP slots are disabled by default. GPIO6 and GPIO7 seems to be gates
  for SFP1 and SFP2 respectively. The need to be pulled low to make SFP
  modules work (i.e. respond to I2C requests and pass GPIO signals).

* Fan can only be set to SLOW or FAST mode, no real speed/PWM control.

Disclaimer
==========

PoE not yet supported.

Flashing OpenWrt will overwrite BootExtension + ZyNOS. BootExtension
functionality (e.g. initramfs boot as mentioned below) is not available
anymore then. The U-boot/Bootbase still has some limited functionality
which can be used in emergency cases.

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

Simple web upgrade:

1. Take the OpenWrt factory.bin image generated by the build.

2. In the ZyNOS web UI, login and go to Maintenance -> Firmware Upgrade.

3. Under "Boot Image", make sure the Config Boot Image is set to 1. In
   other words, make sure the switch booted from firmware image 1 or it
   will do so on next reboot.
   This is crucial, otherwise OpenWrt cannot boot.

4. Below, select and upload the factory.bin image. After clicking
   upgrade, the image will be flashed.

5. After flashing has finished, reboot the switch. It will now boot into
   OpenWrt.

Initramfs boot
==============

NOTE: You need to use Xmodem transfer, the bootloader doesn't support
      Ymodem nor any networking.
      This only works as long as the default ZyNOS firmware is
      installed.

1. Connect to the switch using serial and interrupt the boot process
   to enter debug/recovery mode.

2. You need to unlock the bootloader. Use known methods [1] and [2] to
   obtain the unlock code and unlock the bootloader with:

   > ATEN 1,<unlock_code>

3. Upload the initramfs image using Xmodem:

   > ATUP <address>,<file_length>

   <address>: you may use any RAM address >= 0x80300000
   <file_length>: length of image in bytes

4. After the transfer has finished, boot the image with:

   > ATGO <address>

5. Wait for OpenWrt to boot. At this stage, it might be wise to create a
   backup/dump of the Flash partitions.

Return to stock firmware
========================

1. Download the firmware for the switch from Zyxel website.

2. Unzip the download, there should be a .bin file with a alphanumeric
   name.

3. Upload this file to running OpenWrt.

4. Run (use -F since the image doesn't have image metadata):

   > sysupgrade -F <stock-firmware>.bin

5. Wait for the sysupgrade to succeed and the switch reboot. At the next
   boot, ZyNOS should come up again.

Recovery
========

The Bootbase loader is actually a modified U-Boot variant. You can enter
it by spamming $ during the DRAM test.

The U-Boot shell can be unlocked with [1] and [2]. Note that the command
is slightly different, using a space instead of a comma, and lowercase:

> aten 1 <unlock_code>

You should now have more-or-less a standard RTK-U-boot shell from where
you can upload and write a new image to flash. Use e.g.:

> upgradeY image2 81000000 115200

Wait for the upgrade process to finish and reboot the switch.

===
[1] https://akao.co.uk/tools/zyxel_unlocker/
[2] https://www.ixo.de/info/zyxel_uclinux/

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22909
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: add support for Zyxel XS1930-12F
Jonas Jelonek [Sat, 22 Nov 2025 23:09:23 +0000 (23:09 +0000)] 
realtek: add support for Zyxel XS1930-12F

Add support for RTL9313-based Zyxel XS1930-12F, a 12-port Multi-Gig
switch with 8x 1G/10G SFP+ ports and 2x 100M/1G/2.5G/5G/10G RJ45.

Hardware
========

  - RTL9313 SoC
  - 256MiB DDR3 RAM (Nanya NT5CC128M16JR-EK)
  - 32MiB SPI-NOR Flash (Macronix MX25L25645G)
  - 10x 1G/10G SFP+
  - 2x 100M/1G/2.5G/5G/10G RJ45 (2x Aquantia AQR113C)
  - 2x RTL8231 for GPIO expansion + port LEDs
  - TI PM555 GPIO expander
  - LM96000 I2C hardware monitor
  - 3-pin fan
  - Front LEDs: PWR, SYS, CLOUD, LOCATOR
  - Console: TTL 3.3V, 115200 8N1
  - Software chain:
    - Bootbase/stripped-down U-Boot
    - BootExt
    - RAS/ZyNOS

Console
=======

The console port is a 4-pin header reachable without opening case.
Looking at the front port-side of the device, turn the device 90 degrees
clockwise. On this side, there's a rectangular opening in the honeycomb
structure. Pinout is (from left/front to right/back): GND RX TX VCC

Hardware quirks
===============

* SFP slots are disabled by default. Several GPIO lines on the PM555
  GPIO expander need to be pulled low to activate SFPs, one for each SFP
  slot. Otherwise modules cannot respond to I2C requests and GPIO signals
  do not reach the SoC.

* Fan can only be set to SLOW or FAST mode, no real speed/PWM control.

Disclaimer
==========

Flashing OpenWrt will overwrite BootExtension + ZyNOS. BootExtension
functionality (e.g. initramfs boot as mentioned below) is not available
anymore then. The U-boot/Bootbase still has some limited functionality
which can be used in emergency cases.

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

Simple web upgrade:

1. Take the OpenWrt factory.bin image generated by the build.

2. In the ZyNOS web UI, login and go to Maintenance -> Firmware Upgrade.

3. Under "Boot Image", make sure the Config Boot Image is set to 1. In
   other words, make sure the switch booted from firmware image 1 or it
   will do so on next reboot.
   This is crucial, otherwise OpenWrt cannot boot.

4. Below, select and upload the factory.bin image. After clicking
   upgrade, the image will be flashed.

5. After flashing has finished, reboot the switch. It will now boot into
   OpenWrt.

Initramfs boot
==============

NOTE: You need to use Xmodem transfer, the bootloader doesn't support
      Ymodem nor any networking.
      This only works as long as the default ZyNOS firmware is
      installed.

1. Connect to the switch using serial and interrupt the boot process
   to enter debug/recovery mode.

2. You need to unlock the bootloader. Use known methods [1] and [2] to
   obtain the unlock code and unlock the bootloader with:

   > ATEN 1,<unlock_code>

3. Upload the initramfs image using Xmodem:

   > ATUP <address>,<file_length>

   <address>: you may use any RAM address >= 0x80300000
   <file_length>: length of image in bytes

4. After the transfer has finished, boot the image with:

   > ATGO <address>

5. Wait for OpenWrt to boot. At this stage, it might be wise to create a
   backup/dump of the Flash partitions.

Return to stock firmware
========================

1. Download the firmware for the switch from Zyxel website.

2. Unzip the download, there should be a .bin file with a alphanumeric
   name.

3. Upload this file to running OpenWrt.

4. Run (use -F since the image doesn't have image metadata):

   > sysupgrade -F <stock-firmware>.bin

5. Wait for the sysupgrade to succeed and the switch reboot. At the next
   boot, ZyNOS should come up again.

Recovery
========

The Bootbase loader is actually a modified U-Boot variant. You can enter
it by spamming $ during the DRAM test.

The U-Boot shell can be unlocked with [1] and [2]. Note that the command
is slightly different, using a space instead of a comma, and lowercase:

> aten 1 <unlock_code>

You should now have more-or-less a standard RTK-U-boot shell from where
you can upload and write a new image to flash. Use e.g.:

> upgradeY image2 81000000 115200

Wait for the upgrade process to finish and reboot the switch.

===
[1] https://akao.co.uk/tools/zyxel_unlocker/
[2] https://www.ixo.de/info/zyxel_uclinux/

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22909
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: add support for Zyxel XS1930-10
Jonas Jelonek [Wed, 7 May 2025 10:18:52 +0000 (10:18 +0000)] 
realtek: add support for Zyxel XS1930-10

Add support for RTL9313-based Zyxel XS1930-10, a 10-port Multi-Gig
switch with 8x 100M/1G/2.5G/5G/10G RJ45 and 2x 1G/10G SFP+ ports.

Hardware
========

  - RTL9313 SoC
  - 256MiB DDR3 RAM (Winbond W632GU6MB)
  - 32MiB SPI-NOR Flash (Macronix MX25L25645G)
  - 8x 100M/1G/2.5G/5G/10G RJ45 (Aquantia AQR813)
  - 2x 1G/10G SFP+
  - RTL8231 for port LEDs
  - LM96000 I2C hardware monitor
  - 3-pin fan
  - Front LEDs: PWR, SYS, CLOUD, LOCATOR
  - Console: TTL 3.3V, 115200 8N1
  - Software chain:
    - Bootbase/stripped-down U-Boot
    - BootExt
    - RAS/ZyNOS

Console
=======

The console port is a 4-pin header reachable without opening case.
Looking at the front port-side of the device, turn the device 90 degrees
clockwise. On this side, there's a rectangular opening in the honeycomb
structure. Pinout is (from left/front to right/back): GND RX TX VCC

Hardware quirks
===============

* The SFP signals RX_LOS, MOD_ABS and TX_FAULT do not have dedicated GPIO
  lines each. Instead, there's a multiplexer (using GPIO12 and GPIO14)
  which - depending on its state - connect this single GPIO line to RX_LOS,
  MOD_ABS or TX_FAULT (GPIO19 for SFP1, GPIO27 for SFP2). This requires
  a special adapter driver (which is backed by a gpio-mux) that makes
  this hardware design and Linux' SFP core work together.

* SFP slots are disabled by default. GPIO6 and GPIO7 seems to be gates
  for SFP1 and SFP2 respectively. The need to be pulled low to make SFP
  modules work (i.e. respond to I2C requests and pass GPIO signals).

* Fan can only be set to SLOW or FAST mode, no real speed/PWM control.

Disclaimer
==========

Flashing OpenWrt will overwrite BootExtension + ZyNOS. BootExtension
functionality (e.g. initramfs boot as mentioned below) is not available
anymore then. The U-boot/Bootbase still has some limited functionality
which can be used in emergency cases.

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

Simple web upgrade:

1. Take the OpenWrt factory.bin image generated by the build.

2. In the ZyNOS web UI, login and go to Maintenance -> Firmware Upgrade.

3. Under "Boot Image", make sure the Config Boot Image is set to 1. In
   other words, make sure the switch booted from firmware image 1 or it
   will do so on next reboot.
   This is crucial, otherwise OpenWrt cannot boot.

4. Below, select and upload the factory.bin image. After clicking
   upgrade, the image will be flashed.

5. After flashing has finished, reboot the switch. It will now boot into
   OpenWrt.

Initramfs boot
==============

NOTE: You need to use Xmodem transfer, the bootloader doesn't support
      Ymodem nor any networking.
      This only works as long as the default ZyNOS firmware is
      installed.

1. Connect to the switch using serial and interrupt the boot process
   to enter debug/recovery mode.

2. You need to unlock the bootloader. Use known methods [1] and [2] to
   obtain the unlock code and unlock the bootloader with:

   > ATEN 1,<unlock_code>

3. Upload the initramfs image using Xmodem:

   > ATUP <address>,<file_length>

   <address>: you may use any RAM address >= 0x80300000
   <file_length>: length of image in bytes

4. After the transfer has finished, boot the image with:

   > ATGO <address>

5. Wait for OpenWrt to boot. At this stage, it might be wise to create a
   backup/dump of the Flash partitions.

Return to stock firmware
========================

1. Download the firmware for the switch from Zyxel website.

2. Unzip the download, there should be a .bin file with a alphanumeric
   name.

3. Upload this file to running OpenWrt.

4. Run (use -F since the image doesn't have image metadata):

   > sysupgrade -F <stock-firmware>.bin

5. Wait for the sysupgrade to succeed and the switch reboot. At the next
   boot, ZyNOS should come up again.

Recovery
========

The Bootbase loader is actually a modified U-Boot variant. You can enter
it by spamming $ during the DRAM test.

The U-Boot shell can be unlocked with [1] and [2]. Note that the command
is slightly different, using a space instead of a comma, and lowercase:

> aten 1 <unlock_code>

You should now have more-or-less a standard RTK-U-boot shell from where
you can upload and write a new image to flash. Use e.g.:

> upgradeY image2 81000000 115200

Wait for the upgrade process to finish and reboot the switch.

===
[1] https://akao.co.uk/tools/zyxel_unlocker/
[2] https://www.ixo.de/info/zyxel_uclinux/

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22909
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: add generic support for Zyxel XS1930 lineup
Jonas Jelonek [Tue, 23 Dec 2025 12:08:12 +0000 (12:08 +0000)] 
realtek: add generic support for Zyxel XS1930 lineup

Add generic support for Zyxel's XS1930 10G switch lineup. This will be
used by subsequent patches to share common behavior/settings.

Common specs:

- Realtek RTL9313 switch SoC
- 256MB RAM
- 32MB Flash with shared layout
- different 10G copper/SFP port configurations

The devices use a proprietary software chain from Zyxel, consisting of:
- stripped-down, heavily modified U-boot masked as "Bootbase"
- BootExtension stage2 loader
- Thread-X based ZyNOS

Those devices require to add some symbols to the kernel config, i.e.
CONFIG_AQUANTIA_PHY for the used PHYs and symbols for GPIO peripherals
and muxes due to the hardware design.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22909
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: image: add recipe for ZyNOS-based Zyxel devices
Jonas Jelonek [Fri, 10 Apr 2026 11:39:21 +0000 (11:39 +0000)] 
realtek: image: add recipe for ZyNOS-based Zyxel devices

Add a new recipe 'zyxel-zynos' which contains common
behavior/definitions for ZyNOS-based Zyxel devices which requirea
special image to be built using 'zynos-firmware' recipe.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22909
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: image: add zynos-firmware recipe
Jonas Jelonek [Tue, 7 Apr 2026 16:55:57 +0000 (16:55 +0000)] 
realtek: image: add zynos-firmware recipe

Add a build recipe to build a ZyNOS firmware image using mkzynfw from
firmware-utils to produce an image that can be flashed with the web
interface of ZyNOS vendor firmware.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22909
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: pcs: replace various SerDes range checks 22941/head
Jonas Jelonek [Wed, 15 Apr 2026 09:05:16 +0000 (09:05 +0000)] 
realtek: pcs: replace various SerDes range checks

The whole driver often does some range checks of the SerDes ID to
restrict some functionality to a group of SerDes. However, having these
open-coded checks everywhere is rather confusing because it's not
obvious what it actually means.

Luckily, those checks give a good picture of what SerDes types we have:
- 5G: RTL838x, RTL839x (0-7, 10, 11), RTL930x (0, 1)
- 10G: RTL839x (8, 9, 12, 13), RTL930x (2-9), RTL931x (2-13)
- unknown: RTL930x (10, 11), RTL931x (0, 1)

Add a new enum and field in rtpcs_serdes for the type of a SerDes we
have. This is filled during SerDes probe, making use of the stub
implementations for that hook.. All SerDes ID range checks related to
this are replaced with corresponding checks of the SerDes type.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22941
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agorealtek: pcs: add SerDes probe hook
Jonas Jelonek [Tue, 14 Apr 2026 18:22:08 +0000 (18:22 +0000)] 
realtek: pcs: add SerDes probe hook

Add a per-SerDes probe hook to rtpcs_config, called once for each SerDes
during driver probe. This provides a place for variant-specific, one-time
per-SerDes initialization that doesn't fit into the existing controller-
level init hook — such as allocating per-lane regmap fields or assigning
per-SerDes metadata.

Add stub implementations for all variants for now. They will be used by
all variants in a subsequent comment. For RTL839x, reuse the existing
rtl839x_sds_init hook and move its call out of the global init.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22941
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 months agoxdp-tools: fix musl build issues 22983/head
Nick Hainke [Sat, 18 Apr 2026 08:03:54 +0000 (10:03 +0200)] 
xdp-tools: fix musl build issues

Add patches to fix build failures on musl-based toolchains:

0002-xdpsock-fix-struct-ethhdr-redefinition-on-musl.patch:
xdpsock.c included <net/ethernet.h> and <netinet/ether.h> alongside
<linux/if_ether.h>, triggering a struct ethhdr redefinition on musl.
Replace BSD-style ether_header/ether_addr with struct ethhdr and drop
the conflicting includes.

0003-build-use-gnu2x-to-avoid-stdbool.h-dependency.patch:
Switch CFLAGS and BPF_CFLAGS from -std=gnu11 to -std=gnu2x. In C23,
bool is a native keyword, fixing "stdbool.h: No such file or directory"
errors with a clang lacking its resource directory (e.g. llvm-bpf built
with LLVM_INSTALL_TOOLCHAIN_ONLY=ON on musl targets).

Link: https://github.com/openwrt/openwrt/pull/22983
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agox86: add support for DFI ASL553 23003/head
Nick Hainke [Sun, 19 Apr 2026 08:08:27 +0000 (10:08 +0200)] 
x86: add support for DFI ASL553

The DFI ASL553 is a 3.5" SBC very similar to the ADN553. The network
topology is identical, so both boards share the same network
configuration.

Differences from the ADN553:
* CPU: Intel Atom x7835RE (8C, 12W) / x7433RE (4C, 9W) /
                  x7213RE (2C, 9W) / x7211RE (2C, 6W)
       (Amston Lake / x7000RE series instead of Alder Lake-N)
* Ethernet: Intel I226IT instead of I226V
* Audio: Realtek ALC888S instead of ALC888

For installation and board detection details, see commit b6b09a2ad838
("x86: add support for DFI ADN553").

Link: https://github.com/openwrt/openwrt/pull/23003
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agotools/ccache: update to 4.13.3 23005/head
Nick Hainke [Sun, 19 Apr 2026 08:46:33 +0000 (10:46 +0200)] 
tools/ccache: update to 4.13.3

Release Notes:
- https://ccache.dev/releasenotes.html#_ccache_4_12_2
- https://ccache.dev/releasenotes.html#_ccache_4_13_3
- https://ccache.dev/releasenotes.html#_ccache_4_13
- https://ccache.dev/releasenotes.html#_ccache_4_13_1
- https://ccache.dev/releasenotes.html#_ccache_4_13_2
- https://ccache.dev/releasenotes.html#_ccache_4_13_3

Link: https://github.com/openwrt/openwrt/pull/23005
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agotools/expat: update to 2.7.5 23007/head
Nick Hainke [Sun, 19 Apr 2026 09:37:10 +0000 (11:37 +0200)] 
tools/expat: update to 2.7.5

Changelog:
https://github.com/libexpat/libexpat/blob/R_2_7_5/expat/Changes

Fixes: CVE-2026-32776 CVE-2026-32777 CVE-2026-32778
Link: https://github.com/openwrt/openwrt/pull/23007
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agotreewide: use HTTPS for PKG_SOURCE_URL where possible
Paul Spooren [Sat, 18 Apr 2026 13:26:39 +0000 (21:26 +0800)] 
treewide: use HTTPS for PKG_SOURCE_URL where possible

Switch http:// (and redundant ftp://) PKG_SOURCE_URL entries to https://
across tools/ and package/. PKG_HASH alone does not protect against an
attacker tampering with insecure downloads when a maintainer regenerates
the hash via `make ... FIXUP=1`: HTTPS authenticates the upstream so the
captured hash reflects real upstream content.

In-place http -> https (HTTPS reachability verified per host):
- tools/elftosb, tools/lzop, tools/liblzo, tools/mpfr, tools/dosfstools,
  tools/libressl, tools/xz
- package/libs/mpfr, package/libs/libmnl, package/libs/libnfnetlink

Replaced with @OPENWRT (HTTPS-only mirror) where the upstream HTTPS host
is dead or has a broken certificate:
- package/libs/popt (ftp.rpm.org cert mismatch)
- package/firmware/ixp4xx-microcode (was http://downloads.openwrt.org)
- package/boot/imx-bootlets (trabant.uid0.hu cert mismatch)
- package/boot/kobs-ng (freescale.com URL is dead, redirects to nxp.com root)

Dropped redundant ftp://ftp.denx.de fallback (https://ftp.denx.de is
already listed):
- package/boot/uboot-tools, tools/mkimage

Signed-off-by: Paul Spooren <mail@aparcar.org>
2 months agomediatek: 6.18: add missing module dependency
Daniel Golle [Mon, 20 Apr 2026 00:08:45 +0000 (01:08 +0100)] 
mediatek: 6.18: add missing module dependency

Add missing dependency of kmod-btmtkuart on kmod-hci-uart when building
with Linux 6.18.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agomediatek: mt7629: add missing CONFIG_LEDS_SMARTRG_LED
Daniel Golle [Mon, 20 Apr 2026 00:05:32 +0000 (01:05 +0100)] 
mediatek: mt7629: add missing CONFIG_LEDS_SMARTRG_LED

The config symbol has acceidentally been omitted when adding support for
Linux 6.18. Re-add it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 months agobpftool: update to 7.7.0 22973/head
Nick Hainke [Fri, 17 Apr 2026 15:29:56 +0000 (17:29 +0200)] 
bpftool: update to 7.7.0

Release Notes:
- https://github.com/libbpf/bpftool/releases/tag/v7.7.0

Backport upstream commit 9ba0b4add39e ("bpftool: Allow explicitly skip
llvm, libbfd and libcrypto dependencies") to fix a linker error. The
bpftool only needs skeleton generation, not program signing, so pass
SKIP_CRYPTO=1 to drop the libcrypto dependency entirely.

Link: https://github.com/libbpf/bpftool/commit/9ba0b4add39e578ccdb91ca23b62a7de6ff45995
Link: https://github.com/openwrt/openwrt/pull/22973
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agosifiveu: drop support for 6.12
Zoltan HERPAI [Sat, 18 Apr 2026 22:11:40 +0000 (22:11 +0000)] 
sifiveu: drop support for 6.12

Drop support for 6.12 by removing config and patches.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agosifiveu: switch to 6.18
Zoltan HERPAI [Sat, 18 Apr 2026 22:10:20 +0000 (22:10 +0000)] 
sifiveu: switch to 6.18

Make 6.18 the default kernel.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 months agoleds-gca230718: fix compilation 22984/head
Rosen Penev [Sat, 18 Apr 2026 09:32:06 +0000 (02:32 -0700)] 
leds-gca230718: fix compilation

A & was missing.

Fixes 669a737 ("treewide: use _scoped for loop")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22984
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2 months agopackage: binutils: deduplicate ld 21997/head
Konstantin Demin [Fri, 17 Apr 2026 20:47:11 +0000 (23:47 +0300)] 
package: binutils: deduplicate ld

ld.bfd is the default/only implementation for now but things may change in future.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21997
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agobinutils: update to 2.46.0
Konstantin Demin [Fri, 17 Apr 2026 20:47:11 +0000 (23:47 +0300)] 
binutils: update to 2.46.0

Release Notes:
- https://sourceware.org/pipermail/binutils/2026-February/148149.html

OpenWrt changes:
- rearrange configure options and variables
- provide variables for both configure and build stages (binutils has more than one ./configure script in source tree)

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21997
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agotoolchain: binutils: add version 2.46
Konstantin Demin [Fri, 17 Apr 2026 20:47:11 +0000 (23:47 +0300)] 
toolchain: binutils: add version 2.46

Release Notes:
- https://sourceware.org/pipermail/binutils/2026-February/148149.html

OpenWrt changes:
- adjust patch manually:
  - 500-Change-default-emulation-for-mips64-linux.patch
- rearrange configure options and variables
- provide variables for both configure and build stages (binutils has more than one ./configure script in source tree)

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21997
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agotoolchain: binutils: simplify patch management
Konstantin Demin [Fri, 17 Apr 2026 20:47:11 +0000 (23:47 +0300)] 
toolchain: binutils: simplify patch management

Take in account only first two version components to lookup patch directory.
Hovewer, computed "BASE_VERSION" may be overridden (if necessary).
This change should prevent further issues with binutils being unpatched, see commits adad973a9c34 and 525a1e94b343.

Also drop obsolete "BIN_VERSION" variable (not used anywhere).

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21997
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agotreewide: remove references for obsolete binutils versions
Konstantin Demin [Fri, 17 Apr 2026 20:47:11 +0000 (23:47 +0300)] 
treewide: remove references for obsolete binutils versions

Support for obsolete versions was dropped in upstream commit 72731b445ee3.

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21997
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agotoolchain: binutils: remove old versions
Konstantin Demin [Fri, 17 Apr 2026 20:47:10 +0000 (23:47 +0300)] 
toolchain: binutils: remove old versions

Oldest supported release is 2.44 for upcoming release (25.12).

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21997
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 months agox86: add support for DFI ADN553 22980/head
Nick Hainke [Fri, 17 Apr 2026 21:03:40 +0000 (23:03 +0200)] 
x86: add support for DFI ADN553

The DFI ADN553 is a 3.5" SBC based on Intel Atom Alder Lake-N
processors with three Intel I226V 2.5GbE ports.

Specs:
* CPU: Intel Atom x7425E (4C, 12W) / x7213E (2C, 10W) /
       x7211E (2C, 6W)
* RAM: 1x DDR5 SO-DIMM, up to 16GB
* Storage: 1x M.2 M key 2242/2280 (PCIe Gen3 x1/SATA3),
           1x SATA 3.0
* Ethernet: 3x 2.5GbE RJ-45 (Intel I226V)
* USB: 4x USB 3.2 (rear), 2x USB 2.0 (internal)
* Expansion: 1x M.2 B key 3052 (USB3/USB2, opt. PCIe x1, SIM),
             1x M.2 E key 2230 (USB/PCIe x1, CNVi)
* Display: 1x HDMI, 1x Type-C DP Alt. Mode, 1x LVDS/eDP
* Power: 9-36V DC wide range input
* TPM: dTPM 2.0 (NPCT750AADYX)
* Form factor: 3.5" SBC (146mm x 102mm)

Installation:
1. Write the combined-efi.img to a USB drive:
   dd if=combined-efi.img of=/dev/sdX conv=fdatasync
2. Boot the ADN553 from the USB drive via the UEFI boot menu.
3. For permanent installation, write the image to the M.2 or
   SATA storage device.

The board uses "Default string" as DMI sys_vendor and product_name
placeholders, so board detection is fixed by filtering these out and
falling through to board_vendor (DFI Inc.) and board_name (ADN553).

The three I226V NICs are pinned to their PCIe paths to ensure
consistent interface ordering matching the physical left-to-right
port layout. eth0 is assigned as WAN and eth1/eth2 as LAN.

Link: https://github.com/openwrt/openwrt/pull/22980
Signed-off-by: Nick Hainke <vincent@systemli.org>