Commit Graph
5598 Commits
Author SHA1 Message Date
Martin Schiller 9fae90d34f generic: add missing drm/input/video symbols
If input, drm or video support is enabled on imx targets, then these
will pop up.

We add them to the generic configs, because they will be dropped again
if we add them to the target config and call `make kernel_oldconfig
CONFIG_TARGET=target`.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
[for imx6 (on Toradex i.MX6D)]
Tested-by: Zoltan HERPAI <wigyori@uid0.hu>
2026-10-18 12:22:31 +02:00
Daniel Golle 2a01c95d6f kernel: backport the V4L2 generic ISP framework
Backport the V4L2 generic ISP types and the v4l2-isp helpers that ISP
drivers use for their parameters and statistics buffers: the two v6.19
commits and a rename that followed them, and the four v7.3 commits that
add the extensible statistics buffer, the per-block validation callback
and the statistics helpers.

Add kmod-video-v4l2-isp for the v4l2-isp module.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-17 18:03:04 +01:00
Satoshi Ikeuchi f9c89becc3 kernel: share the existing Qualcomm secure WCSS loader
Move the secure WCSS driver, binding and split-firmware support from
qualcommax to the common kernel patch series. IPQ9574 support is already
provided by this driver.

Split out the unchanged TME-L client header so qualcommbe can compile the
driver without enabling the mailbox controller. Keep the qualcommax-only
follow-up patches in that target; its resulting driver is unchanged.

Describe the existing multi-file loading interface in the common binding
and leave the driver disabled unless selected by a target.

Signed-off-by: Satoshi Ikeuchi <satosan.ikm@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25595
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-16 13:58:49 +02:00
Steve Meek 73b92d95d1 kernel: mhi: disable doorbell burst mode for RM500Q-AE
Add a pending patch that gives the RM500Q-AE its own MHI channel table
with doorbell burst mode disabled on its two hardware data channels.

With burst mode on, the downlink stalls under sustained multi-stream
load when the wwan0 receive work runs on the same CPU as the modem's
interrupt, which is where the default packet steering puts it. Uplink
keeps working, the MBIM control channel later times out, and only a
reboot recovers it. Ringing the channel doorbell by hand restores the
link at once, which points at a lost doorbell-mode handshake.

Tested on a Xunison Exigo Hub D50 5G: without the patch a single
25-second 16-stream download stalled the downlink; with it, about 200
seconds of multi-stream downloads with CPU0 at up to 100% ran with no
stall and no MHI errors.

