975 Commits
Author SHA1 Message Date
Daniel Golle dc7acc1888 mipi-dbi: depend on kmod-drm-panel-mipi-dbi
Apply the established OpenWrt packaging pattern of a firmware package
depending on its only consumer.

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
Robert Marko 51a488a7c6 ipq40xx: make WAC5xx factory tar reproducible
The WAC5xx factory image checksum manifest currently records the
absolute build path. This causes otherwise identical builds to produce
different factory tarballs.

Calculate the checksum from the tar staging directory, recording only
the image basename. This makes the generated manifest independent of
the build directory.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-10-02 13:51:11 +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
Daniel Golle de2f69bf89 treewide: drop the audio and display target features
Both features describe an SoC family, which is the wrong granularity: a
mediatek/mt7623 board claims a display while a filogic board with a MIPI
DBI panel cannot, and rockchip claims audio for a NanoPi R2S as much as
for a Rock 5B. The audio-support and video-support packages carry that
information per image, and the modules depend on them.

Drop both features from every target that declares them.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-09-29 15:29:43 +01:00
Daniel Golle e829091f34 video-support: add a package for display device handling
The display target feature gates every DRM module, but it says nothing
useful: it is set on ten targets, so a mediatek/mt7623 board can have a
display while a filogic board with a MIPI DBI panel cannot, and rockchip
claims it for a NanoPi R2S as much as for a Rock 5B. Whether a board
drives a panel is a per-device choice, not a property of the SoC family.
The DRM and V4L2 nodes also end up 0600 root:root, so a display server
runs as root or not at all.

Add a video-support package which allocates the video and video-capture
groups and installs the hotplug rules for the DRM and V4L2 nodes, and
make the modules depend on it. The dependency is a plain one, not a
select, so the modules are offered once the feature is chosen. Targets
whose display drivers are built into the kernel carry the package in
DEFAULT_PACKAGES, since no module pulls it in for them, and the one
device profile that ships a DRM module on another target lists it
directly. DISPLAY_SUPPORT stays for now, so this changes no existing
selection.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-09-29 15:29:43 +01: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
John Crispin 8e7a8a2b92 image: create the archive images with fixed metadata
Several image recipes call tar without the options that pin the member
order, the owner, the mode and the modification time. The archive then
holds the build time, the umask of the build user and the readdir order of
the build directory, so two builds of the same source produce different
images.

Pass the same options that Image/mkfs/targz and sysupgrade-tar.sh already
use. The recipes define no member order, so sorting the members takes
nothing away. The diffoscope of the published WAX610 archive shows the
order differing between the build machines, which is what a readdir order
produces.

--mode=go-w clears the write bit of the group and of the others. tar keeps
the mode of the file on disk, which follows the umask of the build user,
so without it the archive differs between a host with umask 022 and one
with umask 002.

Covers the Netgear factory archives of ipq40xx, ipq60xx and ipq807x, the
Creality factory archive of mt76x8, the D-Link DWL8610AP archive of
bcm53xx, the Freecom archive of ixp4xx and the Linksys switch archive of
realtek.

Signed-off-by: John Crispin <john@phrozen.org>
2026-09-22 18:46:30 +02:00
Robert Marko 928cd26bd9 generic: 6.18: add CONFIG_QCOMTEE
It showed up after a kernel refresh on qualcommax, as it only shows up
with ALL_KMODS.

So, to avoid dropping it again from target config, move it to generic.

Fixes: 4f9740c734 ("qualcommax: refresh config")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-17 11:15:04 +02:00
Robert Marko b6e9ec5cfc treewide: drop CONFIG_VIDEO_QCOM_IRIS from target configs
Now that its disabled in generic config, we can drop it from individual
target configs.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-17 00:20:32 +02:00
John Audia ddbf9c8557 kernel: bump 6.18 to 6.18.52
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.52

