]> git.ipfire.org Git - thirdparty/openwrt.git/log
thirdparty/openwrt.git
6 hours agomediatek: don't let devfreq power-off the CPU main master 22894/head
Daniel Golle [Sat, 11 Apr 2026 21:59:07 +0000 (22:59 +0100)] 
mediatek: don't let devfreq power-off the CPU

Fix a long standing bug in the mediatek-cci-devfreq driver which leads
to the driver switching off the CPU power regulator in case of another
resource not being ready in time -- a classic probe-order race condition.

As a work-around it would of course just as well be possible to set the
CPU regulator as 'regulator-always-on' (and not just 'regulator-boot-on'),
but practically all MT7988 devices have copy&pasted the PMIC device tree
hunk which sets only 'regulator-boot-on').

Hence, in order not having to fix all device trees, a proper fix in the
driver is preferred.

Fixes: #683
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
13 hours agorealtek: drop INTERNAL_PHY() macro 22892/head
Markus Stockhausen [Sat, 11 Apr 2026 19:09:56 +0000 (21:09 +0200)] 
realtek: drop INTERNAL_PHY() macro

Since f1f0572d1 ("remove redundant integrated phy attribute") the
phy-is-integrated attribute of an phy in the dts is obsolete.
This was important for the INTERNAL_PHY() macro. Now it is
useless. Convert the macro to its successor PHY_C22().

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22892
Signed-off-by: Robert Marko <robimarko@gmail.com>
13 hours agolantiq: dts: add missing gpio.h header for falcon.dtsi 22915/head
Shiji Yang [Mon, 13 Apr 2026 15:09:30 +0000 (23:09 +0800)] 
lantiq: dts: add missing gpio.h header for falcon.dtsi

Fix build error:

FATAL ERROR: Syntax error parsing input tree
Lexical error: ../dts/falcon.dtsi:175.22-38 Unexpected 'GPIO_ACTIVE_HIGH'
Lexical error: ../dts/falcon.dtsi:176.15-31 Unexpected 'GPIO_ACTIVE_HIGH'

Fixes: c186d17fa518 ("treewide: replace numbers with GPIO_ACTIVE")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22915
Signed-off-by: Robert Marko <robimarko@gmail.com>
20 hours agoqualcommax: constify CPR match data
Robert Marko [Mon, 13 Apr 2026 10:19:59 +0000 (12:19 +0200)] 
qualcommax: constify CPR match data

CPR driver was converted to use of_device_get_match_data and it locally
constified the CPR match data structures but they are also stored per
regulator in their struct, these were not constified and would cause a
compile time error.

So, constify those as well.

Fixes: c1fa85f65931 ("treewide: use of_device_get_match_data")
Signed-off-by: Robert Marko <robimarko@gmail.com>
21 hours agorealtek: XikeStor SKS8300-12E2T2X: fix GPIO assignments 22551/head
Andreas Böhler [Sat, 21 Mar 2026 20:59:03 +0000 (21:59 +0100)] 
realtek: XikeStor SKS8300-12E2T2X: fix GPIO assignments

The initial bringup missed two GPIO-related settings:
  - TX Disable GPIO for the SFP modules
  - LED Sync GPIO selection for the port LEDs

This adds the missing TX Disable GPIOs and muxes GPIO18 to LED sync
(there are HC595 shift registers on the board that require the sync).

Signed-off-by: Andreas Böhler <dev@aboehler.at>
Link: https://github.com/openwrt/openwrt/pull/22551
Signed-off-by: Robert Marko <robimarko@gmail.com>
22 hours agogemini: add 6.18 testing kernel 22875/head
Linus Walleij [Sat, 11 Apr 2026 20:31:29 +0000 (22:31 +0200)] 
gemini: add 6.18 testing kernel

Fix up the 6.18 kernel config and allow for selecting it as a
testing kernel. One single Kconfig option needed adding.

Link: https://github.com/openwrt/openwrt/pull/22875
Signed-off-by: Linus Walleij <linusw@kernel.org>
22 hours agokernel: 6.18: disable some new DRM modules
Linus Walleij [Fri, 10 Apr 2026 12:37:58 +0000 (14:37 +0200)] 
kernel: 6.18: disable some new DRM modules

Some new DRM kernel modules appeared in the 6.18 kernel and
are now prompting for selection when enabling DRM in the kernel.
The Gemini D-Link DIR-685 is always the first to run into this
problem hence let's fix it before someone else tries to enable
DRM.

Link: https://github.com/openwrt/openwrt/pull/22875
Signed-off-by: Linus Walleij <linusw@kernel.org>
22 hours agokernel/gemini: restore files for v6.12
Linus Walleij [Sat, 11 Apr 2026 20:25:06 +0000 (22:25 +0200)] 
kernel/gemini: 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/22875
Signed-off-by: Linus Walleij <linusw@kernel.org>
22 hours agokernel/gemini: create files for v6.18 (from v6.12)
Linus Walleij [Sat, 11 Apr 2026 20:25:06 +0000 (22:25 +0200)] 
kernel/gemini: 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/22875
Signed-off-by: Linus Walleij <linusw@kernel.org>
27 hours agoprocd: update to Git HEAD (2026-03-25)
Paul Spooren [Mon, 13 Apr 2026 02:55:32 +0000 (11:55 +0900)] 
procd: update to Git HEAD (2026-03-25)

cd7a4e5f8b jail: mount /lib/config into netifd jail

Signed-off-by: Paul Spooren <mail@aparcar.org>
30 hours agoramips: add support for I-O DATA WN-AX2033GR2 22762/head
Hiroki Utsunomiya [Fri, 3 Apr 2026 15:36:28 +0000 (00:36 +0900)] 
ramips: add support for I-O DATA WN-AX2033GR2

I-O DATA WN-AX2033GR2 is roughly the same as I-O DATA WN-AX2033GR.
The difference is the Flash Memory (Macronix MX30LF1G18AC).

Specification
=============
- SoC: MediaTek MT7621A
- RAM: DDR3 128 MiB
- Flash Memory: NAND 128 MiB (Macronix MX30LF1G18AC)
- Wi-Fi: MediaTek MT7603E
- Wi-Fi: MediaTek MT7615
- Ethernet: 5x 10 Mbps / 100 Mbps / 1000 Mbps (1x WAN, 4x LAN)
- LED: 2x green LED
- Input: 2x tactile switch, 1x slide switch
- Power: DC 12V

Flash instruction
=================
1. Open the router management page (192.168.0.1).
2. Update router firmware using "initramfs-kernel.bin".
3. After updating, run sysupgrade with "sysupgrade.bin".

Signed-off-by: Hiroki Utsunomiya <hu-git-ja@proton.me>
Link: https://github.com/openwrt/openwrt/pull/22762
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
30 hours agoramips: mt76x8: add support for Keenetic KN-1510 22404/head
Ivan Davydov [Fri, 13 Mar 2026 18:05:40 +0000 (21:05 +0300)] 
ramips: mt76x8: add support for Keenetic KN-1510

Specification:
* CPU: MediaTek MT7628AN (580 MHz)
* Flash: GigaDevice GD25Q128CSIG (16 MiB)
* RAM: Winbond W9751G6KB-25 (64 MiB)

WikiDevi page: <https://wikidevi.wi-cat.ru/Keenetic_City_(KN-1510)>

How to flash:
* Configure TFTP server with IP address 192.168.1.2/24
* Serve OpenWrt factory image as "KN-1510_recovery.bin"
* Connect the PC to router's LAN port, hold the reset button and power
  the router up. When the power LED starts blinking release the
  button.

The same instructions apply to OEM firmware, except one can take it
from osvault.keenetic.net