Link: https://patch.msgid.link/20261013-rm500q-db-burst-v1-1-bb850d54e2c4@gmail.com
Signed-off-by: Steve Meek <stevemeek82@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25890
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-16 09:52:28 +02:00
Steve Meek 2961f34115 kernel: backport MHI PCI support for the Quectel RM500Q-AE
Backport upstream commit f6985f512f82 ("bus: mhi: host: pci_generic:
Add Quectel RM500Q-AE support"), applied to the MHI tree and now in
char-misc-next for the next merge window.

Without it the RM500Q-AE binds to the generic SDX55 entry, whose QMI
channels its firmware does not answer, so no data session can be set
up over PCIe.

Link: https://patch.msgid.link/20261011-mhi-next-v1-1-13a738637ff0@gmail.com
Signed-off-by: Steve Meek <stevemeek82@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25890
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-16 09:52:28 +02:00
Jonas Jelonek 2caedb4b48 generic: refresh patches
Refresh generic patches after a previous commit added an unrefreshed
patch.

Signed-off-by: Jonas Jelonek <jonas@jonasjelonek.de>
2026-10-15 21:00:58 +00:00
Aleksei Sviridkin 41f0eb4a79 generic: backport mt7530 .get_stats64 atomic-context fix
On MDIO-connected MT753x switches .get_stats64 reads the MIB counters
under the MDIO bus mutex although it runs in atomic context, so reading
/proc/net/dev reports "sleeping function called from invalid context".
With CONFIG_DEBUG_ATOMIC_SLEEP=y the sleep inside the RCU read section
can lock up a CPU. The upstream fix polls the counters from a delayed
work and returns cached values. It is in mainline from v7.1-rc3 and not
in 6.18.y.

Tested on a Keenetic KN-1012 (MT7981B, MT7531) with
CONFIG_DEBUG_ATOMIC_SLEEP=y: a loop reading /proc/net/dev locked up a
CPU within a minute without the fix, and ran 41 minutes clean with it
while the counters kept advancing.

Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <f@lex.la>
Link: https://github.com/openwrt/openwrt/pull/25383
Signed-off-by: Jonas Jelonek <jonas@jonasjelonek.de>
2026-10-15 22:31:37 +02:00
Paul Spooren beda530aac kernel: map the directory of external modules out of __FILE__ on 6.12
Kernel modules from the packages feed still differ between builds on
targets with Linux 6.12, e.g. kmod-jool-netfilter on tegra:

  /builder/shared-workdir/build/build_dir/.../jool-4.1.15/src/mod/common/xlator.c

These packages build through make -C $(LINUX_DIR) M=... without the
OpenWrt prefix maps. On 6.12, kbuild compiles external modules from the
absolute M= path and maps only the kernel tree, so __FILE__ keeps the
absolute path of the module sources. Linux 6.13 maps the module
directory itself, which is why 6.18 only needed the kernel tree mapped
(206-kbuild-map-the-kernel-tree-for-external-modules.patch).

Add a pending patch for 6.12 that maps the directory of external
modules. It comes after the map of the kernel tree and before KCFLAGS,
so modules built through KERNEL_MAKE keep their current output.

On a 6.12 tree, __FILE__ of an external module changes from its
absolute path to the path relative to the module directory.

Link: https://github.com/openwrt/openwrt/pull/25875
Signed-off-by: Paul Spooren <mail@aparcar.org>
2026-10-13 21:12:54 +02:00
Daniel Golle ba45d608b2 rockchip: add support for Herospeed RV1126 IMX415 Base
The Herospeed RV1126 IMX415 "Base" is an IP camera built on a Rockchip
38x38 V10 EMMC DDR3 board, which is also found in cameras of other
makes and is therefore described by a separate dtsi. The stock firmware
identifies itself as ONVIF manufacturer "HeroSpeed", firmware family
RV1126_IMX415_BASE. This adds the 32-bit armv7 subtarget for the
Cortex-A7 based RV11xx SoCs. The camera keeps its stock U-Boot, which
boots an Android boot image from one of two boot/system slots.

Hardware
--------
SoC: Rockchip RV1126, 4x Cortex-A7
RAM: 1 GiB DDR3
Flash: eMMC, 8 GB class, two boot/system slots
Ethernet: 1x 10/100 Mbit/s, JL1101 PHY on RMII
Sensor: Sony IMX415, 4 lane MIPI CSI-2
RTC: PCF8563
LEDs: white illumination LEDs on one PWM output (V4L2 flash)
Buttons: none
UART: 1.8 V TTL on UART2, 1500000 baud 8N1, 90-degree JST-SH connector
at the bottom edge of the board, facing the edge and hidden underneath
the MIPI CSI cable
Power: PoE (IEEE 802.3af) or 12 V 1 A DC through the barrel connector
on the cable whip

Installation
------------
1. Open the web interface of the stock firmware (192.168.1.168 by
   default) and log in as admin.
2. Upload openwrt-rockchip-armv7-herospeed_rv1126-imx415-squashfs-
   factory-RV1126_IMX415.fls on the firmware upgrade page.
3. The camera reboots into OpenWrt at 192.168.1.1.

Later upgrades use the sysupgrade image, which is written to the
inactive slot. The stock firmware can be restored from OpenWrt with
"sysupgrade -F -n" and the original .FLS file.

MAC address
-----------
eth0 uses the label MAC, stored as MAC=xx:xx:xx:xx:xx:xx in net.conf on
the ext4 "param" partition. U-Boot passes a different, derived address
to Linux, which is replaced by the stored one.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-13 10:58:21 +01:00
Daniel Golle e0b4eb3e00 generic: 6.18: backport video-interfaces sampling defines
Backport the pixel clock sampling mode defines of the video-interfaces
dt-bindings header, which the rk3568 vicap binding example already
uses. The Rockchip RV1126 capture nodes refer to the same header.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-13 10:58:21 +01:00
Shiji Yang ab25a08e97 kernel: move Microchip video kconfig symbols to generic
Running `make kernel_oldconfig` automatically trims these symbols
that need to be explicitly disabled. To prevent this, move them to
the generic config files.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/25436
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-13 09:50:56 +02:00
Shiji Yang 5f3e589549 kernel: add missing Microchip sound kconfig symbols for 6.18
Upstream removed CONFIG_SND_ATMEL_SOC in the 6.18 kernel[1]. As a
result, we must explicitly disable these Microchip sound related
symbols guarded by CONFIG_SND_ATMEL_SOC.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4f30f84feb7757f09aeecba120a05e1145b8f264
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/25436
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-13 09:50:56 +02:00
Marc Strämke 3a985c7398 kernel: backport mt7530 VLAN fixes from v7.1
VLAN support is broken on MT7530/MT7531 switches (seen on the ASUS
ZenWiFi BT8): after a VLAN-aware bridge is destroyed, VLAN-unaware
bridges lose connectivity, and untagged PVID traffic does not reach
the bridge VLAN upper interface (br-lan.<vid>).

Backport two fixes from Linux v7.1:
- 2c4c76cacc9d ("net: dsa: mt7530: fix CPU port VLAN not being reset
  to unaware")
- 4cb3cd670b2a ("net: dsa: mt7530: untag VLAN-aware bridge PVID")

Both patches apply cleanly to 6.18 and were refreshed with
make target/linux/refresh.

Fixes: https://github.com/openwrt/openwrt/issues/18576
Signed-off-by: Marc Strämke <marcstraemke@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25247
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-10-13 00:34:26 +02:00
Shiji Yang 3d33804abc kernel: backport fix for MTK WED 2.0 WDMA TX hang issue
Adjust WDMA RESV_BUFF to avoid CDM TX FIFO overflow.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c0ef04232f9fac083c3d8a77ce58ba32243e6734
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/24784
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-10-13 00:29:27 +02:00
Nick Hainke 08071e1036 kernel: netsupport: add kmod-sched-taprio
Add the Time Aware Priority (IEEE 802.1Qbv) queuing discipline, used
for Time-Sensitive Networking.

The Hellcreek switch driver depends on taprio, so disable it to avoid
a new config prompt.

Link: https://github.com/openwrt/openwrt/pull/25777
Signed-off-by: Nick Hainke <vincent@systemli.org>
2026-10-11 09:29:57 +02:00
Daniel Golle ea3d1aeb5d generic: 6.18: provision Aquantia USXGMII system interface
The gen2 and later Aquantia PHYs take their system interface from the
per-speed global configuration words their firmware loads from flash.
Where the board firmware selects XFI with pause-frame rate adaptation,
the driver reports 10GBASE-R as the only possible interface and the MAC
gets throttled by pause frames at every media speed below 10G, although
the device tree asks for USXGMII.

Apart from being ugly, this also causes the PHY's microcontroller to
hang when ever a link-partner enters 100M mode (eg. during S3 idle with
WoL active) and never returns to a working state, observed on CUX3410
running firmware 5.7, ironically even with an Aquantia AQtion AQC107
NIC on the other end (ie. the inter-Aquantia magic between the two
same-vendor PHYs could be the actual root of the problem).

Add a hack patch that rewrites the words to XFI with USX rate
adaptation when phy-mode is usxgmii, with the PHY held in low power as
the existing AQR112/AQR412 patch does. The PHY then runs USXGMII with
symbol replication at the lower speeds (and no longer crashes when
ever the link-partner enters S3 and reduces speed to 100M).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-09 10:30:01 +01:00
Mieczyslaw Nalewaj 01c0c192c1 generic: backport rtl8365mb BIT()/GENMASK() mask refactor
Backport the upstream patch that converts the rtl8365mb register masks
from hardcoded hex values to BIT() and GENMASK().

Upstream commit:
net: dsa: realtek: rtl8365mb: define masks using BIT() and GENMASK()
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=9b84b36a527ccc831389628058a5bb1fcad66008

This is a pure refactoring with no functional change. It is backported
so that later rtl8365mb backports based on the new macros apply cleanly.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/25678
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-07 14:01:27 +02:00
Daniel Golle 444686aecc rockchip: add display, GPU, codec and audio kernel modules
Package the Rockchip DRM driver with VOP, VOP2, eDP, DP, HDMI, HDMI QP,
MIPI DSI and MIPI DSI2 support, the Rocket NPU driver, the Samsung
HDPTX and DCPHY and the Innosilicon CSI DPHY, the RKVDEC and RGA V4L2
drivers, the Synopsys HDMI receiver, the I2S, I2S/TDM and S/PDIF ASoC
drivers and the DFI DDR monitor, so that every device in the rk3588
device tree has its driver available.

The DFI DDR monitor is a devfreq event driver, so PM_DEVFREQ_EVENT is
set in the target configuration, which is what lets the driver build as
a module and be installed on a released image. The remaining new
symbols are recorded as disabled defaults in the generic configuration,
where a kernel module package can enable the one it needs. The per-SoC
V4L2 mem2mem drivers go there as well: they have no recorded value
anywhere, so kconfig stops to ask for them on any target whose ARCH
symbol matches once kmod-video-mem2mem opens the mem2mem menu.

The DRM driver and the HDMI PHY are marked for /etc/modules-boot.d, as
procd loads those before preinit runs. Loaded from /etc/modules.d
instead, /dev/dri stays empty until the overlay is mounted, which on a
Rock 5B is several seconds in and too late for anything drawing to the
screen during boot.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-07 10:12:12 +01:00
Daniel Golle 60043441a0 generic: add LED triggers for SFP module state and faults
Register LED triggers for each SFP cage representing module state:

 - present: the module is detected.

 - los: loss of signal, using the module's own declared polarity. I
   split that logic out of the link check into sfp_los_asserted() so
   both use the same code.

 - tx-fault: the state machine reports a transmit fault (init fault,
   fault, re-init, or persistently disabled).

 - error: the module is in error, covering an unreadable EEPROM or I2C
   failure, an unsupported module, or a failed power-up, plus the
   failed-PHY state.

 - fault: either tx-fault or error.

Refresh target patches affected by the generic addition.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-07 00:03:51 +01:00
Daniel Golle b2a6ce658d generic: pse-pd: add fault LED trigger and Si3474 IRQ
Add a per-PI fault LED trigger to the PSE core, an interrupts
property to the Si3474 binding, and INTb handling to the Si3474
driver. Over-current events latch a fault state that the driver
reports as FAULT, which lights the fault trigger. Power good and
power enable changes update the delivering and enabled triggers
without waiting for a regulator operation.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-07 00:03:51 +01:00
Daniel Golle 2bba9c1ba5 kernel: modules: package driver for Hynitron CST816x touch sensor
Package kernel driver for the Hynitron CST816x touch sensor, found on
ST7789V-based 240x240 px MIPI-DBI display of the Adtran SmartRG SDG-9000.
Import pending patches improving the driver.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-10-07 00:03:51 +01:00
John Audia db9616b9af kernel: bump 6.18 to 6.18.55
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.55

Removed upstreamed:
  linux/generic/backport-6.18/707-v7.3-net-phylink-record-the-PHY-only-once-bringup-cannot-.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.55&id=4e7a4af364c2048bafb213bf0ef4a89dcbe1bfd4

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/25551
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-10-04 15:57:54 +02:00
Shiji Yang fc4c9e6ff7 kernel: bump 6.12 to 6.12.112
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.112

Manually rebased patches:
- generic/backport-6.12/720-05-v6.13-net-phy-mediatek-Move-LED-helper-functions-into-mtk-.patch[1]
- generic/pending-6.12/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch[2]

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=298fddcfd19422cb09861051ff8f8755e15a1372
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8274cdc5f9c57e17ed77fc4ba76212536c840f25
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/25553
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-10-04 15:32:19 +02:00
Manuel Fombuena 9824d07c1d generic: add pending leds-st1202 hardware-accelerated blink support
Add patch queued in for-leds-next adding hardware-accelerated blink
support for the ST LED1202 driver. Applied to both pending-6.12 and
pending-6.18.

Signed-off-by: Manuel Fombuena <fombuena@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/23455
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-04 11:43:09 +02:00
Manuel Fombuena 66644a5ab0 generic: backport upstream leds-st1202 fixes
Backport 12 upstream fixes for the ST LED1202 driver to backport-6.12:

  894-01  leds: st1202: Check for error code from devm_mutex_init() call
  894-02  leds: st1202: Refactor st1202_led_set() to use !! operator for
          boolean conversion
  894-03  leds: leds-st1202: Initialize hardware before DT node child
          operations
  894-04  leds: leds-st1202: Spacing and proofreading editing
  894-05  leds: st1202: Stop pattern sequence before reprogramming
  894-06  leds: st1202: Validate pattern input before stopping the
          sequence
  894-07  leds: st1202: Fix pattern duration prescaler and
          pattern_clear skip marker
  894-08  leds: st1202: Set all pattern PWM slots to full after
          clearing pattern
  894-09  leds: st1202: Fix spurious pattern sequence start in setup
  894-10  leds: st1202: Fix brightness having no effect while pattern
          mode is active
  894-11  leds: st1202: Disable channel when brightness is set to zero
  894-12  leds: st1202: Validate LED reg property against channel count

894-01 through 894-04 landed in v6.15; 894-05 through 894-12 were
merged for v7.3 and are now also in stable 6.18.52 and 6.18.53, so
none of these are needed for backport-6.18.

Assisted-by: LLM
Signed-off-by: Manuel Fombuena <fombuena@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/23455
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-04 11:43:09 +02:00
Johan Alvarado e7eaa9851f generic: backport spi-qpic-snand stale ECC pointer fix
qcom_spi_ecc_init_ctx_pipelined() installs the ooblayout but never
publishes the ECC context it allocates, and the cleanup path frees that
context without clearing snandc->qspi->ecc. The ooblayout callbacks then
run against a stale pointer.

On IPQ5018 the qcom,smem-part parser makes the first spi-nand probe
defer, so the retry computes the OOB layout from the freed context and
spinand_init() aborts with -512. About half of the boots on a Mercusys
MR80X ended in "Waiting for root device /dev/ubiblock0_1".

Accepted upstream for v7.4 as f94c9b68bb5f, tagged for stable.

Signed-off-by: Johan Alvarado <contact@c127.dev>
Link: https://github.com/openwrt/openwrt/pull/24919
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-02 11:09:30 +02:00
Robert Marko 31ef805244 generic: make multiplexer core config visible
All of the mux kmods depend on CONFIG_MULTIPLEXER being set, however its
currently tristate but with no user visible name so its not selectable by
passing it .config.

It can only be selected by other symbols, so when you select for example
GPIO mux kmod in reality nothing is built unless your target already
selects CONFIG_MULTIPLEXER by accident or ALL_KMODS is used.

So, as a workaround since it still works fine as tristate, simply add a
patch that makes it visible and thus user selectable.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-10-01 13:57:46 +02:00
Edoardo Pinci 142619bac5 kernel: bump 6.18 to 6.18.54
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.54

Removed upstreamed:
  linux/generic/pending-6.18/505-ksmbd-revert-fix-to-handle-removal-of-rfc1002-header.patch [1]
  linux/bcm27xx/patches-6.18/0802-brcmfmac-pass-PMKID-to-firmware-if-present.patch [2]

Manually rebased:
  linux/generic/pending-6.18/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch
  linux/bcm27xx/patches-6.18/0812-brcmfmac-cyw-clean-up-PMKID-and-cookie-code.patch

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.54&id=024eb5c4cea0785c5ca98eef53c348f55b284e08
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.54&id=c2cf589c7d546557ed60c43f2ec014279265dfbf

All other patches automatically rebased via update_kernel.sh

Build system: x86/64
Build-tested: mediatek/filogic
Run-tested: mediatek/filogic

Signed-off-by: Edoardo Pinci <epinci@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/25331
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-10-01 00:50:42 +02:00
Edoardo Pinci 411a8112dd kernel: bump 6.18 to 6.18.53
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.53

Removed upstreamed:
  target/linux/airoha/patches-6.18/160-v7.2-net-airoha-Reserve-RX-headroom-to-avoid-skb-realloca.patch [1]
  target/linux/airoha/patches-6.18/220-08-usb-host-add-ARCH_AIROHA-in-XHCI-MTK-dependency.patch [2]
  target/linux/ath79/patches-6.18/341-wifi-ath9k-obtain-system-gpios.patch [3]
  target/linux/bcm27xx/patches-6.18/0850-dmaengine-dw-axi-dmac-Wait-for-runtime-resume.patch [4]
  target/linux/econet/patches-6.18/040-v7.2-PCI-mediatek-Protect-root-bus-removal-with-rescan-lo.patch [5]
  target/linux/econet/patches-6.18/781-v7.3-net-dsa-mt7530-add-en7528-support.patch [6]
  target/linux/generic/backport-6.18/706-v7.2-bus-mhi-host-pci_generic-round-up-nr_irqs-to-a-power-of-two.patch [7]
  target/linux/generic/backport-6.18/751-v7.2-net-dsa-qca8k-add-support-for-force-mode-for-fixed-l.patch [8]
  target/linux/generic/backport-6.18/852-v7.1-rtc-cmos-use-platform_get_irq_optional.patch [9]
  target/linux/generic/backport-6.18/941-v7.2-net-dsa-realtek-rtl8365mb-add-support-for-rtl8367sb.patch [10]
  target/linux/generic/backport-6.18/946-v7.3-net-dsa-mt7530-populate-lpi_interfaces-to-fix-EEE-support.patch [11]
  target/linux/generic/backport-6.18/947-v7.3-net-ethernet-mtk_eth_soc-populate-lpi_interfaces-to-fix-EEE-support.patch [12]
  target/linux/ramips/patches-6.18/102-01-pwm-mediatek-set-mt7628-pwm45_fixup-flag-to-false.patch [13]
  target/linux/generic/hack-6.18/890-serial-8250-add-UPIO_AU-case-to-set_io_from_upio.patch [14]
  target/linux/generic/backport-6.18/895-v7.2-Bluetooth-btusb-Add-Mercusys-MA530-for-Realtek-RTL87.patch [15]

Manually rebased:
  target/linux/generic/pending-6.18/737-10-net-ethernet-mtk_eth_soc-add-paths-and-SerDes-modes-.patch
  target/linux/ath79/patches-6.18/900-unaligned_access_hacks.patch
  target/linux/bcm27xx/patches-6.18/0372-i2c-designware-Add-support-for-bus-clear-feature.patch
  target/linux/econet/patches-6.18/310-usb-enable-econet-usb.patch

Added:
  target/linux/ath79/patches-6.18/341-wifi-ath9k-always-register-system-gpios.patch

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.53&id=20f46d0077f7a6d2f8078d0ed6a4c5a8062bea01
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=a5ff304195ca4c91425425136435fd2c3bde53ff
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=70d472076ce472b4ea605f06f14893eb17894720
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=626e080d297db7996d6995620bb4eeebd928067e
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=a568939487dcbc1a3e341208585e224be897e25e
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=fe997254b17dcaa19b7f559bc66730bc8cf1ad6f
7. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=05b9953e40d53acac86144a92724d4fab9ac5ac9
8. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=a726cc53424a6fdbd4e45e53b8e1d60a6ae75411
9. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=9811e2c321f779902a79bb0d9035a8848d8f0d39
10. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=f3e0f9c64a8557370437b961bb7e0425d87875db
11. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=3c367198e2e2825aae445497b3f7195329009aa1
12. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=9edd644864787a8c8ed24f6cdc20a652b4408726
13. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=b3674e8c01b36825879abff2f82697827b007a70
14. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=9f67997353caa29c6a080789a1fb6e01fb50c118
15. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=0f7f58ea629699c0fcd68fd01e41c2f6ac6c63d1

Build system: x86/64
Build-tested: mediatek/filogic
Run-tested: mediatek/filogic

Signed-off-by: Edoardo Pinci <epinci@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/25331
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-10-01 00:49:54 +02:00
Paul Spooren edd23eb01e kernel: build the powerpc vDSO after the stack protector flags
The powerpc kernel of the WD My Book Live differs between builds. The
difference sits in the vDSO, which the kernel embeds with its debug
information as vdso32.so.dbg:

  -GNU C11 14.4.0 ... -mstack-protector-guard=tls -mstack-protector-guard-reg=r2 -mstack-protector-guard-offset=872 -m32 -g -O2 ...
  +GNU C11 14.4.0 ... -m32 -g -O2 ...

stack_protector_prepare appends these flags to KBUILD_CFLAGS with $(eval)
from its recipe, while vdso_prepare builds the vDSO from a sibling
prerequisite of prepare. Nothing orders the two, so whether the flags
end up in DW_AT_producer depends on the order in which make starts them.

Add a pending patch that makes vdso_prepare depend on
stack_protector_prepare.

Link: https://github.com/openwrt/openwrt/pull/25429
Signed-off-by: Paul Spooren <mail@aparcar.org>
2026-09-30 11:12:38 +02:00
Rosen Penev bb5ae5fd5a linux: delete srab patch from generic
This patch is meant for platforms without OF and only for ARM SoCs. All
ARM stuff has OF. Removes warnings like:

b53-srab-switch b53-srab-switch: error -EINVAL: invalid resource (null)
b53-srab-switch b53-srab-switch: probe with driver b53-srab-switch failed with error -22

On platforms using b53.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25420
Signed-off-by: Jonas Jelonek <jonas@jonasjelonek.de>
2026-09-30 09:22:31 +02:00
Daniel Golle bf399ce146 kernel: answer the DRM symbols a modular DRM makes visible
The DRM and fb kmods are about to lose their target feature gate, so
they become selectable on targets whose kernel config has never had
CONFIG_DRM set. Enabling DRM there makes symbols visible that no
fragment answers, and syncconfig stops to ask about them, which fails
a non-interactive build.

Answer them in the generic config: the default DRM client, which
appears once a client is built, the NXP display bridges that ARCH_MXC
exposes, and the Acer Aspire 1 embedded controller.

The set was taken by merging each target's fragments with the kmods'
KCONFIG and recording every symbol the kernel's own oldconfig marks
NEW, on layerscape/armv7, qualcommbe/ipq95xx, mediatek/filogic and
ramips/mt7621, which covers arm, arm64 and mips.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-09-29 15:29:43 +01:00
Daniel Golle 3ee26fd417 generic: backport the btusb ID for the Mercusys MA530
The Mercusys MA530 dongle (2c4e:0115) is a Realtek RTL8761BUV, but the
6.18 btusb quirks table does not list the ID, so the controller comes up
without its firmware patch: HCI works, yet LE discovery never reports a
single device. Backport the v7.2 commit that adds the ID with the
Realtek and wideband speech flags.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-09-29 15:08:02 +01:00
Robert Marko a83663424d generic: backport MXL86211C 2.5G support
If SGMII with in-band is used on MX86211C then 2.5G will be missing.

Solve it by backporting upstream switch to gpy21x_config_init that also
advertises 2500Base-X.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-09-29 14:31:47 +02:00
Shiji Yang d9f8ecc394 kernel: backport fix for Macronix MX25L128xx series Flash
We need this patch to fix support for the early generation MX25L128xx
series Flash as it doesn't have SFDP.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=01739ccea21b69818dc071096a249e6f84a6b13d
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/24735
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-09-29 01:01:48 +02:00
Aleksei Sviridkin 5dcf6a3b3d generic: backport phylink fix for a PHY recorded before bringup fails
phylink_bringup_phy() stores the PHY in pl->phydev before its last
step that can fail. If that step fails, the pointer outlives the
failed connect: a later phylink_connect_phy() gets a permanent -EBUSY,
the SFP path is left with a pointer to a freed phy_device, and a
disconnect detaches the same PHY twice. The fix publishes the pointer
only after the last call that can fail.

It is also the base the pending phylink late-PHY series relies on:
retrying a connect after a failed bringup is what makes this window
reachable.

The fix is in net:
https://git.kernel.org/netdev/net/c/a940003f44e7

The phylink patches that apply on top of it are refreshed for hunk
offsets.

Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <f@lex.la>
Link: https://github.com/openwrt/openwrt/pull/25459
Signed-off-by: Jonas Jelonek <jonas@jonasjelonek.de>
2026-09-28 23:58:48 +02:00
Shiji Yang 939a6efb1b kernel: bump 6.12 to 6.12.111
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.111

Upstream merged patches:
- generic/backport-6.12/720-04-v6.13-net-phy-mediatek-Re-organize-MediaTek-ethernet-phy-d.patch[1]
- generic/backport-6.12/751-v7.2-net-dsa-qca8k-add-support-for-force-mode-for-fixed-l.patch[2]
- generic/backport-6.12/941-v7.2-net-dsa-realtek-rtl8365mb-add-support-for-rtl8367sb.patch[3]

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=eceb15fbc345b2e9cc1c1aa94baec2af828f6bfc
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1d256b5b49066afdfbf854d866e91d0fdbf7285b
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9baa7b30dff52e7c0bfa441adf69213410eb932c
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/25179
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-09-28 01:05:58 +02:00
Shiji Yang 252773a268 kernel: generic: remove kconfig symbol ARCH_HAS_PTDUMP
This is a CPU architecture specific feature. It will be automatically
selected if CPU support it, and we should not enable it globally.

It is worth noting that in the 6.18 kernel, GENERIC_PTDUMP has already
been renamed[1], but we did not add the new symbol ARCH_HAS_PTDUMP, so
we simply drop GENERIC_PTDUMP.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f9aad622006bd64c28fdf73c03a1c5139fcbf049
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/25179
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-09-28 01:05:58 +02:00
Shiji Yang 0d3a5dfdf4 kernel: bump 6.12 to 6.12.110
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.110

Upstream merged patches:
- generic/backport-6.12/201-v6.13-of-property-add-of_graph_get_next_port.patch[1]

Manually rebased patches:
- generic/hack-6.12/200-tools_portability.patch[2]

kconfig symbol changes:
- Rename GENERIC_PTDUMP -> ARCH_HAS_PTDUMP[3]

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=59d1a468e5e53bc8ca274966ee1935c39e403593
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=11bdce7911eba18d96283a212a9b8435cc4b94d2
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=654a60dcc384ae2cb65bbb59d11a3e7c3911b446
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/25179
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-09-28 01:05:58 +02:00
Shiji Yang 5150a2ede1 kernel: bump 6.12 to 6.12.109
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.109

All patches are automatically refreshed.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/25179
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-09-28 01:05:58 +02:00
Brandon Mahdavi 42656fee22 kernel: qca8k: skip host FDB entries on CPU ports, purge stale dynamic ones
Rework 711-04-net-dsa-qca8k-no-program-unicast-host-FDB-entries.patch:
host FDB adds on CPU ports are skipped, relying on unknown-unicast
flooding to deliver host-bound frames to the CPU. That assumption
breaks when a station roams from a wired user port onto an interface
behind the CPU (wireless AP and WDS setups): a stale dynamically
learned ATU entry still points at the old user port, so downstream
frames hit it and are dropped by same-port filtering instead of being
flooded to the CPU. With CPU-port hardware learning disabled (assisted
learning), nothing ever corrects the entry - clients roaming onto the
device stay blackholed while the device itself stays reachable.

Purge any dynamically learned ATU entry for {addr, vid} when the host
add is skipped, so the address becomes unknown unicast again - exactly
the delivery mechanism the skip relies on. Static entries are left
untouched, and the companion skip in qca8k_port_fdb_del is kept so
host address removal does not purge legitimately learned entries.

Also refresh ipq40xx's 706 patch for the shifted hunk offsets.

Tested on IPQ4019 (Google WiFi APs): stale entries are purged at
association time and roaming recovers instantly.

Fixes: 9716066e80 ("kernel: add qualcommax patches to generic")
Signed-off-by: Brandon Mahdavi <brandon.mahdavi@mahcom.com>
Link: https://github.com/openwrt/openwrt/pull/24162
Signed-off-by: Jonas Jelonek <jonas@jonasjelonek.de>
2026-09-27 11:30:05 +02:00
Sagnik Sasmal d42c59d039 generic: 6.18: backport SPI-NAND QE bit fix
Backport upstream commit 1c1a342aceec ("mtd: spinand: Do not update
the QE bit on devices without one") to OpenWrt's Linux 6.18 series.

On the Winbond W25N02KV, configuration register bit 0 is H-DIS, not
a QE bit. Clearing it can enable HOLD and cause flash commands to stall.
On the JioRouter JIDU6401, this caused sysupgrade failures and a
subsequent warm reboot hang in BL2.

Upstream commit:
https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git/commit/?id=1c1a342aceec79528b3ba51f376eca2be5928fe7

Validation:
- Patch prepared and refreshed against OpenWrt Linux 6.18.52.
- `target/linux/compile` passed for mediatek/filogic.
- The upstream patch reports successful sysupgrade and warm reboot on
  JioRouter JIDU6401 with W25N02KV.

Signed-off-by: Sagnik Sasmal <sagnik@sagnik.me>
Link: https://github.com/openwrt/openwrt/pull/25428
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-27 10:35:43 +02:00
Joshua Covington bbab063e48 bcm27xx: update patches up to Git HEAD as of 2026-09-17
These patches were generated from:
https://github.com/raspberrypi/linux/commits/rpi-6.18.y
Patches were generated from the diff between linux kernel branch linux-6.18.y
and rpi-6.18.y from raspberry pi kernel source:

git format-patch -N linux-6.18.y..rpi-6.18.y (HEAD)
(HEAD -> 4bb240615790ea5bd939484f4595b6952ac94ef4) as of 20260917
"Commit: media/hevc_d: Do not reject slice header with bad ref_idx entries"

Exceptions:
- github workflow patches
- applied and reverted patches
- README patches
- (def)configs
- patches merged upstream

Patches refreshed against current OpenWrt-kernel.

Previously, exporting patches from rpi-6.18.y via 'git format-patch' missed
content whenever the branch had merged commits from mainline, because
format-patch does not linearize merge history. The final patch in the series
(manual fixup-patch) restored that missing content (e.g.
mmc_card_working_sd_cq() in drivers/mmc/core/card.h) after each export.

This cycle, the patches touching the affected merge points were adjusted
around those points so that the full diff is captured directly by the
regular format-patch export - the content that the fixup-patch used to
reintroduce is now already present in the reworked series. A diff against
the upstream rpi-6.18.y tree confirms no delta remains, so the fixup is no
longer required and has been dropped.

Note: a normal 'quilt refresh' across the series still shifts hunk
offsets/context in unrelated patches as usual; that's expected housekeeping
and is unrelated to the merge-commit gap this fixup was compensating for.

Add the new CONFIG_CLK_HOG symbol, disabled by default, to
the generic config.

Fixes: https://github.com/openwrt/openwrt/issues/24951

Signed-off-by: Joshua Covington <joshuacov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25243
Signed-off-by: Jonas Jelonek <jonas@jonasjelonek.de>
2026-09-27 10:18:31 +02:00
Paul Spooren 50ec6f218a kernel: map the kernel tree out of __FILE__ for external modules
Kernel modules from the packages feed differ between builds on 6.18,
e.g. kmod-v4l2loopback, kmod-jool-netfilter, kmod-pf-ring and
kmod-usb-serial-dmx_usb_module:

  -/builder/shared-workdir/build/build_dir/.../linux-6.18.52/include/linux/ucopysize.h
  +/tmp/rebuilderd-openwrt.Xebb8P/src/build_dir/.../linux-6.18.52/include/linux/ucopysize.h

These packages call make -C $(LINUX_DIR) M=... without
KERNEL_MAKE_FLAGS, so they get none of the OpenWrt prefix maps. With
6.12 that did not matter, since srctree stayed "." and the kernel
headers were included by a relative path. Since 6.13 srctree holds the
absolute path of the kernel tree for external modules, while kbuild
only maps srcroot, the module directory.

Add a pending patch that maps the kernel tree for external modules too.
It is added before the map of srcroot and before KCFLAGS, and GCC uses
the last matching map, so modules built through KERNEL_MAKE_FLAGS keep
their current output.

Link: https://github.com/openwrt/openwrt/pull/25356
Signed-off-by: Paul Spooren <mail@aparcar.org>
2026-09-25 18:03:23 +02:00
Daniel Golle 8b7604f90a generic: backport cgroup CLONE_INTO_CGROUP SIGKILL fix
Since b69bb476dee9 ("cgroup: fix race between fork and cgroup.kill") the
fork path snapshots kill_seq in cgroup_css_set_fork() before the
CLONE_INTO_CGROUP target has been resolved, so it always records the
forking task's own cgroup while cgroup_post_fork() reads the target's
and compares the two. Once cgroup.kill has been written to a cgroup,
every child later cloned out of it into another cgroup is SIGKILLed
before it runs a single instruction, for as long as that cgroup exists.

This breaks re-creating an OCI container under procd, whose service
supervisor kills the instance cgroup on exit and leaves it in place: the
container init ujail clones with CLONE_INTO_CGROUP is killed at birth and
the create fails with no diagnostic. The fix is in mainline from v7.3-rc2
and carries Cc: stable, so it is expected to reach 6.18.y with a future
stable release, at which point this patch can be dropped.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-09-24 14:41:00 +01:00
Gilberto Conde 23bebd5c32 kernel: qmi_wwan: add support for Quectel EG120K-EA
The Quectel EG120K-EA (LTE Cat.12) reports USB ID 2c7c:030b and exposes
its QMI/RMNET function on a vendor-specific ff/ff/ff interface. The same
product ID is already known to the option driver as EM060K, which claims
the serial interfaces, but without a qmi_wwan entry the data interface is
left unbound and no cdc-wdm node appears.

Add the device using QMI_MATCH_FF_FF_FF so the DTR quirk is applied.

Tested on a GL.iNet GL-X2000, where the modem enumerates at SuperSpeed and
now brings up cdc-wdm0 and wwan0. A data session over MEO (268-06) was
verified end to end.

Accepted upstream via netdev/net, so this is carried as a backport and can
be dropped once the kernel is bumped to 7.3 or later. Inserting it ahead of
the MeigLink hack shifts that patch's offsets, so
780-usb-net-MeigLink_modem_support.patch is refreshed as well.

Link: https://patch.msgid.link/20260921093426.2870266-1-gilbertorconde@gmail.com

Signed-off-by: Gilberto Conde <gilbertorconde@gmail.com>
2026-09-24 15:04:38 +02:00
Simon Polack 714786c3d3 generic: net: phy: realtek: add LED support for RTL8261C/D
The RTL8261C/D drive their LEDs through the same register block as the
RTL8221B, with four LEDs instead of three and two more speed bits. Wire
the callbacks to the RTL8261C_CG and RTL8261CE_CG entries so the 10G
ports of the Gemtek W1700K can be driven from the netdev trigger instead
of coming up dark.

Submitted upstream in the same series as the SerDes lane polarity patch.

Apply it ahead of the out-of-tree
742-net-phy-realtek-add-5G-and-10G-PHY-support.patch as well, so it too
can be carried exactly as submitted. 742's realtek_drvs[] hunk is rebased
on top of it, which only moves its leading context.

Refresh out-of-tree patches in realtek target.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Simon Polack <spolack+git@mailbox.org>
Link: https://github.com/openwrt/openwrt/pull/25092
Signed-off-by: Jonas Jelonek <jonas@jonasjelonek.de>
2026-09-24 09:33:30 +02:00
Simon Polack fce07ce378 generic: net: phy: realtek: apply SerDes lane polarity on RTL8261C/D
The Gemtek W1700K routes the USXGMII lanes between the AN7581 and its
RTL8261CE inverted and describes that in the device tree, but nothing in
the RTL8261C/D driver reads tx-polarity/rx-polarity and the Airoha PCS
has no polarity handling of its own. The copper side negotiates normally
while the SerDes never trains and the netdev stays NO-CARRIER.

Add a read and a read-modify-write helper for the VEND1 SerDes command
window and program the lane polarity from rtl8261x_config_init().

Submitted upstream as part of a series documenting the RTL8261C/D device
tree bindings and adding SerDes lane polarity and LED support.

Apply it ahead of the out-of-tree
742-net-phy-realtek-add-5G-and-10G-PHY-support.patch so it can be carried
exactly as submitted. 742 drops its own select PHY_COMMON_PROPS and its
phy-common-props.h include, as both come from here now. Once accepted
upstream this patch only moves to backports, so they stay dropped.

Refresh out-of-tree patches in realtek target.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Simon Polack <spolack+git@mailbox.org>
Link: https://github.com/openwrt/openwrt/pull/25092
Signed-off-by: Jonas Jelonek <jonas@jonasjelonek.de>
2026-09-24 09:33:30 +02:00
Simon Polack 393bd191d4 generic: 6.18: backport RTL8261CE_CG PHY support
Backport support for the Realtek RTL8261CE_CG (PHY ID 0x001cc899),
merged for v7.4. It shares the sub-PHY-ID and the firmware with the
RTL8261C_CG.

ca44c21fc117 ("net: phy: realtek: add support for RTL8261CE_CG")

Parts reporting this PHY ID fall through to the generic Clause 45
driver. Both 10G ports of the Gemtek W1700K carry one and never come up.

The patch applies before the out-of-tree
742-net-phy-realtek-add-5G-and-10G-PHY-support.patch, which is where the
RTL_8261N/RTL_8264/RTL_8264B context around the new define comes from, so
742 gains the RTL_8261CE_CG define as context.

Refresh various out-of-tree patches in generic and realtek target.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Simon Polack <spolack+git@mailbox.org>
Link: https://github.com/openwrt/openwrt/pull/25092
Signed-off-by: Jonas Jelonek <jonas@jonasjelonek.de>
2026-09-24 09:33:30 +02:00
Simon Polack 51478f3122 generic: 6.18: backport RTL8261C/D PHY support
Backport the upstream series adding support for the Realtek RTL8261C_CG
(PHY ID 0x001cc898) and RTL8261D 10Gbps PHYs, merged for v7.3 as
"add-support-for-rtl8261c-d".

Both parts share the PHY ID and are told apart by a sub-PHY-ID read from
the vendor extension page (0x00 for the RTL8261C, 0x81 for the RTL8261D).
The RTL8261C loads rtl_nic/rtl8261c.bin, the RTL8261D needs no firmware.

Two Clause 45 helpers the driver depends on are backported along with it.

3b63c19e64f8 ("net: phy: c45: add genphy_c45_pma_soft_reset()")
d7722c03089e ("net: phy: c45: add setup and read master/slave helpers")
b772b5ae4537 ("net: phy: realtek: add support for RTL8261C_CG")
a04171a1cf32 ("net: phy: realtek: load firmware for RTL8261C_CG")
f0667918d5fc ("net: phy: realtek: add support for RTL8261D")

Refresh various out-of-tree patches in generic and realtek target.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Simon Polack <spolack+git@mailbox.org>
Link: https://github.com/openwrt/openwrt/pull/25092
Signed-off-by: Jonas Jelonek <jonas@jonasjelonek.de>
2026-09-24 09:33:29 +02:00