Commit Graph

69373 Commits

Author SHA1 Message Date
Rosen Penev e4c35c2eec mac80211: backport ath9k memset fixes from upstream
Backport two upstream commits that replace memset() on coherent DMA
descriptor rings with explicit WRITE_ONCE() status word stores.

On 32-bit PowerPC platforms like apm821xx, coherent DMA memory may be
mapped uncached. The optimized memset() path can use dcbz there, which
triggers alignment warnings and spams the kernel log.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23776
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-15 10:00:38 +02:00
David Bauer ebbe3a08a7 odhcpd: update to latest HEAD
c6792ba odhcpd: fix integer underflow in dhcpv6_ia_handle_IAs
d329a15 odhcpd: fix out-of-bounds write in build_ia

Signed-off-by: David Bauer <mail@david-bauer.net>
2026-06-15 00:15:42 +02:00
Rosen Penev 0c9548a058 treewide: add linux,rootfs to rootfs labeled partitions
A step towards removing hack/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20951
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 23:58:17 +02:00
Rosen Penev 53fa04d261 mediatek: filogic: replace mtd-eeprom with nvmem
These use fairly standard sizes.

0x1000 for mt7916 and 0x1e00 for mt7992.

Added a mediatek,mt76 compatible line where missing as required by mt76
upstream Documentation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23113
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 23:42:52 +02:00
Rosen Penev 17a0904384 mediatek: mt7622: replace mtd-eeprom with nvmem
These use fairly standard sizes.

0x4da8 for mt7615 + mt7622 and 0xe00 for mt7915.

Added a mediatek,mt76 compatible line where missing as required by mt76
upstream Documentation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23113
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 23:42:52 +02:00
Rosen Penev 3d7d675888 mpc85xx: ws-ap3xxxi: use u-boot,env for MAC
Userspace handling is deprecated.

Fix bad copy/paste error with ws-ap3710i. enet2 is unused.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23761
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 23:35:48 +02:00
Rosen Penev 87592fa409 apm821xx: drop support for 6.12
Remove the 6.12 kernel configuration and patch stack after switching to 6.18.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23777
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 23:10:51 +02:00
Rosen Penev f7efd51a8c apm821xx: switch to 6.18
Move apm821xx to the 6.18 kernel after testing it as the testing kernel.

There are ethernet performance improvements in the 6.18 kernel for
whatever reason. There's also work on getting rid of dmesg slop at
runtime.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23777
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 23:10:50 +02:00
Carlo Szelinsky 6ecf15d63a realtek: add hasivo-mcu sensor driver
Add a temperature/fan sensor (hwmon) driver for the Hasivo / Horaco
management MCU as a second child of the hasivo MCU MFD (alongside the
watchdog). It exposes the CPU and system temperatures and a 3-state fan
control (auto / force-on / force-off), read/written through the parent's
shared syscon regmap.

The register protocol was reverse-engineered from the stock 'imi' firmware
and verified on hardware. The fan-status register (0xFB) reflects the MCU's
effective drive state, not actual rotation (a blocked fan still reads
force-on), so no fanN_alarm is exposed. pwm1 echoes the commanded state so
a write reads back consistently, and falls back to the live drive state in
automatic mode. The register map is shared across boards.

Signed-off-by: Carlo Szelinsky <github@szelinsky.de>
Link: https://github.com/openwrt/openwrt/pull/23762
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-14 15:44:24 +02:00
Carlo Szelinsky e36b8bf3ed realtek: convert hasivo-mcu-wdt to a hasivo-mcu-mfd child
The watchdog and the temperature/fan hwmon are the same management MCU at
a single I2C address (0x6f). Linux binds one driver per I2C client, so the
watchdog cannot keep owning the address directly if the hwmon is to live
on the same chip. Convert it from a standalone i2c_driver into a
platform_driver child of the hasivo MCU MFD that reaches the chip through
the parent's shared regmap (syscon), and depend on kmod-mfd-hasivo-stc8.

Signed-off-by: Carlo Szelinsky <github@szelinsky.de>
Link: https://github.com/openwrt/openwrt/pull/23762
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-14 15:44:24 +02:00
Jonas Jelonek 390276a846 realtek: pcs: improve lock and error handling in pcs_config
Make use of scoped_guard macro to ease lock and error handling in
pcs_config by having a dedicated scope and no need for gotos.