Signed-off-by: Ivan Davydov <lotigara@lotigara.ru>
Link: https://github.com/openwrt/openwrt/pull/22404
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
30 hours agofilogic: add support for D-Link AQUILA PRO AI E30 22776/head
Roland Reinl [Sun, 21 Apr 2024 17:58:24 +0000 (19:58 +0200)] 
filogic: add support for D-Link AQUILA PRO AI E30

Specification:
The device is similar to the M30 but has only one LAN port and no WAN port.

- MT7981 CPU using 2.4GHz and 5GHz WiFi (both AX)
- 512MB RAM
- 128MB NAND flash with two UBI partitions with identical size
- 1 multi color LED (red, green, blue, white) connected via GCA230718
- 2 buttons (WPS, reset, LED)
- 1 1Gbit LAN port

Disassembly:
- There are two screws at the power connector which must be removed. Afterwards the top case can be removed (it is clipped on, so some tools are required).

Serial Interface:
- The serial interface can be connected to the 4 pin holes on the board. Do NOT connect VCC.
- The pins are labelled on the PCB (RX, TX, GND)
- Settings: 115200, 8N1

MAC addresses:
- LAN MAC is stored in partition "Odm" at offset 0x8f
- WLAN MAC (2.4 GHz and 5GHz) is LAN MAC + 1

Reverting back to OEM firmware:
- There is currently no easy way to revert back to the OEM image
- The methods from M30 and M60 doesn't seem to work anymore
- If you plan to revert back to OEM firmware later, do the following steps before flashing OpenWrt:
  - Boot from initramfs as described in "Flashing via U-Boot" but don't flash anything
  - Instead, make a backup of UBI and UBI1 partition
  - The created dumps must be written to the initial partitions to revert back to OEM

Flashing via Recovery Web Interface:
- Set your IP address to 192.168.200.10, subnetmask 255.255.255.0
- Press the reset button while powering on the device
- Keep the reset button pressed until the LED blinks red
- Open a Chromium based and goto http://192.168.200.50/ (recovery web interface)
- Download openwrt-mediatek-filogic-dlink_aquila-pro-ai-e30-a1-squashfs-recovery.bin
- Note: The recovery web interface always reports successful flashing, even if it fails
- After flashing, the recovery web interface will try to forward the browser to 192.168.0.1 (can be ignored)
- If flashing was successful, OpenWrt is accessible via 192.168.1.1
- The recovery image boots an initramfs image, flash the sys upgrade image to get to „normal“ OpenWrt mode

Flashing via U-Boot:
- Open the case, connect to the UART console
- Set your IP address to 192.168.200.2, subnet mask 255.255.255.0. Connect to one of the LAN interfaces of the router
- Run a tftp server which provides openwrt-mediatek-filogic-dlink_aquila-pro-ai-e30-a1-initramfs-kernel.bin
- Supply the board with 12V
- Select "7. Load image" in the U-Boot menu
- Enter image file, tftp server IP and device IP (if they differ from the default).
- TFTP download to RAM will start. After a few seconds OpenWrt initramfs should start
- The initramfs is accessible via 192.168.1.1, change your IP address accordingly (or use multiple IP addresses on your interface)
- Perform a sysupgrade using openwrt-mediatek-filogic-dlink_aquila-pro-ai-e30-a1-squashfs-sysupgrade.bin
- Reboot the device. OpenWrt should start from flash now

Flashing via OEM web interface is not possible, as it will change the active partition and OpenWrt is only running on the first UBI partition.

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22776
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
30 hours agontfs: new package 22861/head
Qingfang Deng [Thu, 9 Apr 2026 01:26:33 +0000 (09:26 +0800)] 
ntfs: new package

Backport the latest NTFS driver. The in-tree NTFS3 driver is obsolete.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22861
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
31 hours agobase-files: sysupgrade: -u option was broken with apk 17847/head
Luiz Angelo Daros de Luca [Mon, 3 Feb 2025 23:01:11 +0000 (20:01 -0300)] 
base-files: sysupgrade: -u option was broken with apk

The check of files from packages was only checking opkg files.
Check for apk as well and fail if both are missing.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17847
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
31 hours agobase-files: sysupgrade: update backup exclusion list
Luiz Angelo Daros de Luca [Mon, 3 Feb 2025 22:58:14 +0000 (19:58 -0300)] 
base-files: sysupgrade: update backup exclusion list

The list of files excluded from backup was outdated.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17847
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
31 hours agobase-files: sysupgrade: fix -f with space in bkp path
Luiz Angelo Daros de Luca [Mon, 4 Jan 2021 01:40:04 +0000 (22:40 -0300)] 
base-files: sysupgrade: fix -f with space in bkp path

Spaces in the backup.tgz filename was breaking sysupgrade.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17847
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
31 hours agoath79: define wifi for pci168c,0027 22719/head
Rosen Penev [Tue, 31 Mar 2026 03:20:13 +0000 (20:20 -0700)] 
ath79: define wifi for pci168c,0027

Document pci168c,0027 for ath79. Will allow potential nvmem updates in
the future.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22719
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
32 hours agomodules: generate plain module names via version filters 22798/head
Mieczyslaw Nalewaj [Mon, 6 Apr 2026 07:57:47 +0000 (09:57 +0200)] 
modules: generate plain module names via version filters

Replace conditional "LINUX_6_12:mod" / "!LINUX_6_12:mod" AUTOLOAD entries
with version-filtered module names using @lt6.18 / @ge6.18. This makes
version_filter emit plain module names into /etc/modules.d(e.g. "crc32c_generic"),
allowing kmodloader to find and load the correct module for the running kernel.
Fixes crc32c (and related crypto modules) not being autoloaded on 6.12 kernels.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22798
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
36 hours agoramips: add support for EDUP EP-RT2983 22197/head
Ryan Leung [Fri, 27 Feb 2026 11:21:10 +0000 (11:21 +0000)] 
ramips: add support for EDUP EP-RT2983

EDUP EP-RT2983 comes with a factory installed version of OpenWrt 23.05
with device name "netis,n6".

Specification
--------------
- SoC       : MediaTek MT7621AT, MIPS, 880 MHz
- RAM       : 256 MiB
- Flash     : NAND 128 MiB (Toshiba)
- WLAN      : MT7905DAN + MT7975DN
  - 2.4 GHz : b/g/n/ax, 574 Mbps, MIMO 2x2
  - 5 GHz   : a/n/ac/ax, 1201 Mbps, MIMO 2x2
- Ethernet  : 10/100/1000 Mbps x4 (1x WAN, 3x LAN)
- UART      : 3.3V, 115200n8
- Buttons   : 1x Reset
              1x WPS
- LEDs      : 1x Power (green)
              1x WiFi (green)
              1x Mesh/WPS (green); flashing green during boot
              3x LAN (green)
              1x WAN (green); flashing red during upgrade and failsafe
- Power     : 12 VDC 1A

Installation
-------------
1. Log in to LuCI
2. Go to System, Backup / Flash Firmware
3. If desired, backup the current system by saving (all) the mtdblock
contents.
4. Flash new firmware image, select Flash image.
5. Browse and select the sysupgrade file
"openwrt-*-ramips-mt7621-edup_ep-rt2983-squashfs-sysupgrade.bin"
and then Upload.
6. Unselect "Keep settings and retain the current configuration"
Note: All settings will be reset to default. WiFi is not enabled by
default so a connection via Ethernet is necessary to log in and set up.
7. Allow "Force upgrade" (tick the box if there is one), or press Continue
if there is no box to tick. This is because the name is now
"edup,ep-rt2983" as it should have been from the start.
8. Proceed to flash. Wait for reboot and keep power connected.
9. After reboot, default address to access LuCI is 192.168.1.1 with
no password