Removed upstreamed:
  linux/airoha/patches-6.18/109-02-v6.19-pinctrl-airoha-convert-PHY-LED-GPIO-to-macro.patch[1]
  linux/airoha/patches-6.18/109-03-v6.19-pinctrl-airoha-convert-PWM-GPIO-to-macro.patch[2]
  linux/airoha/patches-6.18/109-05-v6.19-pinctrl-airoha-add-support-for-Airoha-AN7583-PINs.patch[3]
  linux/airoha/patches-6.18/111-v6.19-wifi-mt76-Introduce-the-NPU-generic-layer.patch[4]
  linux/airoha/patches-6.18/113-v6.19-pinctrl-airoha-Fix-AIROHA_PINCTRL_CONFS_DRIVE_E2.patch[5]
  linux/airoha/patches-6.18/180-03-v7.2-pinctrl-airoha-an7583-add-missed-gpio32-pin-group.patch[6]
  linux/airoha/patches-6.18/180-05-v7.2-pinctrl-airoha-an7583-fix-misprint-in-gpio19-pinconf.patch[7]
  linux/airoha/patches-6.18/180-06-v7.2-pinctrl-airoha-an7581-fix-incorrect-led-mapping-in-p.patch[8]
  linux/airoha/patches-6.18/180-07-v7.2-pinctrl-airoha-an7583-fix-incorrect-led-mapping-in-p.patch[9]
  linux/airoha/patches-6.18/180-08-v7.2-pinctrl-airoha-fix-pwm-pin-function-for-an7581-and-a.patch[10]
  linux/airoha/patches-6.18/180-09-v7.2-pinctrl-airoha-an7583-fix-gpio21-pin-group.patch[11]
  linux/airoha/patches-6.18/180-10-v7.2-pinctrl-airoha-an7583-add-missed-gpio22-pin-group.patch[12]
  linux/airoha/patches-6.18/180-11-v7.2-pinctrl-airoha-an7583-fix-phy1_led1-pin-function.patch[13]
  linux/airoha/patches-6.18/180-12-v7.2-pinctrl-airoha-an7583-remove-undefined-groups-from-p.patch[14]
  linux/airoha/patches-6.18/202-01-v7.3-pinctrl-airoha-fix-mdio-bitfield-names.patch[15]
  linux/airoha/patches-6.18/202-02-v7.3-pinctrl-airoha-an7581-fix-pinconf-of-i2c_scl-i2c.patch[16]
  linux/airoha/patches-6.18/202-03-v7.3-pinctrl-airoha-an7583-fix-I2C0_SDA_PD-register-b.patch[17]
  linux/airoha/patches-6.18/202-04-v7.3-pinctrl-airoha-an7581-fix-mux-conf-of-pcie_reset.patch[18]
  linux/airoha/patches-6.18/202-05-v7.3-pinctrl-airoha-an7583-fix-muxing-of-non-gpio-def.patch[19]
  linux/airoha/patches-6.18/202-09-v7.3-pinctrl-airoha-an7583-fix-spi-group-pins.patch[20]
  linux/airoha/patches-6.18/202-10-v7.3-pinctrl-airoha-add-missed-get_direction-function.patch[21]
  linux/airoha/patches-6.18/202-13-v7.3-pinctrl-airoha-fix-getting-gpiochip-pinctrl-poin.patch[22]
  linux/airoha/patches-6.18/202-14-v7.3-pinctrl-airoha-add-missed-IRQ-resource-helpers.patch[23]
  linux/airoha/patches-6.18/202-15-v7.3-pinctrl-airoha-fix-IRQ-mask-unmask-code.patch[24]
  linux/airoha/patches-6.18/202-16-v7.3-pinctrl-airoha-fix-edge-triggered-interrupts-han.patch[25]
  linux/apm821xx/patches-6.18/100-powerpc-44x-Set-GPIO-chip-firmware-node.patch[26]
  linux/econet/patches-6.18/042-01-v6.19-pinctrl-airoha-convert-PHY-LED-GPIO-to-macro.patch[27]
  linux/econet/patches-6.18/042-02-v6.19-pinctrl-airoha-convert-PWM-GPIO-to-macro.patch[28]
  linux/econet/patches-6.18/042-03-v6.19-pinctrl-airoha-add-support-for-Airoha-AN7583-PINs.patch[29]
  linux/econet/patches-6.18/042-04-v6.19-pinctrl-airoha-Fix-AIROHA_PINCTRL_CONFS_DRIVE_E2.patch[30]
  linux/realtek/patches-6.18/032-01-v7.2-irqchip-irq-realtek-rtl-Add-simplify-register-helper.patch[31]
  linux/realtek/patches-6.18/032-02-v7.2-irqchip-irq-realtek-rtl-Add-multicore-support.patch[32]
  linux/realtek/patches-6.18/038-v7.3-irqchip-irq-realtek-rtl-change-to-__raw-reads-and-writes.patch[33]
  linux/econet/patches-6.18/043-03-v7.2-pinctrl-airoha-an7583-add-missed-gpio32-pin-group.patch[34]
  linux/econet/patches-6.18/043-04-v7.2-pinctrl-airoha-an7583-fix-misprint-in-gpio19-pinconf.patch[35]
  linux/econet/patches-6.18/043-05-v7.2-pinctrl-airoha-an7581-fix-incorrect-led-mapping-in-p.patch[36]
  linux/econet/patches-6.18/043-06-v7.2-pinctrl-airoha-an7583-fix-incorrect-led-mapping-in-p.patch[37]
  linux/econet/patches-6.18/043-07-v7.2-pinctrl-airoha-fix-pwm-pin-function-for-an7581-and-a.patch[38]
  linux/econet/patches-6.18/043-08-v7.2-pinctrl-airoha-an7583-fix-gpio21-pin-group.patch[39]
  linux/econet/patches-6.18/043-09-v7.2-pinctrl-airoha-an7583-add-missed-gpio22-pin-group.patch[40]
  linux/econet/patches-6.18/043-10-v7.2-pinctrl-airoha-an7583-fix-phy1_led1-pin-function.patch[41]
  linux/econet/patches-6.18/043-11-v7.2-pinctrl-airoha-an7583-remove-undefined-groups-from-p.patch[42]
  linux/econet/patches-6.18/044-01-v7.3-pinctrl-airoha-fix-mdio-bitfield-names.patch[43]
  linux/econet/patches-6.18/044-02-v7.3-pinctrl-airoha-an7581-fix-pinconf-of-i2c_scl-i2c.patch[44]
  linux/econet/patches-6.18/044-03-v7.3-pinctrl-airoha-an7583-fix-I2C0_SDA_PD-register-b.patch[45]
  linux/econet/patches-6.18/044-04-v7.3-pinctrl-airoha-an7581-fix-mux-conf-of-pcie_reset.patch[46]
  linux/econet/patches-6.18/044-05-v7.3-pinctrl-airoha-an7583-fix-muxing-of-non-gpio-def.patch[47]
  linux/econet/patches-6.18/044-09-v7.3-pinctrl-airoha-an7583-fix-spi-group-pins.patch[48]
  linux/econet/patches-6.18/044-10-v7.3-pinctrl-airoha-add-missed-get_direction-function.patch[49]
  linux/econet/patches-6.18/044-13-v7.3-pinctrl-airoha-fix-getting-gpiochip-pinctrl-poin.patch[50]
  linux/econet/patches-6.18/044-14-v7.3-pinctrl-airoha-add-missed-IRQ-resource-helpers.patch[51]
  linux/econet/patches-6.18/044-15-v7.3-pinctrl-airoha-fix-IRQ-mask-unmask-code.patch[52]
  linux/econet/patches-6.18/044-16-v7.3-pinctrl-airoha-fix-edge-triggered-interrupts-han.patch[53]
  linux/mvebu/patches-6.18/101-arm64-dts-armada-3720-turris-mox-fix-usb3-phys.patch[54]
  linux/qualcommax/patches-6.18/0085-v7.3-arm64-dts-qcom-ipq5018-Correct-CMN-PLL-reference-clock-rate.patch[55]
  linux/qualcommax/patches-6.18/0090-v7.3-arm64-qcom-ipq5018-Add-GEPHY-RX-and-TX-clocks.patch[56]
  linux/realtek/patches-6.18/032-04-v7.3-irqchip-irq-realtek-rtl-Add-interrupt-data-structure.patch[57]
  linux/realtek/patches-6.18/032-05-v7.3-irqchip-irq-realtek-rtl-Add-mask-for-interrupt-handl.patch[58]
  linux/realtek/patches-6.18/032-03-v7.3-irqchip-irq-realtek-rtl-Use-helper-for-parent-setup.patch[59]

Manually rebased:
  linux/generic/hack-6.18/200-tools_portability.patch
  linux/airoha/patches-6.18/180-01-v7.2-pinctrl-Move-Airoha-driver-to-dedicated-directory.patch
  linux/airoha/patches-6.18/202-17-v7.3-pinctrl-airoha-remove-not-needed-irq_type-array.patch
  linux/airoha/patches-6.18/402-01-thermal-airoha-convert-to-regmap-API.patch
  linux/econet/patches-6.18/043-02-v7.2-pinctrl-Move-Airoha-driver-to-dedicated-directory.patch
  linux/econet/patches-6.18/044-17-v7.3-pinctrl-airoha-remove-not-needed-irq_type-array.patch
  linux/mediatek/patches-6.18/361-clk-mediatek-add-clock-driver-for-mt7987-from-sdk.patch
  linux/octeon/patches-6.18/105-staging-octeon-support-EPROBE_DEFER-when-reading-MAC.patch
  linux/realtek/patches-6.18/032-06-v7.3-irqchip-irq-realtek-rtl-Add-a-select-function.patch
  linux/realtek/patches-6.18/032-07-v7.3-irqchip-irq-realtek-rtl-Allow-shuffled-interrupt-ord.patch

Dropped obsolete:
  linux/bcm27xx/patches-6.18/0082-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch

All other patches automatically rebased via update_kernel.sh