While being here, replace -ENOTSUPP with preferred -EOPNOTSUPP and drop
{ } brackets for single statement block.

Link: https://github.com/openwrt/openwrt/pull/23759
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 15:11:45 +02:00
Jonas Jelonek 77c750faad realtek: pcs: add activate/deactivate sds_ops hooks
Add the mandatory activate/deactivate bring-up hooks to rtpcs_sds_ops
and let rtpcs_pcs_config() drive the full sequence around the variant
configuration:

	deactivate -> setup_serdes -> activate -> post_config

The per-variant calls that were open-coded at the start and end of the
setup_serdes() functions are removed in favour of these indirections.
RTL839X never powered the SerDes down/up, so it gets no-op stubs to
satisfy the contract for now. Execution order is preserved for all
variants.

Link: https://github.com/openwrt/openwrt/pull/23759
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 15:11:45 +02:00
Jonas Jelonek 2e4d128ebf realtek: pcs: add post_config sds_ops hook
Some variants need finalization that must run only after the SerDes is
powered up: RTL838X performs a one-shot switch queue reset on first
start, RTL930X runs RX calibration and the TX config. So far this lived
at the tail of the variant setup_serdes() functions.

Add an optional post_config hook to rtpcs_sds_ops and call it from
rtpcs_pcs_config() right after setup_serdes(), then relocate the
RTL838X and RTL930X tail work into it. As activate() still runs at the
end of setup_serdes() here, the execution order is unchanged.

Link: https://github.com/openwrt/openwrt/pull/23759
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 15:11:45 +02:00
Jonas Jelonek 2d60ef16ad realtek: pcs: rtl930x: apply tx config before activation
In RTL930x setup, tx config was called at then end of the procedure
after configuration and calibration ran. This is still a leftover from
the old code located in DSA/PHY. However, applying TX configuration like
amplification factors, etc. doesn't make sense after calibration, it
should run before. Moreover the call was commented with "leave loopback
mode" which is just wrong and doesn't describe what the function does.
Fix this misery.

Testing on device with different interface modes shows no difference so
far, especially no negative effects.

Link: https://github.com/openwrt/openwrt/pull/23759
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 15:11:45 +02:00
Ryan Leung effea14e1f mediatek: wavlink wl-wn536ax6 rev a: remove old WLAN LED default
Remove old UCI default for WLAN LED trigger on `phy1` which is now instead triggered by either
wireless PHY by kmod-ledtrig-network

Fixes: adb7ff2792 ("mediatek: wavlink wl-wn536ax6 rev a: add "network" LED trigger")
Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23790
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 15:10:13 +02:00
Ryan Leung adb7ff2792 mediatek: wavlink wl-wn536ax6 rev a: add "network" LED trigger
Currently the "WiFi" LED indicator light is triggered only by activity on the 5 GHz PHY.

Change it to be triggered by WLAN activity on either Wi-Fi PHY, matching stock behaviour, by using
`kmod-ledtrig-network` added in 2aa1185fb0 ('leds: add "network" LED trigger (lan/wan/wlan)').

Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23682
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 12:31:36 +02:00
Ryan Leung 1e3474ebbd uboot-envtools: mediatek_filogic: wavlink wl-wn536ax6 rev a: add config
Add config for WAVLINK WL-WN536AX6 Rev a to be able to read and write U-Boot environment variables.

Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23682
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 12:31:36 +02:00
Ryan Leung 2fe7396cab mediatek: wavlink wl-wn536ax6 rev a: fix WLAN 5GHz MAC address
The second WLAN MAC address in the "Factory" partition at 0x0a is not the same as the
WLAN 5GHz BSSID observed when using the manufacturer's stock firmware, which is derived from
the 2.4GHz/label MAC address by setting bits 26 and 7 (Locally Administered).

While at it, also fix alphabetical ordering of some other device names.