Recovery (UART)
----------------
1. Remove the 4 screws on the bottom and pry open the cover.
2. Connect serial adapter to the unpopulated serial header pins
TX, RX, GND near the WPS button. Do not connect VCC.
3. Start serial terminal (e.g. minicom, screen, etc) on the computer and
turn on the router.
4. As prompted, hit any key to stop autoboot.
5. Enter 2 to select "2. Upgrade firmware"
6. Enter 0 to select "0 - TFTP client (Default)"
7. Accept the defaults by pressing Enter for
"Input U-Boot's IP address: 192.168.1.1",
"TFTP server's IP address: 192.168.1.2",
"Input IP netmask: 255.255.255.0"
8. Assign your PC's Ethernet port a static IP 192.168.1.2 with netmask
255.255.255.0 and connect to a LAN port on the router using the
Ethernet cable. Disconnect all other network connections (e.g. WiFi) on
the computer.
9. Serve the factory image
"openwrt-*-ramips-mt7621-edup_ep-rt2983-squashfs-factory.bin" using
a TFTP server, e.g. tftpd64. For convenience, the filename can be renamed
to something shorter.
10. In the serial terminal, when prompted "Input file name:", enter the
filename from the previous step and press Enter.
11. The factory image will be flashed as indicated. Wait for reboot.

MAC addresses prototype
------------------------
+---------+---------------------+
|         | MAC example         |
+---------+---------------------+
| LAN     | CC:D8:1F:47:xx:yy   |
| WAN     | CC:D8:1F:47:xx:yy+1 |
| WLAN 2G | CC:D8:1F:17:xx:yy+2 |
| WLAN 5G | CC:D8:1F:77:xx:yy+2 |
+---------+---------------------+

Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/22197
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
37 hours agowifi-scripts: add EHT rates to set_fixed_freq 22644/head
Richard Huynh [Sat, 28 Mar 2026 09:10:33 +0000 (20:10 +1100)] 
wifi-scripts: add EHT rates to set_fixed_freq

Without this, max_oper_chwidth is set incorrectly,
thus ibss_mesh_select_80_160mhz fails to set the correct channel width

Signed-off-by: Richard Huynh <voxlympha@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22644
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
38 hours agorealtek: mdio: replace WARN_ONCE() with dev_warn_once() 22866/head
Markus Stockhausen [Thu, 9 Apr 2026 16:24:38 +0000 (18:24 +0200)] 
realtek: mdio: replace WARN_ONCE() with dev_warn_once()

Add the affected mdio device to the warning output.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22866
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
38 hours agorealtek: mdio: align defines with upstream
Markus Stockhausen [Thu, 9 Apr 2026 16:24:38 +0000 (18:24 +0200)] 
realtek: mdio: align defines with upstream

Align the max defines to upstream. For this