For target/linux/x86/generic/config-6.18, added new config option:
  # CONFIG_X86_AMD_PSTATE_DYNAMIC_EPP is not set

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=74c2c5b459b42e23e8b06e5685efb6a4ab39bea1
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=cfe4350fdcb53a31cb91faef26af200c6b8e18c7
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=4bf51df55d7bdbd5f6a694a54fc0a82e41df483a
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=6e9207ac476ca50be95a552d1fc24dfa94a94266
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=0ca274a45eaead8284fb86ebc1782b4488cfd072
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=2e7c3c433fd791b95bc2264cab3c27f34e3b88b9
7. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=46bae3189cf5c4e37d72a542a717c52b579638c4
8. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=caf1e44e672b5c8751f7fbef1708204771d9bb8e
9. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=591424f9f5d51acde3ec478ea6c80ad20c6cec87
10. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=2ad214708259220add587f5a0bd3d7823fc3ed81
11. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=cf2e698957b65038ed0bfd27b95aa7baff3d3703
12. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=7bca33d6f6e00ea7f9c31bffbfecd4f2713fb2cb
13. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=6d0bcb2153128976038b61220a3297c80d273b22
14. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=5331bf0d5ca05e1d79386e41aeb9622e1a6cadf8
15. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=75ceddfa7df7ef1cee3f8d2b2095eb3b5f61a501
16. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=cbde1169bdd2cfda7b53f31bb0f6a32839c4d04e
17. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=fa27ddca660225863b3c301ad9f52b082af5bba6
18. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=2313f262999c72fbc940b3db9fa7e500ff9f7b96
19. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=38a2a4d6c7ac7d183a91f8d95a483884269b8059
20. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=7d2b3f8a996d1c3dceb95a10e766769f2951b92e
21. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=f3b8fe04dbfe3e9aaa00bd1febf2a6a1d600b79a
22. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=9ea692247ee2485e2fdd325bbe40d08fd0606a22
23. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=fda7350f257e59eee1bc7537c202e36bd56aea97
24. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=c7596135e7e9a77db9b34e61e24c7ac4562f88a3
25. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=244d0299008144e5c8f0c52cd23f85e4876ad993
26. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=7969b571ae940da0d429724a1a8ce141feda6583
27. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=74c2c5b459b42e23e8b06e5685efb6a4ab39bea1
28. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=cfe4350fdcb53a31cb91faef26af200c6b8e18c7
29. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=4bf51df55d7bdbd5f6a694a54fc0a82e41df483a
30. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=0ca274a45eaead8284fb86ebc1782b4488cfd072
31. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=a9be52993526640e99b5c49163e9efa9e7f4d93d
32. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=f7d818afcc22532cb9e854b204970a8d790576bf
33. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=5f02599590a4e4eb1dde3d17367b2b58dfe5ac4b
34. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=2e7c3c433fd791b95bc2264cab3c27f34e3b88b9
35. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=46bae3189cf5c4e37d72a542a717c52b579638c4
36. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=caf1e44e672b5c8751f7fbef1708204771d9bb8e
37. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=591424f9f5d51acde3ec478ea6c80ad20c6cec87
38. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=2ad214708259220add587f5a0bd3d7823fc3ed81
39. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=cf2e698957b65038ed0bfd27b95aa7baff3d3703
40. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=7bca33d6f6e00ea7f9c31bffbfecd4f2713fb2cb
41. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=6d0bcb2153128976038b61220a3297c80d273b22
42. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=5331bf0d5ca05e1d79386e41aeb9622e1a6cadf8
43. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=75ceddfa7df7ef1cee3f8d2b2095eb3b5f61a501
44. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=cbde1169bdd2cfda7b53f31bb0f6a32839c4d04e
45. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=fa27ddca660225863b3c301ad9f52b082af5bba6
46. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=2313f262999c72fbc940b3db9fa7e500ff9f7b96
47. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=38a2a4d6c7ac7d183a91f8d95a483884269b8059
48. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=7d2b3f8a996d1c3dceb95a10e766769f2951b92e
49. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=f3b8fe04dbfe3e9aaa00bd1febf2a6a1d600b79a
50. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=9ea692247ee2485e2fdd325bbe40d08fd0606a22
51. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=fda7350f257e59eee1bc7537c202e36bd56aea97
52. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=c7596135e7e9a77db9b34e61e24c7ac4562f88a3
53. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=244d0299008144e5c8f0c52cd23f85e4876ad993
54. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=19ebf0422fe916304220d33f701c5fd8ed7532da
55. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=c9fed0c7056c59294da36e05617ee8f6f629bf74
56. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=4e59a0b78e04884669ac22019a98f2112f834531
57. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=2aa9fcf31f3877311d90ed4519df999e6e684d31
58. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=5aa7bbe0bac89e7b127f0742e5536d02db491c74
59. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.52&id=421615e833d73b4c3bd49953a14fdfc5386c93b2

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/24800
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-16 11:43:34 +02:00
John Audia 829a6e6fb2 kernel: bump 6.18 to 6.18.51
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.51

Manually rebased:
  linux/qualcommax/patches-6.18/0185-firmware-qcom_scm-ipq5332-add-support-to-pass-metadata-size.patch
  linux/qualcommax/patches-6.18/0803-firmware-qcom_scm-ipq5332-add-msa-lock-unlock-suppor.patch
  linux/qualcommax/patches-6.18/0811-firmware-qcom_scm-support-MPD.patch

Removed upstreamed:
  airoha/patches-6.18/221-01-pmdomain-mediatek-allow-Airoha-platform-to-access-PM-Domains-menu.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.51&id=6e96e2bb1065bde4e693787ff84c75867fad2c6f

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/24800
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-16 11:43:34 +02:00
John Audia f1e0c4ac40 kernel: bump 6.18 to 6.18.50
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.50

Removed upstreamed:
  linux/generic/backport-6.18/737-03-v7.3-net-phylink-correctly-validate-returned-PCS-in-phyli.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.50&id=b6b533f83461c3730875cf3ed5ff6362dcb67be9

All patches automatically rebased via update_kernel.sh

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/24800
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-16 11:43:34 +02:00
John Audia 02f267cbc6 kernel: bump 6.18 to 6.18.49
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.49

Removed upstreamed:
  linux/generic/backport-6.18/501-v7.1-ksmbd-harden-file-lifetime-during-session-teardown.patch[1]
  linux/generic/backport-6.18/894-v7.3-usb-xhci-handle-port-events-when-there-is-one-roothub.patch[2]

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.49&id=6106fb7962a00ee990f7b6c8f212237c9a2bfc74
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.49&id=45dbddc389c59c0fc6cac45fea8fe816ffe040f5

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/24800
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-16 11:43:33 +02:00
John Audia 5edc3c1b8a kernel: bump 6.18 to 6.18.45
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.45

Manually rebased:
  generic/pending-6.18/804-nvmem-core-support-mac-base-fixed-layout-cells.patch
  generic/pending-6.18/809-01-nvmem-core-generalize-mac-base-cells-handling.patch