Fixes: 1748ce8295 ("mediatek: add support for WAVLINK WL-WN536AX6 Rev a")
Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23682
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 12:31:36 +02:00
Ryan Leung 04f5823f83 mediatek: wavlink wl-wn536ax6 rev a: change nvmem layout for MAC addresses
Currently the WAN MAC address is read from the first (LAN) MAC address in the "HW" partition and
then incremented by 1 instead of being read directly from the second MAC address.

Change to reading the two MAC addresses (LAN/WAN) directly from "Factory" partition.

Fixes: 1748ce8295 ("mediatek: add support for WAVLINK WL-WN536AX6 Rev a")
Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23682
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 12:31:35 +02:00
Ryan Leung 209a8fe737 mediatek: wavlink wl-wn536ax6 rev a: set SPI drive strength 4mA
Change SPI drive strength to 4mA to match Mediatek SDK and prevent potential signal overshoot.

Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23682
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 12:31:35 +02:00
Ryan Leung dcce4a7f3c mediatek: wavlink wl-wn536ax6 rev a: enable nmbm bad block management
Enable nmbm bad block management with up to 8 MiB reserved. The manufacturer's stock device tree
contains the property `compatible = "generic,nmbm";` in node `nmbm_spim_nand` and
manufacturer's stock bootlog contains "nmbm nmbm_spim_nand: NMBM has been successfully attached"

Fixes: 1748ce8295 ("mediatek: add support for WAVLINK WL-WN536AX6 Rev a")
Signed-off-by: Ryan Leung <untilscour@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/23682
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 12:31:35 +02:00
Qingfang Deng 00b2bbfdbf kernel: modules: mppe: clean up
Remove kmod-crypto-arc4 and kmod-crypto-ecb from depends, as it no
longer uses skcipher API for encryption.
Remove the non-existent CONFIG_PPP_MPPE_MPPC symbol.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23464
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 12:00:01 +02:00
Qingfang Deng 0160d8b7b9 kernel: modules: slhc: remove CRC_CCITT depends
slhc does not depends on CRC_CCITT according to kernel Kconfig.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23464
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 12:00:00 +02:00
Seo Suchan 24662e811e busybox: fix signal handling in non-interactive envirement
fixes  https://github.com/openwrt/openwrt/issues/23745

upstream had bug bb_got_signal to be never cleared in noninteractive session, this fixes this while waiting for upstream merge.

the patch iself is written by  Ian Cooper <iancooper@hotmail.com>

Signed-off-by: Seo Suchan <tjtncks@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23787
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 11:51:50 +02:00
Sebastian Schaper 2442b131cd ipq806x: fix USB port for Nokia AC400i
drop usb3_0 node, enable usb3_1 PHYs, set gpio58 for power enable

Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
Link: https://github.com/openwrt/openwrt/pull/23740
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 11:45:33 +02:00
Sebastian Schaper cc4bf66710 ipq806x: enable i2c thermal sensor for Nokia AC400i
The board contains a TI TMP75 temperature sensor located near the ethernet
PHYs, attached to the thermal mass of the back case, close to main SoC.

Configure `gsbi2` for i2c mode and include `kmod-hwmon-lm75` package.

Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
Link: https://github.com/openwrt/openwrt/pull/23740
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 11:45:33 +02:00
Sebastian Schaper f0e8ecf36e ipq806x: fix wifi for Nokia AC400i
In recent versions of OpenWrt, only 2.4G wifi is working.
Drop upstream overrides for pcie nodes to declare perst-gpios 3 and 48.

Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
Link: https://github.com/openwrt/openwrt/pull/23740
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 11:45:33 +02:00
Sebastian Schaper 8443da363e ipq806x: fix ethernet for Nokia AC400i
In previous versions of OpenWrt, ethernet was partially working,
sometimes depending on initialization state left by bootloader.
Since the switch to NSS drivers, it is completely broken.

- swap GMAC to PHY address mapping
- use rgmii internal delay
- drop `fixed-link` rates
- add pinctrl settings for rgmii0
- declare reset GPIO 51 (used for both PHYs)
- disable hibernation

Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
Link: https://github.com/openwrt/openwrt/pull/23740
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 11:45:32 +02:00
Donghyun Ko 9e697c05df mediatek: fix WLAN LED indication for ipTIME AX3000SE
OpenWrt has recently added the "network" LED trigger to support routers
that have a single WLAN LED for multiple phys.