- rename PHY to PORT (that is what it is really about=
- use plural name (e.g. BUSSES instead of BUS)

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22866
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
38 hours agorealtek: mdio: align smi_bus variable
Markus Stockhausen [Thu, 9 Apr 2026 16:24:38 +0000 (18:24 +0200)] 
realtek: mdio: align smi_bus variable

Whenever a variable is needed to denote a smi_bus it is named
accordingly. Fix the last wrong definition.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22866
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
38 hours agorealtek: dts: fix TP-Link SG2452P mdio bus
Markus Stockhausen [Thu, 9 Apr 2026 16:24:38 +0000 (18:24 +0200)] 
realtek: dts: fix TP-Link SG2452P mdio bus

For some unknown reason carving out the mdio bus from the ethernet
node forgot the TP-Link SG2452P. The notation still reads

&ethernet0 {
  mdio: mdio-bus {
    compatible = "realtek,rtl838x-mdio";
    ...

Like everywhere else it should be

&mdio_bus0 {
  PHY_C22(0, 0)
  ...

Fix that.

Fixes: 57b270684 ("rearrange mdio-bus below mdio-controller")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22866
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
38 hours agofirmware-utils: update to Git HEAD (2026-04-09) 22827/head
Jonas Jelonek [Thu, 9 Apr 2026 22:18:16 +0000 (22:18 +0000)] 
firmware-utils: update to Git HEAD (2026-04-09)

7350dc7766f6 tplink-safeloader: add support for Festa F61
f3b02a2f2e39 mkzynfw: add board definitions for Zyxel XS1930 switches

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22827
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
38 hours agorealtek: dts: repurpose SFP port macro
Jonas Jelonek [Tue, 7 Apr 2026 21:06:19 +0000 (21:06 +0000)] 
realtek: dts: repurpose SFP port macro

Repurpose a currently unused macro to make it usable for common SFP port
definitions. Do so by changing defined properties, drop the fixed link,
etc.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22827
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
38 hours agorealtek: fix pinmux comment in rtl931x.dtsi
Jonas Jelonek [Thu, 1 Jan 2026 22:36:17 +0000 (22:36 +0000)] 
realtek: fix pinmux comment in rtl931x.dtsi

The pinmux entry for disabling JTAG includes a comment which points to
which GPIOs are sacrificed for using JTAG. However, this comment so far
was only aware of GPIO6 and GPIO7. From RTL931X application notes and
datasheets we know which GPIOs are actually affected here.

Extend the comment to include GPIOs 3-5 too.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22827
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
38 hours agorealtek: image: add rt-loader-bootbase recipe
Jonas Jelonek [Wed, 31 Dec 2025 12:25:02 +0000 (12:25 +0000)] 
realtek: image: add rt-loader-bootbase recipe

Add a recipe 'rt-loader-bootbase' to build an image with rt-loader for
devices using the Zyxel BootBase/BootExtension chain. They need a plain
bootable image for initramfs (preferably rt-loader with piggy-backed
uImage) and a plain uImage for flashing. The flashable uImage is later
combined with the loader into a signed/checksummed image.

This template recipe can be used directly for GS1920-24HP, making the
initramfs image more flexible due to using uImage instead of plain
image.

Suggested-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22827
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
38 hours agotreewide: use of_device_get_match_data 21599/head
Rosen Penev [Mon, 19 Jan 2026 04:15:04 +0000 (20:15 -0800)] 
treewide: use of_device_get_match_data

Simplifies code slightly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21599
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
39 hours agogithub: update claude code action 22897/head
Hauke Mehrtens [Sat, 11 Apr 2026 16:44:23 +0000 (18:44 +0200)] 
github: update claude code action

This is based on version 1.0.93 plus these commits:
0ca689a fix: fetch base branch to ensure correct PR-only diffs
b7d533d fix: handle fork PRs by fetching via pull/N/head

Link: https://github.com/openwrt/openwrt/pull/22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
39 hours agogithub: disable fix links in Claude code review
Hauke Mehrtens [Sat, 11 Apr 2026 16:06:25 +0000 (18:06 +0200)] 
github: disable fix links in Claude code review

Fix links open the Claude Code desktop app which is not useful in the
OpenWrt contributor workflow.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: https://github.com/openwrt/openwrt/pull/22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
39 hours agogithub: enable progress tracking and tag mode for Claude code review
Hauke Mehrtens [Sat, 11 Apr 2026 17:38:49 +0000 (19:38 +0200)] 
github: enable progress tracking and tag mode for Claude code review

track_progress: true makes Claude post an initial comment immediately
when triggered and update it with a checklist as it works, so reviewers
can see what Claude is doing rather than waiting for a silent delay.
It also forces tag mode on PR/issue comment events, which is the
correct mode for interactive code review.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: https://github.com/openwrt/openwrt/pull/22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
39 hours agogithub: guide Claude to use inline comments and be concise
Hauke Mehrtens [Sat, 11 Apr 2026 16:07:01 +0000 (18:07 +0200)] 
github: guide Claude to use inline comments and be concise

Instruct Claude to prefer inline comments for file/line-specific
findings and keep all feedback short and to the point.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: https://github.com/openwrt/openwrt/pull/22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
39 hours agogithub: allow grep in claude code review
Hauke Mehrtens [Sat, 11 Apr 2026 22:04:33 +0000 (00:04 +0200)] 
github: allow grep in claude code review

Allow Bash(grep:*) so Claude can search the codebase for context
during PR reviews. Without this, grep calls using shell glob patterns
were denied even though plain directory greps were allowed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: https://github.com/openwrt/openwrt/pull/22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
39 hours agogithub: prevent Claude from making commits during PR review
Hauke Mehrtens [Sat, 11 Apr 2026 16:06:40 +0000 (18:06 +0200)] 
github: prevent Claude from making commits during PR review

The workflow already uses contents: read which prevents GitHub from
accepting any push. The --disallowedTools setting adds a second layer
by stopping Claude from even attempting git write operations.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: https://github.com/openwrt/openwrt/pull/22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
39 hours agogithub: enable inline PR comments for Claude code review
Hauke Mehrtens [Sat, 11 Apr 2026 15:52:16 +0000 (17:52 +0200)] 
github: enable inline PR comments for Claude code review

Allow Claude to post inline comments on specific lines when reviewing
PRs via the /claude trigger phrase.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Link: https://github.com/openwrt/openwrt/pull/22897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
39 hours agoscripts/ext-tools.sh: set all prebuilt tool files to same timestamp 22888/head
Hauke Mehrtens [Sat, 11 Apr 2026 12:19:25 +0000 (14:19 +0200)] 
scripts/ext-tools.sh: set all prebuilt tool files to same timestamp

The GitHub CI was sometimes still building some tools again even when
the same version was already pre-built. This change fixes the problem
and should improve the speed of the GitHub CI actions. The duration of
the "Build tools" step will be reduced from 5 to 20 minutes down to
10 to 15 seconds.

make also checks that dependencies are not more recent than the target
it wants to build. Previously find returned files in an arbitrary order
and touch set the current timestamp. Since touch is called per file the
timestamps differ in fractional seconds, so not all files got the same
time. make detected a more recent dependency and started to rebuild.
Now all files are set to the same timestamp and make will assume
everything is up to date.

It is sufficient to only touch the stamp files to prevent rebuilding.

Link: https://github.com/openwrt/openwrt/pull/22888
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
46 hours agotools/mkimage: use full defconfig name 22844/head
Shiji Yang [Fri, 10 Apr 2026 11:02:03 +0000 (19:02 +0800)] 
tools/mkimage: use full defconfig name

The defconfig file used to build tools is "tools-only_defconfig".
Though u-boot scripts can still automatically handle the old style
name for compatibility reason, it's better to use the correct name.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22844
Signed-off-by: Nick Hainke <vincent@systemli.org>
46 hours agotools/mkimage: disable more unnecessary tools
Shiji Yang [Fri, 10 Apr 2026 11:02:03 +0000 (19:02 +0800)] 
tools/mkimage: disable more unnecessary tools

It doesn't make sence to build unused tools.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22844
Signed-off-by: Nick Hainke <vincent@systemli.org>
46 hours agotools/mkimage: update to v2026.04
Shiji Yang [Fri, 10 Apr 2026 11:02:03 +0000 (19:02 +0800)] 
tools/mkimage: update to v2026.04

Update to the latest version and add missing 030 patch header.

Changelog:
22aa122eee0 mkimage: Add support for bundling TEE in mkimage -f auto

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22844
Signed-off-by: Nick Hainke <vincent@systemli.org>
46 hours agouboot-tools: disable symbols via u-boot native scripts 22845/head
Shiji Yang [Fri, 10 Apr 2026 11:03:30 +0000 (19:03 +0800)] 
uboot-tools: disable symbols via u-boot native scripts

This is a safer way to operate the .config file.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22845
Signed-off-by: Nick Hainke <vincent@systemli.org>
46 hours agouboot-tools: update to v2026.04
Shiji Yang [Fri, 10 Apr 2026 11:03:30 +0000 (19:03 +0800)] 
uboot-tools: update to v2026.04

Update to the latest stable version. Also add PKG_CONFIG_SYSROOT_DIR
make flag to fix dtc tools build without yaml[1-2].

Patches manually refreshed:
* 003-tools-dumpimage-fix-tools-compile.patch

[1] https://github.com/u-boot/u-boot/commit/0535e46d55d7423094d8b553d704a0f7f678de77
[2] https://github.com/u-boot/u-boot/commit/807bcd844afeadbfe47ac132524cc7e3b699bc46
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22845
Signed-off-by: Nick Hainke <vincent@systemli.org>
46 hours agolinux-firmware: update to 20260410 22883/head
John Audia [Fri, 10 Apr 2026 19:28:01 +0000 (15:28 -0400)] 
linux-firmware: update to 20260410

% git log --no-merges --pretty=oneline --abbrev-commit 20260309...20260410
d3a8c256bf3b amdgpu: Revert Yellow Carp DMUB fw to 0x4000045
3b0b51d12d4e linux-firmware: qcom: sync audioreach firmwares from v1.0.3 build
b8df98acdc99 qcom: consolidate audioreach-tplg firmwares into one location in WHENCE
4cc3cf379e31 WHENCE: Fix ISH firmware symlink prefix for Lenovo PTL systems
6ca086313157 intel_vpu: Update NPU firmware
98c7d41b4cd9 Revert "rtl_bt: Update RTL8822C BT USB and UART firmware to 0x0673"
b7562faee6a4 nvidia: add acr/bl symlink for booting GSP-RM on GA100
461b77109fec qcom: add QUPv3 firmware for shikra
c87f3b91047e xe: Update GUC to v70.60.0 for LNL, BMG, PTL
11c04932225d qcom: update ADSP firmware for sm8750 platform
7590efdfb65f qcom: update CDSP firmware for glymur platform
b9e055ef6eed cirrus: cs35l41: Add support for new HP laptops
c1f5e540c545 cirrus: cs35l41: Add support for new ASUS laptops
dc147588ce1d cirrus: cs35l41: Add support for ASUS GZ302EAC and add 15.5dB bincfg
0bdf116777fb WHENCE: Move Dell remoteproc firmware to correct section
3c4cf8321887 qcom: vpu: add video firmware for SM8450
cc2cb17f5ed9 cirrus: cs35l56: Add firmware for Cirrus Amps for some ASUS laptops
1d57ec2fdc3f cirrus: cs35l56: Add firmware for Cirrus Amps for some Lenovo laptops
f56580c068ec iwlwifi: add Bz/Sc FW for core103-40 release
8b1582ab9739 iwlwifi: Add Hr/Gf firmware for core103-40 release
dafb7e8506a7 iwlwifi: update ty/So/Ma firmwares for core103-40 release
eb2d3ddcbaf4 amdgpu: DMCUB updates for various ASICs
a4c4b1863262 xe: Update PTL GSC to v105.0.2.1397
28455e71d17f linux-firmware: add firmware for Moxa mux50u devices
4ca3317e935e rtl_bt: Update RTL8852B BT USB FW to 0x127C_FD78
b56c03b62139 ath11k: WCN6855 hw2.0@nfa765: update to WLAN.HSP.1.1-04866.5-QCAHSPSWPL_V1_V2_SILICONZ_IOE-1
4c5450b2683a ath11k: QCA6698AQ hw2.1: update to WLAN.HSP.1.1-04866.5-QCAHSPSWPL_V1_V2_SILICONZ_IOE-1
f463012bf671 linux-firmware: update firmware for qat_4xxx devices
3dba1ce1e347 linux-firmware: update firmware for qat_402xx devices
dc04275f5679 linux-firmware: update firmware for qat_420xx devices
7bac18568c39 linux-firmware: update firmware for an8811hb 2.5G ethernet phy
827c67ef8287 linux-firmware: qcom: Add FW blobs for DELL XPS13 9345
ffccda596131 amdgpu: DMCUB updates for various ASICs
7bea13fc9a53 cirrus: cs35l63: Update firmware for Cirrus Amps for some Dell laptops
2d3de9fe2fb8 cirrus: cs35l63: Fix Cirrus Amp firmware links for some Dell laptops
d5a533e96ed1 linux-firmware: Add firmware file for Intel BlazarIW
457378a39e59 linux-firmware: Add firmware file for Intel BlazarIGfp2 core
b21b48725314 iwlwifi: add Bz/Wh FW for core102-56 release
6fb332659360 ath12k: WCN7850 hw2.0: update to WLAN.HMT.1.1.c7-00108-QCAHMTSWPL_V1.0_V2.0_SILICONZ_UPSTREAM-3
78029d11e29a mediatek MT7921: update bluetooth firmware to 20260224111243
546a25acc8e8 mediatek MT7920: update bluetooth firmware to 20260224111231
87a7d3c72b19 Add LENOVO ISH firmware v5.8.1.7720 for X1 Carbon (Gen 14) and X1 2-in-1 (Gen 11)
f71ae94fbda2 linux-firmware: Add ISH firmware file for Intel Wildcat Lake platform
87414f9ba8f8 linux-firmware: update firmware for MT7920 WiFi device
ced02591a802 linux-firmware: update firmware for MT7921 WiFi device
81608d9216ce linux-firmware: Update firmware file for Intel Quasar core
be85c6639a91 Intel Bluetooth: Update firmware file for Intel Bluetooth AX201
c3bc50dc241d linux-firmware: Add firmware file for Intel ScorpiusGfp2 core
4590121e2ecc linux-firmware: Update firmware file for Intel Scorpius core
179d9acb2171 linux-firmware: Update firmware file for Intel BlazarIGfP core
ed10eae8facb linux-firmware: Update firmware file for Intel BlazarI core
cca6520d6620 linux-firmware: Update firmware file for Intel BlazarU-HrPGfP core
3315fba7271d linux-firmware: Update firmware file for Intel BlazarU core
dab39c0fbe7a intel_vpu: Update NPU firmware
237bfc162a3a amdgpu: DMCUB updates for various ASICs
a8316dd1ccbc qcom: add QUPv3 firmware for QCS615 platform
934a7b3e16b8 Add LENOVO ISH firmware v5.8.0.7720 for X9-15 2025

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/22883
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agoath79: mikrotik: fix 6.18 kernel GPIO driver build errors 22771/head
Shiji Yang [Sat, 4 Apr 2026 10:30:15 +0000 (18:30 +0800)] 
ath79: mikrotik: fix 6.18 kernel GPIO driver build errors

gpio_chip .set() callback return type has been changed since linux
6.17 kernel[1-2]. Fix:

drivers/gpio/gpio-latch-mikrotik.c: In function 'gpio_latch_probe':
drivers/gpio/gpio-latch-mikrotik.c:152:17: error: assignment to 'int (*)(struct gpio_chip *, unsigned int,  int)' from incompatible pointer type 'void (*)(struct gpio_chip *, unsigned int,  int)' [-Wincompatible-pointer-types]
  152 |         gc->set = gpio_latch_set;
      |                 ^

drivers/gpio/gpio-rb4xx.c: In function 'rb4xx_gpio_probe':
drivers/gpio/gpio-rb4xx.c:133:41: error: assignment to 'int (*)(struct gpio_chip *, unsigned int,  int)' from incompatible pointer type 'void (*)(struct gpio_chip *, unsigned int,  int)' [-Wincompatible-pointer-types]
  133 |         gpio->chip.set                  = rb4xx_gpio_set;
      |                                         ^

drivers/gpio/gpio-rb91x-key.c: In function 'gpio_rb91x_key_probe':
drivers/gpio/gpio-rb91x-key.c:165:17: error: assignment to 'int (*)(struct gpio_chip *, unsigned int,  int)' from incompatible pointer type 'void (*)(struct gpio_chip *, unsigned int,  int)' [-Wincompatible-pointer-types]
  165 |         gc->set = gpio_rb91x_key_set;
      |                 ^

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=397a46c9aa3343e8efe6847bdaa124945bab1de4
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=d9d87d90cc0b10cd56ae353f50b11417e7d21712
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22771
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agoath79: fix 6.18 kernel leds-reset driver build error
Shiji Yang [Sat, 4 Apr 2026 09:50:55 +0000 (17:50 +0800)] 
ath79: fix 6.18 kernel leds-reset driver build error

Replace reset boolean parameters with flags parameter[1].

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=dad35f7d2fc14e446669d4cab100597a6798eae5
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22771
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agoath79: enable 6.18 testing kernel
Shiji Yang [Fri, 3 Apr 2026 14:40:29 +0000 (22:40 +0800)] 
ath79: enable 6.18 testing kernel

The 6.18 testing kernel for ath79 target is ready now.

Tested on ath79/nand:Netgear R6100

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22771
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agoath79: adapt to the 6.18 kernel to fix build errors
Shiji Yang [Fri, 3 Apr 2026 15:30:29 +0000 (23:30 +0800)] 
ath79: adapt to the 6.18 kernel to fix build errors

s/irq_linear_revmap/irq_find_mapping/ [1]
s/del_timer_sync/timer_delete_sync/ [2]
s/from_timer/timer_container_of/ [3]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=14ebb11ba895c9223d9a453a17df2fd81410c96c
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=87bdd932e85881895d4720255b40ac28749c4e32
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=41cb08555c4164996d67c78b3bf1c658075b75f1
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22771
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agoath79: refresh 6.18 kernel config files
Shiji Yang [Fri, 3 Apr 2026 14:40:13 +0000 (22:40 +0800)] 
ath79: 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/22771
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agoath79: refresh 6.18 kernel patches
Shiji Yang [Fri, 3 Apr 2026 14:38:49 +0000 (22:38 +0800)] 
ath79: refresh 6.18 kernel patches

Remove upstreamed:
001-irqchip-ath79-misc-fix-missing-prototypes-warnings.patch [1]

Manually rebased:
341-wifi-ath9k-obtain-system-gpios.patch
820-mfd-syscon-support-skip-reset-control-for-syscon-devices.patch
900-unaligned_access_hacks.patch

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=3085ef9d9e7ab5ae4cddbe809e2e3b8dc11cdc75

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22771
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agoath79: restore kernel 6.12 config files and patches
Shiji Yang [Fri, 3 Apr 2026 11:57:16 +0000 (19:57 +0800)] 
ath79: 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/22771
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agoath79: rename patchset and kernel configs to 6.18
Shiji Yang [Fri, 3 Apr 2026 11:56:31 +0000 (19:56 +0800)] 
ath79: 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/22771
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agorealtek: drop support for 6.12 22869/head
Jonas Jelonek [Mon, 30 Mar 2026 11:34:54 +0000 (11:34 +0000)] 
realtek: drop support for 6.12

Drop support for 6.12 by removing files, patches and kernel configs
since 6.18 is the default now.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22869
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agorealtek: switch to 6.18
Jonas Jelonek [Mon, 30 Mar 2026 11:36:20 +0000 (11:36 +0000)] 
realtek: switch to 6.18

Make 6.18 the default kernel version now after the testing phase showed
no big issues.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22869
Signed-off-by: Nick Hainke <vincent@systemli.org>
2 days agorealtek: gs1900: use lzma for sysupgrade 22714/head
Klaus Rubenstein [Thu, 2 Apr 2026 20:20:16 +0000 (22:20 +0200)] 
realtek: gs1900: use lzma for sysupgrade

Add $(Device/uimage-rt-loader) to Device/zyxel_gs1900 to use lzma
compression for the sysupgrade kernel image. This saves approximately
1 MB of flash space compared to the previous gzip compression, leaving
more room for the rootfs overlay.

Signed-off-by: Klaus Rubenstein <klaus.rubenstein@gmail.com>
Tested-by: Sander Vanheule <sander@svanheule.net> # GS1900-{8,48} A1
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 days agorealtek: gs1900-48: add RTL8231 resets
Klaus Rubenstein [Wed, 1 Apr 2026 07:57:18 +0000 (09:57 +0200)] 
realtek: gs1900-48: add RTL8231 resets

Add reset-gpios for both RTL8231 expanders and hog the PHY reset
line on expander@3.

Signed-off-by: Klaus Rubenstein <klaus.rubenstein@gmail.com>
Tested-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 days agorealtek: add Zyxel GS1900-48HP A1 support
Klaus Rubenstein [Wed, 1 Apr 2026 07:01:42 +0000 (09:01 +0200)] 
realtek: add Zyxel GS1900-48HP A1 support

Add support for the Zyxel GS1900-48HP A1 managed PoE switch based on
RTL8393 SoC with 48 copper ports (6x RTL8218B), 2 SFP slots and PoE
(170W budget). Includes DTS, image definition, network config and
u-boot-env support.

The device has 48 copper ports but only ports 1-24 are powered by
the PoE PSE controller.

PoE support requires the realtek-poe package from the packages feed
with an additional configuration for PSE ID 7 to address the MCU on
this device.

Signed-off-by: Klaus Rubenstein <klaus.rubenstein@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 days agorealtek: extract shared GS1900-48 dtsi
Klaus Rubenstein [Wed, 1 Apr 2026 06:59:53 +0000 (08:59 +0200)] 
realtek: extract shared GS1900-48 dtsi

Move the shared hardware description from rtl8393_zyxel_gs1900-48-a1.dts
into a common rtl8393_zyxel_gs1900-48.dtsi include file. This allows
other GS1900-48 variants to reuse the shared definitions.

Signed-off-by: Klaus Rubenstein <klaus.rubenstein@gmail.com>
Tested-by: Sander Vanheule <sander@svanheule.net>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2 days agomalta: restore CONFIG_PAGE_BLOCK_MAX_ORDER=10 for 6.18 22843/head
Mieczyslaw Nalewaj [Wed, 8 Apr 2026 10:08:34 +0000 (12:08 +0200)] 
malta: restore CONFIG_PAGE_BLOCK_MAX_ORDER=10 for 6.18

Restore CONFIG_PAGE_BLOCK_MAX_ORDER=10 in malta 6.18 config fragments
to fix build failures where PAGE_BLOCK_MAX_ORDER was undefined.

Support for Linux 6.18 on malta was added after this OpenWrt change:
https://github.com/openwrt/openwrt/commit/ac0cb87a453698efc6c812e4f27cadbeb208f14e.
Before that integration, the kernel option CONFIG_PAGE_BLOCK_MAX_ORDER=10
was provided in target/linux/generic/config-6.18 and applied broadly.
After the malta 6.18 integration the generic fragment no longer supplied
this option for malta targets, which caused some backported code paths
and drivers to assume PAGE_BLOCK_MAX_ORDER was defined and led
to compilation failures.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22843
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agoarm-trusted-firmware-mvebu: bump to 2.14 22863/head
Andre Heider [Fri, 3 Apr 2026 07:36:22 +0000 (09:36 +0200)] 
arm-trusted-firmware-mvebu: bump to 2.14

Bump the bundled software pieces to their current version too.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22863
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agolantiq: move device tree files to target dts directory 22876/head
Shiji Yang [Fri, 10 Apr 2026 13:08:24 +0000 (21:08 +0800)] 
lantiq: move device tree files to target dts directory

In this target, we only use downstream dts files. And it doesn't
seem like there will be significant changes upstream. Move dts files
to the target dts folder to avoid copying them over and over again
during annual kernel upgrades.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22876
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agoopenssl: update to 3.5.6 22847/head
Jack Sun [Wed, 8 Apr 2026 13:15:24 +0000 (21:15 +0800)] 
openssl: update to 3.5.6

This release incorporates the following bug fixes and mitigations:

Fixed incorrect failure handling in RSA KEM RSASVE encapsulation.
(CVE-2026-31790)

Fixed loss of key agreement group tuple structure when the DEFAULT keyword
is used in the server-side configuration of the key-agreement group list.
(CVE-2026-2673)

Fixed potential use-after-free in DANE client code.
(CVE-2026-28387)

Fixed NULL pointer dereference when processing a delta CRL.
(CVE-2026-28388)

Fixed possible NULL dereference when processing CMS KeyAgreeRecipientInfo.
(CVE-2026-28389)

Fixed possible NULL dereference when processing CMS
KeyTransportRecipientInfo.
(CVE-2026-28390)

Fixed heap buffer overflow in hexadecimal conversion.
(CVE-2026-31789)

No need refresh patches

Signed-off-by: Jack Sun <sunjiazheng321521@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22847
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agorealtek: Fix pair-order for rtl930x based plasmacloud devices 22826/head
Harshal Gohel [Tue, 7 Apr 2026 13:39:27 +0000 (13:39 +0000)] 
realtek: Fix pair-order for rtl930x based plasmacloud devices

This change is needed as we move towards removing rtk init from bootloader
and makes it possible to initialize and configure RTL8224 phy driver

Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/22826
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agoipq40xx: avoid randomized MAC address on boot 22857/head
Rosen Penev [Wed, 8 Apr 2026 21:01:36 +0000 (14:01 -0700)] 
ipq40xx: avoid randomized MAC address on boot

In cases where an nvmem definition is applied to the switch ports,
change to apply to the root gmac so that a randomized MAC address does
not get set.

Also remove the aliases. Since nvmem is used, we don't care about the
bootloader.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22857
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agorealtek: pcs: drop confusing macros 22885/head
Jonas Jelonek [Sat, 11 Apr 2026 08:20:40 +0000 (08:20 +0000)] 
realtek: pcs: drop confusing macros

Drop two confusing macros 'PHY_PAGE_2' and 'PHY_PAGE_4'. Though we
rather want to have meaningful names instead of magic values everywhere,
those two macros do it totally wrong. They still have the old naming
from times where SerDes was treated as a PHY, and they add no real
context to what page they are actually referring. Thus, replace them
with plain values in their two usages each until we have a better
overall solution.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22885
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agorealtek: pcs: cleanup some macros
Jonas Jelonek [Sat, 11 Apr 2026 08:16:31 +0000 (08:16 +0000)] 
realtek: pcs: cleanup some macros

Cleanup some odd macros still existing from older code. Drop the old
RTL931X_ prefix and use RTPCS_931X_ instead, and drop a totally unused
macro.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22885
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agorealtek: pcs: rename init function
Jonas Jelonek [Thu, 5 Mar 2026 20:15:24 +0000 (20:15 +0000)] 
realtek: pcs: rename init function

Give the one-time PCS init hook a shorter and simpler name, using simply
'init' instead of 'init_serdes_common'. Keep it short and sweet.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22885
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agorealtek: pcs: give struct a shorter name
Jonas Jelonek [Thu, 5 Mar 2026 20:09:12 +0000 (20:09 +0000)] 
realtek: pcs: give struct a shorter name

Shorten the name of the SerDes ops struct from 'rtpcs_serdes_ops' to
'rtpcs_sds_ops' to be consistent with other naming throughout the
driver.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22885
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agorealtek: eth: convert rteth_839x_hw_reset() to regmap 22853/head
Markus Stockhausen [Wed, 8 Apr 2026 18:47:39 +0000 (20:47 +0200)] 
realtek: eth: convert rteth_839x_hw_reset() to regmap

Drop another few sw() macros.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22853
Signed-off-by: Robert Marko <robimarko@gmail.com>
2 days agorealtek: eth: convert to regmap/msleep
Markus Stockhausen [Wed, 8 Apr 2026 18:28:08 +0000 (20:28 +0200)] 
realtek: eth: convert to regmap/msleep

Convert some coding

- from sw() macros to regmap and
- from mdelay() to msleep()

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22853
Signed-off-by: Robert Marko <robimarko@gmail.com>
3 days agoethtool: drop rss-input-xfrm compatibility patch 22841/head
Nick Hainke [Wed, 8 Apr 2026 07:59:24 +0000 (09:59 +0200)] 
ethtool: drop rss-input-xfrm compatibility patch

The rss-input-xfrm workaround for Linux 6.6 is no longer needed with
current kernel versions. Remove the patch and the associated
--enable-rss-input-xfrm configure flag.

Link: https://github.com/openwrt/openwrt/pull/22841
Signed-off-by: Nick Hainke <vincent@systemli.org>
3 days agompc85xx: switch to libdeflate-gzip 22873/head
Rosen Penev [Wed, 8 Apr 2026 00:45:52 +0000 (17:45 -0700)] 
mpc85xx: switch to libdeflate-gzip

Slightly smaller compressed size.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22873
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agomediatek: fix patch filename
Daniel Golle [Thu, 9 Apr 2026 22:57:57 +0000 (23:57 +0100)] 
mediatek: fix patch filename

A previous commit wrongly renamed a patch file omitting the final 'h'
character. Rename it to again have the correct '.patch' suffix.

Fixes: c23b9256f0 ("mediatek: replace patches with upstream version")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
4 days agoarm-trusted-firmware-mediatek: update to v2026-01-23 21717/head
Shiji Yang [Mon, 26 Jan 2026 15:10:10 +0000 (23:10 +0800)] 
arm-trusted-firmware-mediatek: update to v2026-01-23

The highlight of this version is that the bl2 size will be reduced
by 60+ KB. The MT7987 SPI interface selection hack was replaced by
upstream implementation with the new symbol SPIM_NAND_PREFER_SPI2.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
4 days agoqualcommax: ipq807x: mx5300: use existing aliases node
Robert Marko [Thu, 9 Apr 2026 11:21:58 +0000 (13:21 +0200)] 
qualcommax: ipq807x: mx5300: use existing aliases node

No need to add another aliases node just for the label-mac-device,
luckily DTC was smart enough to combine them together in the final DTB.

Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agoairoha: an7581: update partition table for EVB DTS
Christian Marangi [Thu, 9 Apr 2026 09:51:48 +0000 (11:51 +0200)] 
airoha: an7581: update partition table for EVB DTS

The Airoha AN7581 EVB board switched to full UBI support. Update the
partition table to reflect the new implementation.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 days agoairoha: an7581: generalize eMMC DTS and add Kite variant
Christian Marangi [Thu, 9 Apr 2026 09:49:26 +0000 (11:49 +0200)] 
airoha: an7581: generalize eMMC DTS and add Kite variant

Generalize the eMMC DTS to common node and add a variant with the Kite WiFi
chip installed. Also rename the eMMC model name and add the Eagle name to
it.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 days agoairoha: an7581: add specific NPU dtsi and update eMMC and W1700K
Christian Marangi [Thu, 9 Apr 2026 09:38:40 +0000 (11:38 +0200)] 
airoha: an7581: add specific NPU dtsi and update eMMC and W1700K

Add specific DTSI for NPU firmware based on the supported WiFi chip and
update the supported device by including the relevant new DTSI.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
4 days agoath79: wndap360: fix sysupgrade 22769/head
Rosen Penev [Mon, 6 Apr 2026 18:57:03 +0000 (11:57 -0700)] 
ath79: wndap360: fix sysupgrade

BLOCKSIZE is wrong here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22769
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agoath79: wndap360: use lzma-loader for kernel
Rosen Penev [Sat, 4 Apr 2026 23:34:16 +0000 (16:34 -0700)] 
ath79: wndap360: use lzma-loader for kernel

The bootloader on this device is old and supports no lzma. So use
lzma-loader to work around this and get the size smaller so that an
image can actuallly be created and flashed. Because of these size
problems, the last usable version of OpenWrt was 23.05.

This UIMAGE_MAGIC seems to be used by other Netgear devices. Add to
avoid

jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at
0x00000000: 0x2705 instead

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22769
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agoath79: wndap360: don't pass bootloader args
Rosen Penev [Sun, 5 Apr 2026 06:06:12 +0000 (23:06 -0700)] 
ath79: wndap360: don't pass bootloader args

Stocks args have

console=ttyS0,9600
rootfstype=squashfs

root=31:03
init=/sbin/init
mtdparts=ar7100-nor0:256k(u-boot),64k(u-boot-env),
1024k(vmlinux.gz.uImage),6208k(rootfs),512k(var),
64k(manufacturing-data),64k(ART)
rootfstype=squashfs,jffs2

which is wrong and interferes with OpenWrt. Keep the non default console
parameter to have console working properly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22769
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agoath79: wndap360: add green LED definition
Rosen Penev [Sat, 4 Apr 2026 00:15:10 +0000 (17:15 -0700)] 
ath79: wndap360: add green LED definition

For running, have it be the green LED as in stock firmware.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22769
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agouboot-env: ath79: add wndap360
Rosen Penev [Sat, 4 Apr 2026 23:33:04 +0000 (16:33 -0700)] 
uboot-env: ath79: add wndap360

This is just a typical setup.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22769
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: convert addr to pn 22830/head
Markus Stockhausen [Tue, 7 Apr 2026 16:22:08 +0000 (18:22 +0200)] 
realtek: mdio: convert addr to pn

Make clear that the driver instructs the hardware via a port and
its number. To be consistent with other refactoring swap variable
addr for pn in this case.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: adapt debug output
Markus Stockhausen [Tue, 7 Apr 2026 16:22:08 +0000 (18:22 +0200)] 
realtek: mdio: adapt debug output

Now that the driver drives multiple busses adapt the debug output
from port based to bus/phy based.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: drop dn attribute
Markus Stockhausen [Tue, 7 Apr 2026 16:22:08 +0000 (18:22 +0200)] 
realtek: mdio: drop dn attribute

The dn attribute was used to register the phys of the mdio bus
individually. With the new multiple busses this is not needed
any longer. Drop it.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: activate multiple busses
Markus Stockhausen [Tue, 7 Apr 2026 16:22:07 +0000 (18:22 +0200)] 
realtek: mdio: activate multiple busses

The mdio controller inside the Realtek switches drives multiple busses.
Until now the driver exposed a flattened single bus (aka port view).
Align to the upstream driver and expose up to 4 busses depending on
the dts definition. For this:

1. Adapt rtmdio_probe() so it calls rtmdio_probe_one() for each child
dts child node that represents a single bus.

2. Adapt rtmdio_probe_one() so it registers a single bus in "full-auto"
mode. No more hacks via fwnode_mdiobus_register_phy() needed.

3. Adapt rtmdio_phy_to_port() so it uses a lookup based on the new
topology.

4. Adapt rtmdio_get_phy_info() for multiple busses.

5. In the DSA driver adapt the mdio controller load check to wait
until all busses have been registered.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: decouple controller setup from bus reset
Markus Stockhausen [Tue, 7 Apr 2026 16:22:07 +0000 (18:22 +0200)] 
realtek: mdio: decouple controller setup from bus reset

Some central controller setup is currently realized in the bus reset
functions. As soon as we have multiple busses this coding will be
called multiple times. Rename the reset() functions to setup_ctrl()
and call that only once before the bus probing.

While we are here harmonize the variable for the bus loops and name
it smi_bus.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: derive polling setup from control structure
Markus Stockhausen [Tue, 7 Apr 2026 16:22:07 +0000 (18:22 +0200)] 
realtek: mdio: derive polling setup from control structure

All configuration helpers have been converted to look at the
control structure. Do the same for setup_polling(). With
this move the call location out of rtmdio_probe_one() into
the parent rtmdio_probe() where it belongs.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: derive phy info from control structure
Markus Stockhausen [Tue, 7 Apr 2026 16:22:07 +0000 (18:22 +0200)] 
realtek: mdio: derive phy info from control structure

For polling setup the driver looks up the atached phy ids with
function rtmdio_get_phy_info(). This derives the data from a
given bus and a port number. While this works for a single bus
the combination of port and bus makes no sense. One is the global
view the other the bus individual view. Change the signature so
the lookup is done globally via ctrl/port.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: provide bidirectional bus lookup
Markus Stockhausen [Tue, 7 Apr 2026 16:22:07 +0000 (18:22 +0200)] 
realtek: mdio: provide bidirectional bus lookup

Add two attributes to the central control and the channel structure.

chan->smi_bus: The index of the selected channel.
ctrl->bus[].mii_bus: Links to all busses

With this ctrl/chan can lookup each others data more easily.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
4 days agorealtek: mdio: rename for_each_phy() to for_each_port()
Markus Stockhausen [Tue, 7 Apr 2026 16:22:07 +0000 (18:22 +0200)] 
realtek: mdio: rename for_each_phy() to for_each_port()

Currently phy and port are basically the same. One bus and each
port has a phy assigned. In the future the driver will make use
of multiple busses. Each of them will have a distinct set of
phys.

To make the iterators clearer use "port" for macros when the
driver must access the hardware independent from the bus. In this
case use "pn" (aka port number) as an iterator variable.

No functional changes.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22830
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: add RTL8224 initialization to Realtek driver 22609/head
Damien Dejean [Thu, 17 Jul 2025 14:52:40 +0000 (16:52 +0200)] 
realtek: add RTL8224 initialization to Realtek driver

Adds an initialization sequence for the RTL8224. It relies a lot on magic
values, however it explicitely initializes the SerDes part of the chip.

Signed-off-by: Damien Dejean <dam.dejean@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22609
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agorealtek: pcs: rtl930x: enable USXGMII-QX configuration
Jonas Jelonek [Wed, 25 Mar 2026 17:16:53 +0000 (18:16 +0100)] 
realtek: pcs: rtl930x: enable USXGMII-QX configuration

The RTL8224 driver now puts the PHY into the proper mode, but the SerDes
side is still missing. It was deactivated due to a known regression.
Thus, allow USXGMII-QX configuration since both sides should be properly
configured now.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22609
Signed-off-by: Robert Marko <robimarko@gmail.com>
5 days agotreewide: strip trailing whitespace 22840/head
Mieczyslaw Nalewaj [Wed, 8 Apr 2026 07:34:53 +0000 (09:34 +0200)] 
treewide: strip trailing whitespace

Strip trailing whitespace in all code:
find . -type f | grep "\.c$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.h$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.dts$" | xargs sed -i 's/[ \t]\+$//'
find . -type f | grep "\.dtsi$" | xargs sed -i 's/[ \t]\+$//'

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22840
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 days agomediatek: filogic: fix EAX17 rootfs hash in FIT node for per-device rootfs builds 22839/head
Jascha Sundaresan [Wed, 8 Apr 2026 07:21:58 +0000 (11:21 +0400)] 
mediatek: filogic: fix EAX17 rootfs hash in FIT node for per-device rootfs builds

When CONFIG_TARGET_PER_DEVICE_ROOTFS is enabled (as in buildbot builds),
the final per-device rootfs is assembled at root.squashfs+pkg=<hash> rather
than root.squashfs. The gen_netgear_rootfs_node.sh script was always hashing
root.squashfs (the base rootfs without device-specific packages), causing the
size and hash in the FIT node to not match the actual rootfs written to the
UBI volume, resulting in boot failure on buildbot-produced images.

Fix by using the per-device rootfs path when TARGET_PER_DEVICE_ROOTFS is set,
consistent with how include/image.mk handles the same distinction elsewhere.

Fixes: 46ab9f3f1c ("filogic: add support for Netgear EAX17")
Signed-off-by: Jascha Sundaresan <flizarthanon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22839
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 days agobuild: set max-page-size linker flag to match target page size 22800/head
Hauke Mehrtens [Sun, 5 Apr 2026 11:53:32 +0000 (13:53 +0200)] 
build: set max-page-size linker flag to match target page size

ELF binaries embed the maximum page size used during linking in the
PT_LOAD segment alignment. If this value is larger than the actual
system page size, the kernel will still load the binary but wastes
memory due to over-alignment. If it is smaller, the binary may fail
to load or cause incorrect behavior with features like RELRO.

Most architectures use 4KB pages, but loongarch64 uses 16KB pages
(CONFIG_PAGE_SIZE_16KB). Explicitly pass -z max-page-size to the
linker so that binaries are built with the correct page alignment for
the target, avoiding issues with RELRO segment padding and ensuring
correct memory mapping on the target system.

Before binutils 2.39 RELRO sections were padded to common page size
which is 4K on MIPS, with binutils 3.29 the padding was changed to
max page size which is 64K on MIPS. With this change we will pad them to
4K again.

This reduces the size of user space binaries in OpenWrt.
The size of the uncompressed root file system of a mips malta be build
decreased by about 20%.

old file size:
```
$ du -s build_dir/target-mips_24kc_musl/root-malta/
15844 build_dir/target-mips_24kc_musl/root-malta/
```

New file size:
```
$ du -s build_dir/target-mips_24kc_musl/root-malta/
12564 build_dir/target-mips_24kc_musl/root-malta/
```

The size of the image did not decrease much because of the strong
compression used by OpenWrt.

Link: https://github.com/openwrt/openwrt/pull/22800
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agouboot-mediatek: bpi-r4-lite fix emmc frequency 22615/head
Janusz Dziedzic [Tue, 31 Mar 2026 16:20:34 +0000 (18:20 +0200)] 
uboot-mediatek: bpi-r4-lite fix emmc frequency

Use lower emmc frequency.
This fix issue when mmc write, from uboot, failed.

Failed case:
 - we boot from NAND
 - choose "Install bootloader, recovery and production to eMMC"

MMC erase: dev # 0, block # 0, count 1024 ... 1024 blocks erased: OK
MMC write: dev # 0, block # 0, count 1024 ... mmc write failed
0 blocks written: ERROR

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@holisticon.pl>
Link: https://github.com/openwrt/openwrt/pull/22615
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agoramips: refresh patches 22810/head
Mieczyslaw Nalewaj [Mon, 6 Apr 2026 11:36:25 +0000 (13:36 +0200)] 
ramips: refresh patches

Refreshed patches by running: make target/linux/refresh

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22810
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 days agoramips: restore CONFIG_PAGE_BLOCK_MAX_ORDER=10 for 6.18 22831/head
Mieczyslaw Nalewaj [Tue, 7 Apr 2026 17:12:37 +0000 (19:12 +0200)] 
ramips: restore CONFIG_PAGE_BLOCK_MAX_ORDER=10 for 6.18

Restore CONFIG_PAGE_BLOCK_MAX_ORDER=10 in ramips 6.18 config fragments
to fix build failures where PAGE_BLOCK_MAX_ORDER was undefined.

Support for Linux 6.18 on ramips was added after this OpenWrt change:
https://github.com/openwrt/openwrt/commit/ac0cb87a453698efc6c812e4f27cadbeb208f14e.
Before that integration, the kernel option CONFIG_PAGE_BLOCK_MAX_ORDER=10
was provided in target/linux/generic/config-6.18 and applied broadly.
After the ramips 6.18 integration the generic fragment no longer supplied
this option for ramips targets, which caused some backported code paths
and drivers to assume PAGE_BLOCK_MAX_ORDER was defined and led
to compilation failures.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/22831
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>