Removed upstreamed:
  bcm53xx/patches-6.18/353-ARM-dts-bcm-ns-fix-PCIe-controller-2-second-interrup.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.45&id=9e5e88fbfc87d6a9edf72f8febc94061a6d0395e

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/24800
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-16 11:43:33 +02:00
Jeremy Lawrence a1ee4ad39e ipq40xx: fix Zigbee SPI chip select on Linksys WHW03 v1
The WHW03 v1 routes the EM3581 chip select to GPIO56, unlike v2 which
uses GPIO45. Override both the SPI pinctrl GPIO group and cs-gpios in
the v1 device tree so the kernel drives the correct line. Leave the
shared configuration used by v2 unchanged.

Signed-off-by: Jeremy Lawrence <jlawrence6809@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/25126
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-09-11 15:07:11 +02:00
Matt Eaton c937a4a55f ipq40xx: fix image size limits for EnGenius EAP1300
The EAP1300 stores kernel and rootfs in a single 30464k firmware
partition parsed by the FIT parser, which reads the kernel length
from the FIT header at runtime. The image recipe does not pad the
kernel, so the KERNEL_SIZE of 5120k does not correspond to any
boundary on flash and only causes the build to fail once the kernel
grows past it. IMAGE_SIZE was set to the remainder of the partition
and was never checked, as the sysupgrade recipe does not call
check-size.

Drop KERNEL_SIZE, set IMAGE_SIZE to the full partition and check the
combined image instead, matching the other EnGenius devices in this
target.

Signed-off-by: Matt Eaton <git@divinehawk.com>
Link: https://github.com/openwrt/openwrt/pull/24812
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-08-23 11:30:58 +02:00
Matt Eaton ba7cdae88f ipq40xx: switch to kernel modules to reduce kernel size
Multiple devices are limited on kernel size due to the kernel
partition.

Modularize multiple drivers to reduce kernel size.

Signed-off-by: Matt Eaton <git@divinehawk.com>
Link: https://github.com/openwrt/openwrt/pull/24812
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-08-23 11:30:58 +02:00
Matt Eaton 20d94d5a2b ipq40xx: enable display feature on generic subtarget
The Ubiquiti UniFi Travel Router lists kmod-drm-panel-mipi-dbi and
kmod-backlight-pwm in DEVICE_PACKAGES. Both resolve through packages
gated on @DISPLAY_SUPPORT, which is only selected when the target
advertises the 'display' feature. Without it those packages are never
built, and the image step fails with:

  ERROR: unable to select packages:
    kmod-backlight-pwm (no such package)
    kmod-drm-panel-mipi-dbi (no such package)

This has broken every ipq40xx/generic snapshot build since r35795.

Signed-off-by: Matt Eaton <git@divinehawk.com>
Link: https://github.com/openwrt/openwrt/pull/24757
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-08-16 12:33:20 +02:00
Matt Eaton 964c05aee9 ipq40xx: fix up UTR softpwm backlight
Correct brightness table - these values come from the stock firmware.

Rename the soft-pwm node to pwm so it satisfied pwm-gpio.yaml
validation.

Drop unneeded CONFIG_PWM_GPIO=m from kernel configuration.

Fixes: e4de948703 ("kernel: add softpwm/gpio-pwm backlight support for UTR")
Signed-off-by: Matt Eaton <git@divinehawk.com>
Link: https://github.com/openwrt/openwrt/pull/24739
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-08-15 14:22:08 +02:00
Matt Eaton e4de948703 kernel: add softpwm/gpio-pwm backlight support for UTR
Enable PWM and GPIO PWM support in the kernel and switch the UTR LCD
backlight from gpio-backlight to pwm-backlight.

Add a GPIO PWM provider using GPIO2 and configure the LCD backlight
with a nonlinear brightness table (extracted from vendor firmware).

Signed-off-by: Matt Eaton <git@divinehawk.com>
Link: https://github.com/openwrt/openwrt/pull/22740
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-08-15 11:11:07 +02:00
Matt Eaton 775836863c ipq40xx: add support for Ubiquiti UniFi Travel Router
Support for Ubiquiti UniFi Travel Router

SoC: IPQ4018
DRAM: 256 MB
NAND: Macronix MX35LFxGE4AB 128 MiB
NOR: MX25L3205D 4 MiB
ETH: 2x 10/100/1000 Ethernet (QCA8075 switch chip)
WIFI: 2x IPQ4018 (2.4GHz 802.11n + 5GHz 802.11ac)
BT: Internal USB Bluetooth adapter (Cambridge Silicon Radio, 0a12:0001)
LCD: ST7789V (135x240), GPIO backlight
ACC: ST LIS2DW12 accelerometer (I2C)
BTN: Reset
UART: through-hole pads on PCB / 3.3V / G, TX, RX, V / 115200n8
USB: 1x USB-C (power), 1x USB-C (host)
PWR: 5 VDC, 2 A (USB-C)

MAC address layout (mac-base at EEPROM offset 0x0):
  +0: xx:xx:xx:xx:xx:xx  Ethernet WAN
  +1: xx:xx:xx:xx:xx:xx  Ethernet LAN
  +2: xx:xx:xx:xx:xx:xx  2.4 GHz Wi-Fi
  +3: xx:xx:xx:xx:xx:xx  5 GHz Wi-Fi

The UTR has two slots: kernel0 and kernel1. The built-in TFTP recovery always writes to kernel0, so
we want to write to kernel1 to preserve that recovery mechanism.

From factory firmware:

1.  SSH into your UTR.
2.  Check if /proc/cmdline contains ubntbootid=1, then you are on the kernel1 slot: Upgrade/change
to a different version of the UTR firmware, this will switch you back to kernel0 slot. Alternatively
use the TFTP recovery procedure. Reboot and start over at Step 1.
3.  Copy the firmware.ubi to the UTR (scp -O) into /tmp/factory.ubi.
4.  Change the boot slot to kernel1.

printf '\xff\xff\xff\xff\x2b\xe8\x4d\xa3' > /tmp/bs.bin
mtd -e bs write /tmp/bs.bin bs
rm -f /tmp/bs.bin

5.  Set up uboot config to remove signature checks on kernel1 slot. You need to keep the signature
checks to run the stock unifi firmware which we are leaving in kernel0.

BOOTCMD_REAL="sf probe; sf read 0x80000000 0x2f0000 0x800; \
mw.b 0x80010000 0xff 0x1; if cmp.b 0x80000000 0x80010000 0x1; \
then echo \"Slot 1 / kernel1\"; run bootopenwrt; \
else echo \"Slot 0 / kernel0\"; bootubnt; fi"

fw_setenv -s - <<-EOF
	bootopenwrt fdt addr \${fdtcontroladdr}; fdt rm /signature; bootubnt
	bootcmd_real $BOOTCMD_REAL
EOF

6.  Flash the firmware.

MTD="$(grep -w '"kernel1"' /proc/mtd | cut -d: -f1)"
ubidetach -p /dev/$MTD 2>/dev/null || true
ubiformat /dev/$MTD -y -f /tmp/factory.ubi

7.  Reboot

reboot

----
To restore the vendor image, switch back to slot 0 and restore signed booting to both slots:

printf '\x00\x00\x00\x00\x2b\xe8\x4d\xa3' > /tmp/bs.bin
mtd -e bs write /tmp/bs.bin bs
rm -f /tmp/bs.bin
fw_setenv bootcmd_real 'bootubnt'
reboot

Then erase slot 1 so it can be used for vendor upgrades:
MTD="$(grep -w '"kernel1"' /proc/mtd | cut -d: -f1)"
ubidetach -p /dev/$MTD 2>/dev/null || true
ubiformat /dev/$MTD

Signed-off-by: Matt Eaton <git@divinehawk.com>
Link: https://github.com/openwrt/openwrt/pull/22740
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-08-15 11:11:07 +02:00
Shiji Yang 53a0d54766 kernel: bump 6.18 to 6.18.44
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.44

New kconfig symbol:
- EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS[1]

All patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.44&id=5aaa06dfc10f8398c8807453dbec738ea9af10e4
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/24551
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-08-13 00:22:32 +02:00
Shiji Yang a4c51ebd76 kernel: bump 6.18 to 6.18.43
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.42
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.43

Upstream merged patches:
- generic/backport-6.18/625-v7.0-ppp-enable-TX-scatter-gather.patch[1]
- generic/pending-6.18/303-powerpc-85xx-Add-fsl-ifc-to-common-device-ids.patch[2]
- bcm27xx/patches-6.18/0866-drm-v3d-Reach-the-GMP-through-the-hub-registers-on-V.patch[3]

Manually rebased patches:
- bcm27xx/patches-6.18/0282-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch[4]
- bcm27xx/patches-6.18/0283-xhci-quirks-add-link-TRB-quirk-for-VL805.patch[4]
- bcm27xx/patches-6.18/0284-usb-xhci-add-VLI_SS_BULK_OUT_BUG-quirk.patch[4]
- bcm27xx/patches-6.18/0285-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch[4]

New kconfig symbol:
- GPU_BUDDY [5]

Obsolete kconfig symbol:
- DRM_LIB_RANDOM [5]

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.42&id=cb9d3e0b55699979b4f4cc333d641edc764056ad
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.42&id=c1bbd0a6906b8d06f1f28a5e1b6d243c81c1f8fa
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.42&id=a096a6aba601152a45d4e272207bd37e03ca3f92
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.42&id=fe7892d46921ee56b135779d32c40cb462e6c6c5
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.42&id=65677f7a20c48cf9ed02c56db389cc327d2b61b2
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Co-authored-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/24551
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-08-13 00:22:31 +02:00
John Audia 7105bec48f kernel: bump 6.18 to 6.18.40
Removed upstreamed:
  airoha/patches-6.18/109-01-v6.19-pinctrl-airoha-generalize-pins-group-function-confs-.patch[1]
  airoha/patches-6.18/112-v6.19-pinctrl-airoha-fix-pinctrl-function-mismatch-issue.patch[2]
  airoha/patches-6.18/170-v7.2-net-airoha-Fix-register-index-for-Tx-fwd-counter-con.patch[3]
  airoha/patches-6.18/171-v7.2-net-airoha-Fix-debugfs-new-tuple-display-for-IPv4-RO.patch[4]
  airoha/patches-6.18/172-v7.2-net-airoha-fix-foe_check_time-allocation-size.patch[5]
  airoha/patches-6.18/174-v7.2-net-airoha-Fix-skb-priority-underflow-in-airoha_dev_.patch[6]
  generic/backport-6.18/300-v7.1-MIPS-mm-fix-highmem-init.patch[7]
  generic/backport-6.18/627-v7.2-net-pse-pd-scope-pse_control-regulator-handle-to-kre.patch[8]
  generic/backport-6.18/752-v7.2-net-dsa-qca8k-fix-led-devicename-when-using-external.patch[9]
  qualcommax/patches-6.18/0084-v7.2-clk-qcom-cmnpll-Account-for-reference-clock-divider.patch[10]
  airoha/patches-6.18/180-02-v7.2-pinctrl-airoha-an7581-add-missed-gpio32-pin-group.patch[11]
  airoha/patches-6.18/180-04-v7.2-pinctrl-airoha-an7581-fix-misprint-in-gpio19-pinconf.patch[12]

Manually rebased:
  airoha/patches-6.18/180-01-v7.2-pinctrl-Move-Airoha-driver-to-dedicated-directory.patch
  bcm27xx/patches-6.18/0299-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch
  mediatek/patches-6.18/942-net-ethernet-mtk_wed-move-cpuboot-in-a-dedicated-dts.patch

Removed CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG, it was removed upstream [13]

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.40&id=db3cd694ded4c8d492b62c7228e9c0d9230b13d0
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.40&id=a888f3d5970ff21e092bc9edcf3d9ffee9ae68a7
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.40&id=dcac6e4221f39f4f80adc7fb761c358a612fca62
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.40&id=4d48c08a0bf6c6ab8c07df37ee8794da891eec80
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.40&id=112b5eff24e044561ee9599a0d34e0fcea1df4e0
6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.40&id=2066e692ec7a10af63d9c75899c9a66946cfede9
7. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.40&id=3d3638fe921371e52be77baefe792c126fcdfc8c
8. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.40&id=8d501b1411548442aaf1de3268654046f5bcf4c1
9. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.40&id=10e05634ddc19953d7357a39eebee4e142dc8397
10. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.40&id=226feccaac81833f227e7ad4b7702ff5c918211f
11. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.40&id=5985ddfd3e83fee2e021ed6908d4026516f47278
12. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.40&id=ad6963c3bb458fc1b722627405800c32e4cd840b
13. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.40&id=c401492e01c7bfd38cf14c94d85c7efafe7d1a25

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

Signed-off-by: John Audia <therealgraysky@proton.me>
[Fixed 0299-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch,
180-01-v7.2-pinctrl-Move-Airoha-driver-to-dedicated-directory.patch
and removed CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG]
Link: https://github.com/openwrt/openwrt/pull/24419
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-08-01 23:43:05 +02:00
Morice Olbert dfd531f517 ipq40xx: add support for Sophos APX 120
Specifications
--------------
- SoC       : Qualcomm IPQ4019 (4x ARMv7 Cortex-A7 @ 716 MHz, NEON/VFPv4)
- RAM       : 256 MiB DDR3
- SPI-NOR   : Macronix MX25L1606E (2 MiB) - bootloader + ART calibration
- SPI-NAND  : Winbond W25M02GV (256 MiB, dual-die) - kernel + rootfs (UBI)
- WLAN      : IPQ4019 on-chip, 2 radios
  - 2.4 GHz : 2x2 802.11b/g/n (wifi0)
  - 5 GHz   : 2x2 802.11n/ac (wifi1)
- Ethernet  : 1x RJ45 via QCA8075 PHY, jack wired to switch port 5
- TPM       : Atmel AT97SC3204T on i2c @ 0x29
- Buttons   : 1x Reset (gpio2, active low)
- LEDs      : green (gpio3, power), red (gpio4, status / panic)
- UART      : 115200 8N1 3.3V (gpio60 TX / gpio61 RX)
- Power     : DC 12V