This patch replaces the temporary workaround used during initial
support, where the LED was triggered only by activity on a single phy.

With this change, the WLAN LED on the ipTIME AX3000SE now correctly
indicates activity on both `phy0` and `phy1`.

Signed-off-by: Donghyun Ko <nyankosoftware@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23723
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 11:09:46 +02:00
Shiji Yang 312116bda9 kernel: bump 6.12 to 6.12.93
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.93

Manually rebased patch:
- bcm27xx/patches-6.12/950-0755-drm-v3d-CPU-job-submissions-shouldn-t-affect-V3D-GPU.patch[1]

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.93&id=acd55ea40d03e06f20a9986363019e0e5173990e
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/23730
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 11:08:19 +02:00
Josef Schlehofer af75e1c527 vscode: update editor formatting and line endings settings
Enable trailing whitespace trimming, insert final newline, and force LF.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23750
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-14 10:49:24 +02:00
Markus Stockhausen ee02f6f16b realtek: mdio: backport upstream patches
Another round of MDIO driver patches was accepted upstream.
Not production relevant as OpenWrt still uses the downstream
driver.

Link: https://github.com/openwrt/openwrt/pull/23768
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-13 22:15:02 +02:00
Markus Stockhausen aa510aa47d realtek: dts: add phy-package to LGS352C
Describe the RTL8218D packages in the device tree.

Link: https://github.com/openwrt/openwrt/pull/23711
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-13 16:21:12 +02:00
Markus Stockhausen ea9caafdb5 realtek: dts: add phy-package to XGS1x10 series
Describe the RTL8218D packages in the device tree.

Link: https://github.com/openwrt/openwrt/pull/23711
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
2026-06-13 16:21:12 +02:00
Qingfang Deng b25d90b7e4 ppp: update to 2.5.3
Update to 2.5.3 and use the official tarball.

Changelog: https://github.com/ppp-project/ppp/releases/tag/v2.5.3

Removed upstreamed:
- 000-pppd-session-fixed-building-with-gcc-15.patch
- 001-pppdump-fixed-building-with-gcc-15.patch
- 501-fix-memcpy-fortify.patch
- 502-remove_mru.patch

Manually rebased:
- 500-add-pptp-plugin.patch

Add a pending patch to relax the check to avoid breaking existing
configurations.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23540
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-13 01:34:23 +02:00
Rosen Penev db533a6235 ipq40xx: use nvmem for cal data
Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22178
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-13 01:31:36 +02:00
John Audia a1a3659c29 kernel: bump 6.18 to 6.18.35
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.35

Removed upstreamed:
  microchipsw/patches-6.18/0009-v7.2-net-phy-micrel-fix-LAN8814-QSGMII-soft-reset.patch[1]

All other patches automatically rebased via update_kernel.sh

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.35&id=58b2c0f096b36a93e1975b6fa7f8d629e6fd9425

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/23722
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-12 22:15:32 +02:00
Paul Spooren 8ba4c5e993 build: fixup version.date creation for source archives
Published sources archives may contain a mixture of MTIMEs, so taking the time
of the first file found varies based on filesystem order. To fix this, sort all
MTIMEs and take the latest.

Since piping into a file directly creates that file, we also need to
specifically tell `find` to ignore `version.date`.

Furthermore, move this prior to the ./src copy step, since for some packages,
the OpenWrt build system ships extra ./src files, which would introduce the
wrong timestamps again.

Fix: e36c2946b7 build: derive PKG_SOURCE_DATE_EPOCH from the unpacked source tree
Link: https://github.com/openwrt/openwrt/pull/23756
Signed-off-by: Paul Spooren <mail@aparcar.org>
2026-06-12 17:41:09 +02:00
Aliaksandr Babrykovich 5575e4a97f generic: mxl862xx: allow CPU/SerDes ports to probe on firmware < 1.0.84
The firmware-version gate in mxl862xx_phylink_get_caps() leaves
config->supported_interfaces empty for the CPU/SerDes ports (9, 13) when
the switch runs firmware older than 1.0.84. phylink rejects an empty
supported_interfaces bitmap, so the switch fails to probe at all:

  mxl862xx mdio-bus:10: switch ready after 2480ms, firmware 1.0.70 (build 70)
  mxl862xx mdio-bus:10: phylink: error: empty supported_interfaces
  error creating PHYLINK: -22
  mxl862xx mdio-bus:10: probe with driver mxl862xx failed with error -22