MAC addresses
-------------
Read from the ART partition on SPI-NOR flash at offset 0x0,
encoded as a nvmem cell in the DTS.

Flash layout
------------
SPI-NOR (2 MiB) carries the QCA bootloader chain and ART:

  SBL1       0x000000  256 KiB  (bootloader stage 1)
  MIBIB      0x040000  128 KiB  (flash partition table)
  QSEE       0x060000  384 KiB  (TrustZone / secure env)
  CDT        0x0c0000   64 KiB  (configuration data tbl)
  DDRPARAMS  0x0d0000   64 KiB  (DDR training parameters)
  APPSBLENV  0x0e0000   64 KiB  (U-Boot environment)
  APPSBL     0x0f0000  512 KiB  (U-Boot)
  ART        0x170000   64 KiB  (WiFi calibration + MAC)

The W25M02GV SPI-NAND is split at the die boundary
(die 0 = rootfs, die 1 = data) to work around a stock U-Boot bug:
the die-select is broken, causing reads from die 1 to return
0xFF. If UBI wear-leveling relocated the layout volume to
die 1, U-Boot would fail to attach UBI, bricking boot.
Splitting the chip keeps all UBI metadata U-Boot reads from
die 0.

Stock U-Boot hardcodes the UBI attach window to 64 MiB;
the bootcmd replacement expands it to 128 MiB to use the
full die 0.

  rootfs  0x00000000  128 MiB
  data    0x08000000  128 MiB

Installation
------------
1. Build image for sophos_apx120 target
2. Start TFTP server in folder with
   openwrt-ipq40xx-generic-sophos_apx120-initramfs-
   uImage.itb
3. Plug in Serial TTL Adapter (115200 baud):

| APX 120 | VCC  | RX  | GND | TX  |
|--------|------|-----|-----|-----|
| USB    | X    | TX  | GND | RX  |
|--------|------|-----|-----|-----|

3. Short U26 pin 8 (first pin on left, top row on NAND
   Chip, with ethernet port facing you) to ground for a
   fraction of a second during power-on. Expected output shows
   NAND detection and CRC warning, then U-Boot prompt.
4. In U-Boot run:
   $ setenv bootdelay 5
   $ setenv verify no
   $ saveenv
   $ tftpboot 0x84000000
   openwrt-ipq40xx-generic-sophos_apx120-initramfs-uImage.itb
   $ bootm 0x84000000
5. Setup Networking Transfer the sysupgrade image using a
   HTTP server or scp
6. In OpenWrt run:
   $ fw_setenv bootcmd 'set fdt_high 0x87000000 && \
       set bootargs ubi.mtd=rootfs root=mtd:ubi_rootfs \
       rootfstype=squashfs rootwait && nand device 1 && \
       set mtdids nand1=nand1 && set mtdparts \
       mtdparts=nand1:0x8000000@0x0(fs) && \
       ubi part fs && ubi read 0x84000000 kernel && \
       bootm 0x84000000#config@ap.dk01.1-c2'
   $ ubiformat /dev/mtd9 -y
   $ sysupgrade -n
   openwrt-ipq40xx-generic-sophos_apx120-squashfs-sysupgrade.bin
7. Device should reboot into OpenWrt

Notes
-----
- With firmware version 1.0.019, the image drops directly
  into a shell, so NAND glitching may be skipped.
- The platform sysupgrade script reflashes the entire
  die-0 UBI partition via `ubiformat` — live volume
  manipulation would leave the UBI layout in a state the
  stock U-Boot rejects, which bricks the device.

Known Issues
------------
- Some device revisions have an TPM chip that
  is not detected/supported or is broken

Signed-off-by: Morice Olbert <synapse7062@spnkr.de>
Link: https://github.com/openwrt/openwrt/pull/24328
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-30 21:20:47 +02:00
Julius Bairaktaris ed21d383c4 ipq40xx: dts: stop enabling the driverless QCE crypto nodes
Commit ce120be361 ("kernel: disable qualcomm crypto") dropped the
CRYPTO_DEV_QCE kernel configs, so crypto@8e3a000 and its BAM no longer
have a driver. The board device trees still override both nodes to
"okay" (two boards also carry BAM channel properties that only exist
to serve the crypto engine), leaving enabled consumers that can never
probe. Drop the overrides and fall back to the SoC dtsi defaults, which
ship both nodes disabled.

Unlike ipq807x, no supplier on ipq4019 registers a sync_state()
callback, so the stale overrides are only dead code here.

Signed-off-by: Julius Bairaktaris <julius@bairaktaris.de>
Link: https://github.com/openwrt/openwrt/pull/24379
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-25 22:41:43 +02:00
Rosen Penev ce120be361 kernel: disable qualcomm crypto
Upstream has marked it as BROKEN. Quote:

This driver is harmful:

- It is much slower than the CPU.
- It Has a history of bugs.
- It does not have exclusive access to the hardware, causing races
  with the secure world.
- It register its implementations with too low a cra_priority for them
  to be actually used.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24326
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-21 09:01:40 +02:00
John Audia 276214fc06 kernel: bump 6.18 to 6.18.39
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.39

Removed upstreamed:
  backport-6.18/704-v7.2-netfilter-flowtable-fix-offloaded-ct-timeout-never-b.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.39&id=81a5971cbe18b474b49c651e32f2194b2fb171fe

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/24282
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-20 20:05:54 +02:00
Denis Yarkovoy c85adddd8d ipq40xx: ipqess: recover TX queue on watchdog timeout
The current ipqess TX timeout handler only logs the timeout. If TX
completion interrupts are lost or left masked, descriptors can remain
pending indefinitely and the master Ethernet device stays wedged until a
reboot.

Log the TX ring indexes and interrupt state to make future failures
useful, then force the TX completion NAPI path to run and re-kick the TX
producer index. This gives the driver a chance to reclaim pending TX
descriptors and wake the queue instead of reporting the same watchdog
forever.

Signed-off-by: Denis Yarkovoy <dyarkovoy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24122
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-17 09:20:46 +02:00
Denis Yarkovoy ab30c2547c ipq40xx: move ipqess driver source to files
The ipqess driver is carried locally in OpenWrt and is not present in
upstream Linux. Move the driver sources out of the source-adding kernel
patch and into target/linux/ipq40xx/files/ so the local source is easier
to maintain.

Keep the kernel patch only for the upstream-style Kconfig, Makefile and
MAINTAINERS wiring, and refresh the dependent ipqess patches.

Use the void-returning platform driver .remove callback.

Signed-off-by: Denis Yarkovoy <dyarkovoy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24122
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-17 09:20:46 +02:00
Goetz Goerisch 80c8eceeda ipq40xx: drop support for kernel 6.12
Drops support for kernel version 6.12 and corresponding patches

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24128
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-11 23:42:10 +02:00
Goetz Goerisch fa71de86ce ipq40xx: switch to kernel 6.18
Switch default kernel verison to 6.18