This regresses boards still shipping the older vendor firmware (e.g. the
BananaPi BPi-R4 Pro 8X, which ships 1.0.70) where all LAN ports disappear.

Ungate only the CPU/SerDes ports (9, 13) so the switch probes and the user
can update the firmware; ports 10..12 and 14..16 stay gated as they are
genuinely unsupported by the old firmware.

Tested on a BPi-R4 Pro 8X with switch firmware 1.0.70 (kernel 6.18); the
6.12 patch receives the identical change for parity.

Fixes: 028dc3f57a ("generic: 6.18: update MxL862xx DSA switch driver")
Fixes: 5b69e6a4a6 ("generic: 6.12: update MxL862xx DSA switch driver")
Signed-off-by: Aliaksandr Babrykovich <abobrikovich@gmail.com>
[refreshed patches]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-06-12 14:06:04 +01:00
Shiji Yang b2501d1f16 uboot-mediatek: migrate memsize cmd to the upstream implementation
The upstream repository accepted a newer patch revision[1].

[1] https://github.com/u-boot/u-boot/commit/e202eca183b0f1d6747b934482dc6249abdd742b
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2026-06-12 13:55:42 +01:00
Shiji Yang e96713670c uboot-mediatek: drop redundant TOOLS_LIBCRYPTO symbol hack
This symbol was already disabled via UBOOT_CUSTOMIZE_CONFIG.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2026-06-12 13:55:41 +01:00
Shiji Yang 03accb46ef uboot-mediatek: use kernel DTC on mediatek ARM targets
The u-boot build for mediatek ARM SoCs doesn't require pylibfdt. We
can use pre-build kernel DTC to save some build time.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2026-06-12 13:55:41 +01:00
Shiji Yang b6ecbb0374 uboot-mediatek: update to v2026.04
Remove upstreamed patches:
  001-pinctrl-mediatek-MT7981-fix-GPIO9-register-map.patch [1]
  010-clk-mediatek-mt7622-fix-infracfg-and-pericfg-clock-o.patch [2]

We also need to backport two new patches from v2026.07-rc2 to address
the yaml build error[3] and MT7621 boot issue[4].

[1] https://github.com/u-boot/u-boot/commit/a1d1fc8d8c8699d80e1b9ab3214752e5882d3740
[2] https://github.com/u-boot/u-boot/commit/52d84fccfd7d8b99e91a70192eec8e0379d63b4b
[3] https://github.com/u-boot/u-boot/commit/8ef8dee4f3a2b2021decfefd853dbd2a1632b77f
[4] https://github.com/u-boot/u-boot/commit/de79075f0f6b8795d1f9e30ff36435583b1a119a
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
2026-06-12 13:55:41 +01:00
Shiji Yang 3ede0b1489 uboot-mediatek: drop upstreamed patch
Patch 280 was already included in u-boot v2022.07.

Link: https://github.com/u-boot/u-boot/commit/5f2d5915f8ea4785bc2b8a26955e176a7898c15b
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Suggested-by: Daniel Golle <daniel@makrotopia.org>
2026-06-12 13:55:41 +01:00
Michał Kępień 12abb2413a ath79: mikrotik: also compile AG71XX_LEGACY as a module
Commit 9091c9f8cb ("ath79: mikrotik: compile SWCONFIG and AR8216_PHY
as modules") caused the hybrid PHY/MDIO ar8xxx driver to be built as a
module instead of built-in.  On at least MikroTik RouterBOARD 951G-2HnD,
this prevents the kernel from binding the correct PHY driver at boot
because the ar8xxx driver is not yet available when the MDIO bus is
probed:

  - before:

    ag71xx-legacy 19000000.eth: invalid MAC address, using random address
    switch0: Atheros AR8327 rev. 4 switch registered on mdio.0
    ag71xx-legacy 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd034, driver=Atheros AR8216/AR8236/AR8316]
    eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: rgmii

  - after:

    ag71xx-legacy 19000000.eth: invalid MAC address, using random address
    ag71xx-legacy 19000000.eth: connected to PHY at mdio.0:00 [uid=004dd034, driver=Generic PHY]
    eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: rgmii