build-tested: ipq40xx/chromium
run-tested: ipq40xx/chromium

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24128
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-11 23:42:10 +02:00
John Audia 5b6bc962bd kernel: bump 6.18 to 6.18.38
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.38

Removed upstreamed:
  linux/generic/backport-6.18/300-v7.2-MIPS-smp-report-dying-CPU-to-RCU-in-stop_this_cpu.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.38&id=f9b57a0015c241274651f4b36627f56b1b5a8651

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/24083
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-07 02:01:46 +02:00
Rosen Penev 9716066e80 kernel: add qualcommax patches to generic
Move upstreamed patches to backports.

Move the others to pending.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24013
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-05 13:02:07 +02:00
Rosen Penev 560fb07c03 ipq40xx: add beginning space to bootargs-append
Technically not needed but more consistent with other users.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23899
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-21 10:50:05 +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
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
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
Rosen Penev cbd8fe4461 ipq40xx: remove ethernet0 alias
Not needed when using nvmem. All others left alone.

Move some swport nvmem definitions to the root gmac to avoid a
randomized MAC address for the GMAC. The former inherits from the latter anyway.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22550
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-11 10:38:22 +02:00
Rosen Penev f3bc5ea5d9 ipq40xx: use nvmem for mikrotik mac address
Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16257
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-11 09:04:28 +02:00
Roland Reinl 9f7d9aa167 ipq40xx: add support for Linksys MR9000
This pull request is based on
- the discussions in https://forum.openwrt.org/t/support-for-the-linksys-mr9000

Device Specs:
- Router is similar to EA8300 but with 512MB RAM and changed GPIOs
- IPQ4019
- Quad Core CPU
- 512 MB RAM
- 256 MB FLASH
- 4 LAN ports, 1 WAN port
- 1x2.4GHz (802.11n) and 2x5GHz (802.11c) wifi
- 3 LEDs (Red, blue, green) which are routed to one indicator at the top of the case
- 2 buttons (Reset, WPS)

Disassembling the device:
- There are 4 T10 screws at the bottom of the device which must be removed
- All 4 screws are located under the rubber feet

Serial interface:
- The serial interface is already populated on the device with a 5-pin header
- Pinout from front to back: 1:GND, 2: unknown, 3: RX, 4: TX, 5: VCC
- Settings: 115200, 8N1

MAC address layout:
- Same as on MR8300
  - MAC address is stored in the "devinfo" partition (entry "hw_mac_addr")
  - The MAC address on the label is identical with the one in the devinfo partition
  - The MAC address on the label is the WAN MAC address
  - LAN MAC address is the one from the label + 1
  - Wifi (2.4GHz) MAC is the one from the label + 2
  - Wifi (1st 5GHz) MAC is the one from the label + 3
  - Wifi (2nd 5GHz) MAC is the one from the label + 4

Migrating to OpenWrt requires multiple steps:
- Load and boot the initramfs image
- Adapt U-Boot settings to support bigger kernels
- Flash the sysupgrade image

Load and boot initramfs:
- Connect serial interface
- Set up a TFTP server on IP 192.168.1.254
- Copy openwrt-ipq40xx-generic-linksys_mr9000-initramfs-zImage.itb to TFTP server
- Rename file to C0A80101.img
- Boot up the device and stop in U-Boot
- Run the following U-Boot commands after a link has been established:
  tftp
  bootm
- Initramfs image is started now.

Adapt U-Boot settings to support bigger kernels:
- Run "fw_printenv" in the initramfs image  after booting
- There should be an entry kernsize=300000 which indicates the maximum size for the kernel is 3MB
- Execute "fw_setenv kernsize 500000" to increase the max kernel size to 5MB
- Check that the change are applied with "fw_printenv"

Flash the sysupgrade image:
- Default sysupgrade routine either with a initramfs image containing LuCI or via command line.

Revert back to OEM firmware:
- Flash the OEM firmware via sysupgrade
- Forced update is required

Signed-off-by: Karsten Rehn <rekados@posteo.de>
Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22744
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-06-04 22:49:38 +02:00
John Audia 94f3f9a845 kernel: bump 6.18 to 6.18.34
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.34

Removed upstreamed:
  backport-6.18/627-v7.1-net-pse-pd-fix-sign-on-ENOENT-check-in-of_load_pse_p.patch[1]
  ath79/patches-6.18/301-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch[2]
  ipq40xx/patches-6.18/708-pinctrl-qcom-ipq4019-mark-gpio-as-a-GPIO-pin-function.patch[3]

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.34&id=dac025c4e8f9c5cf9467eeac8be4639469aa5ac5
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.34&id=617a2564d8634c06d19097dc0f89bd3a72bcb1b4
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.34&id=00aca89f5e3453b30b73e31aa31099b1433f8370

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/23618
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-02 21:14:04 +02:00
John Audia 17f5538441 kernel: bump 6.18 to 6.18.33
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.33

Removed upstreamed:
  generic/backport-6.18/742-v7.1-r8152-fix-incorrect-register-write-to-USB_UPHY_XTAL.patch[1]
  generic/backport-6.18/827-v7.0-crypto-inside-secure-eip93-fix-register-definition.patch[2]
  generic/backport-6.18/828-v7.0-crypto-inside-secure-eip93-register-hash-before-auth.patch[3]
  generic/backport-6.18/940-v7.1-net-dsa-realtek-rtl8365mb-fix-mode-mask-calculation.patch[4]
  generic/pending-6.18/928-crypto-eip93-fix-hmac-setkey-algo-selection.patch[5]

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.33&id=50c601805fe3
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.33&id=7ed07c9ce525
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.33&id=b6263eb2b188
4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.33&id=b707f3109f1a
5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.33&id=fc9310d79fdb

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/23419
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-25 21:04:53 +02:00
Shiji Yang 8f638f9366 kernel: bump 6.12 to 6.12.91
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.91

Remove upstreamed patches:
- airoha/patches-6.12/017-v6.13-net-airoha-Implement-BQL-support.patch[1]
- airoha/patches-6.12/138-v7.1-net-airoha-Add-missing-RX_CPU_IDX-configuration-in-a.patch[2]
- airoha/patches-6.12/149-v7.1-net-airoha-Move-ndesc-initialization-at-end-of-airoh.patch[3]
- generic/backport-6.12/940-v7.1-net-dsa-realtek-rtl8365mb-fix-mode-mask-calculation.patch[5]

Manually rebased patches:
- airoha/patches-6.12/048-01-v6.15-net-airoha-Move-airoha_eth-driver-in-a-dedicated-fol.patch[1]
- ath79/patches-6.12/800-leds-add-reset-controller-based-driver.patch[4]
- bcm27xx/patches-6.12/950-0122-bcmgenet-Better-coalescing-parameter-defaults.patch[6]

We also backported four patches to fix perf tool regression:
- generic/backport-6.12/216-01-revert-perf-cgroup-update-metric-leader-in-evlist__e.patch
- generic/backport-6.12/216-02-revert-perf-tool_pmu-fix-aggregation-on-duration_tim.patch
- generic/backport-6.12/216-03-revert-perf-python-add-parse_events-function.patch
- generic/backport-6.12/216-04-revert-perf-tool_pmu-factor-tool-events-into-their-o.patch

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.91&id=ca24fcac1daaa5e8a667981d81986a3eb4b9fb04
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.91&id=f00037a99bc2332ef59dc85298b98b20af165904
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.91&id=d36be272adda7f313e39dd118086955d993bf6a7
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.91&id=07d3611389ba7d78b80ea360a42ce32ab2521fbc
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.91&id=3354d6c62fd4baa7b32cbd80cc5a8aa3f2bd0656
[6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.91&id=b84351dcc359667bc952131c1424b692ec83dce2

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/23444
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-25 21:02:13 +02:00
Hal Martin db0ce075e6 ipq40xx: add support for Cisco Meraki Z3C
This commit adds support for the Meraki Z3C "Teleworker" device with
802.11ac, LTE Cat 3 modem, and an integrated 5 port Gigabit switch.

Port 5 has POE output (802.3af). The WAN port is used for tftp booting
in U-Boot.

This device ships with secure boot, and cannot be flashed without an
external programmer.

|||
|--|--|
|Model|Z3C|
|CPU|Qualcomm Atheros IPQ4029|
|Flash MB|128 NAND|
|RAM MB|512|
|WLAN Hardware|Qualcomm Atheros IPQ4029|
|WLAN 2.4GHz|b/g/n 2x2|
|WLAN 5.0GHz|a/n/ac 2x2|
|WWAN|LTE Cat 3|
|Ethernet 1Gbit ports|5|

The LAN/WiFi MAC addresses are sourced from an internal I2C EEPROM.

Z3C-HW-NA (NA: North America) supports LTE bands: 2,4,5,13,17

Z3C-HW-WW (WW: World-wide) supports LTE bands: 1,3,7,8,20

Disassembly:

Remove the four T8 screws on the bottom of the device under the rubber feet.

Using a guitar pick or similar plastic tool, insert it on the side between
the bottom case and the side, pry up gently. The plastic bottom has 18 latches
around the perimeter (but none on the rear by the Ethernet ports).
Remember to remove the SIM tray!

Gently remove the metal RF shield on the bottom of the PCB.

The TSOP48 NAND flash (U30, Spansion S34ML01G200TFV00) is located on the bottom
side of the PCB (facing you as you remove the bottom plastic). To flash, you
will need to desolder the TSOP48. Attempts to flash in-circuit using a 360 clip
were unsuccessful.

The SOIC8 I2C EEPROM (U32, Atmel 24C64) is located on the bottom side of the PCB
under a metal RF shield. It can be flashed in circuit using a chip clip. You may
have to bend the RF shield up to fit the chip clip.

The UART header is on the top (opposite) side of the PCB. You do not need to
remove any more screws to remove the PCB. The PCB has some thermal interface
material for heat dissipation and will be slightly difficult to remove the
first time. Gently pry up on the green PCB from one of the front corners until
the thermal pads break contact with the top case. You can then lift out the
entire PCB, including the attached LTE/WiFi antennas.

Installation:

The dumps to flash can be found in this repository:
https://github.com/halmartin/meraki-openwrt-docs/tree/main/z3c

The device has the following flash layout (offsets with OOB data):
```
0x000000000000-0x000000100000 : "sbl1"
0x000000100000-0x000000200000 : "mibib"
0x000000200000-0x000000300000 : "bootconfig"
0x000000300000-0x000000400000 : "qsee"
0x000000400000-0x000000500000 : "qsee_alt"
0x000000500000-0x000000580000 : "cdt"
0x000000580000-0x000000600000 : "cdt_alt"
0x000000600000-0x000000680000 : "ddrparams"
0x000000700000-0x000000900000 : "u-boot"
0x000000900000-0x000000b00000 : "u-boot-backup"
0x000000b00000-0x000000b80000 : "ART"
0x000000c00000-0x000007c00000 : "ubi"
```

* Dump your original NAND (if using nanddump, include OOB data).

* Decompress `u-boot.bin.gz` dump (contains OOB data) and overwrite the
`u-boot` portion of NAND from `0x738000-0x948000` (length `0x210000`).

* Decompress `ubi.bin.gz` dump (contains OOB data) and overwrite the `ubi`
portion of NAND from `0xc60000-0x8400000` (length `0x77a0000`).

* Dump your original EEPROM. Change the byte at offset `0x49` to `0x1e`
(originally `0x2a`). Remember to re-write the EEPROM with the
modified data.

* This can be done on Linux via the following command:
`printf "\x1e" | dd of=/tmp/eeprom.bin bs=1 seek=$((0x49)) conv=notrunc`

**Note**: the device will not boot if you modify the board major number and
have not yet overwritten the `ubi` and `u-boot` regions of NAND.

* Resolder the NAND after overwriting the `u-boot` and `ubi` regions.

OpenWrt Installation:

* After flashing NAND and EEPROM with external programmers. Plug in an
Ethernet cable and power up the device.

* The new U-Boot build uses the space character `" "` (without quotes) to
interrupt boot.

* Interrupt U-Boot and `tftpboot` the OpenWrt initramfs image from your
tftp server
```
dhcp
setenv serverip <your_tftp>
tftpboot openwrt-ipq40xx-generic-meraki_z3c-initramfs-uImage.itb
```

* Once booted into the OpenWrt initramfs, created the `ART` ubivol with
the WiFi radio calibration from the mtd partition:
```
cat /dev/mtd10 > /tmp/ART.bin
ubiupdatevol /dev/ubi0_1 /tmp/ART.bin
```

* `scp` the `sysupgrade` image to
the device and run the normal `sysupgrade` procedure:
```
scp -O openwrt-ipq40xx-generic-meraki_z3c-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/
ssh root@192.168.1.1 "sysupgrade -n /tmp/openwrt-ipq40xx-generic-meraki_z3c-squashfs-sysupgrade.bin"
```

* OpenWrt should now be installed on the device.

* Note: To use the LTE modem as a WWAN, you must install `modemmanager`
(you probably also want `luci-proto-modemmanager`) and then configure
the modem for your provider.
Due to OpenWrt policies these packages are not included in the
initramfs/sysupgrade image.

Signed-off-by: Hal Martin <hal.martin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23307
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-05-13 11:33:17 +02:00
Hal Martin 3a8734b1f7 ipq40xx: fixup Meraki device trees
Fix small nits in the Meraki device trees, identified by Claude
during a new device PR.

Signed-off-by: Hal Martin <hal.martin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23307
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-05-13 11:33:17 +02:00
Hal Martin f798dc9a70 ipq40xx: remove unused dtsi for Meraki devices
Remove target/linux/ipq40xx/dts/qcom-ipq4029-wired-qca-common.dtsi
This file is no longer used after the ipq40xx Meraki device tree
refactoring that occurred last year when adding support for the MR30H.

Signed-off-by: Hal Martin <hal.martin@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23307
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-05-13 11:33:17 +02:00