As the PHY is already bound to the fallback "Generic PHY" driver when
the ar8xxx module is loaded, the switch remains non-functional and the
router has no network connectivity.

Fix by also compiling the MAC driver (ag71xx-legacy) as a module,
deferring switch initialization until control is transferred to
userspace during boot.  The configured module autoload priorities
(ar8xxx: 43, ag71xx-legacy: 50) ensure that the ar8xxx driver is loaded
before ag71xx-legacy.

Fixes: https://github.com/openwrt/openwrt/issues/23739
Fixes: 9091c9f8cb ("ath79: mikrotik: compile SWCONFIG and AR8216_PHY as modules")
Suggested-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Michał Kępień <openwrt@kempniu.pl>
Link: https://github.com/openwrt/openwrt/pull/23748
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-12 10:38:02 +02:00
Jonas Jelonek f8feda8c1b realtek: pcs: rtl838x: drop redundant reset writes
Sometimes redundancy is so obvious that one likely misses it. Trying to
bring all SerDes setup into a unified shape, one thinks twice if
something is really needed or not.

For the RTL838x case, the single writes for take/release reset were still
an outlier. Looking closer at them one can see that the same bits are all
covered already in deactivate/activate. So before, they have been put
into the desired state but those outlier writes mess with them again.

[0, 3, 0x7146/0x7106] just deals with the SOFT_RST bit that is already
covered by rtpcs_838x_sds_reset.

[0, 0, 0xc00] touches multiple bits, amongst the EN_RX/EN_TX bits
already covered in deactivate/active. Moreover, it potentially forces
other bits into a state causing broken functionality, e.g.
INV_HSI/INV_HSO which deal with the polarity. This has no effect right
no right now but might be a latent issue in the future.

Also move the reset call down to the end of the function, doing a
soft/RX reset after every configuration is done. This is likely what the
SDK also intended, and mirrors the 839x behavior.

Link: https://github.com/openwrt/openwrt/pull/23746
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-12 09:42:31 +02:00
Jonas Jelonek 541d2161a4 realtek: pcs: rtl838x: replace literal with macro
Replace 0 with MII_BMCR because in this context, it maps cleanly to
normal PHY register structure. BMCR_PDOWN is already used there to show
which bits are set.

Link: https://github.com/openwrt/openwrt/pull/23746
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-12 09:42:30 +02:00
John Audia 117f10e9a2 dnsmasq: update to 2.93
Changelog: https://github.com/imp/dnsmasq/blob/master/CHANGELOG#L1-L35

Removed upstreamed patches:
- 001-CVE-2026-2291.patch
- 002-CVE-2026-4890.dnsmasq-2.92.patch
- 003-CVE-2026-4891.patch
- 004-CVE-2026-4892.patch
- 005-CVE-2026-4893.patch
- 006-CVE-2026-5172.patch

All other patches rebased.

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

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23669
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-12 09:29:47 +02:00
Rosen Penev 6c3d37c6c8 ath79: ws-ap3610: assign MAC address with nvmem
Userspace handling is deprecated.

As with all ws-ap devices, a redundant u-boot environment is used.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23146
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-12 09:28:37 +02:00
Jonas Jelonek 8f23d97650 realtek: pcs: rtl838x: merge and simplify patching
Reduce the per-SerDes patching to a per-mode patching since they share a
lot of similarities, especially for QSGMII.

For fiber patching, the differences are bigger. This takes an approach
to merge the sequences completely despite applying some settings which
weren't applied before on one of the SerDes. Testing and SerDes dumps
showed no or minimal differences, and no practical effect on
functionality. A look at the SerDes register documentation we have shows
reordering the writes isn't problematic because most of the bits aren't
any trigger bits.

With all its users gone, we can now drop also the workaround SDS macro.

Link: https://github.com/openwrt/openwrt/pull/23741
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-11 20:27:30 +02:00