From 4646f1f60aba0a82ff53b8c793627bc827de77ad Mon Sep 17 00:00:00 2001 From: ael-bot Date: Wed, 23 Sep 2026 14:44:48 +0000 Subject: [PATCH] Upgrade Linux kernel to 6.18.53 --- configs/aarch64_defconfig | 2 +- configs/aarch64_minimal_defconfig | 2 +- configs/arm_defconfig | 2 +- configs/arm_minimal_defconfig | 2 +- configs/x86_64_defconfig | 2 +- configs/x86_64_minimal_defconfig | 2 +- doc/ChangeLog.md | 2 +- ...0g-Support-firmware-loading-on-88X33.patch | 4 +- ...0g-Fix-power-up-when-strapped-to-sta.patch | 4 +- ...rvell10g-Add-LED-support-for-88X3310.patch | 4 +- ...0g-Support-LEDs-tied-to-a-single-med.patch | 4 +- ...phy-Do-not-resume-PHY-when-attaching.patch | 4 +- ...-classifying-unknown-multicast-as-mr.patch | 34 +- ...e-router-ports-when-forwarding-L2-mu.patch | 8 +- ...delay-for-applying-strict-multicast-.patch | 32 +- ...rentiate-MDB-additions-from-modifica.patch | 10 +- ...ie-tlv-Let-device-probe-even-when-TL.patch | 4 +- ...d-r8153b-support-for-link-activity-L.patch | 4 +- ...ek-mt7986a-rename-BPi-R3-ports-to-ma.patch | 4 +- ...-Add-a-timing-for-the-Raspberry-Pi-7.patch | 10 +- ...uchscreen-edt-ft5x06-Add-polled-mode.patch | 4 +- ...e6xxx-Fix-timeout-on-waiting-for-PPU.patch | 6 +- ...x-Improve-indirect-register-access-p.patch | 8 +- ...x-Honor-ports-being-managed-via-in-b.patch | 6 +- ...x-Limit-rsvd2cpu-policy-to-user-port.patch | 4 +- ...Use-tag-priority-as-initial-skb-prio.patch | 4 +- ...MDB-memberships-whose-L2-addresses-o.patch | 4 +- ...t-EtherType-based-priority-overrides.patch | 4 +- ...x-Support-EtherType-based-priority-o.patch | 14 +- ...a-mv88e6xxx-Add-mqprio-qdisc-support.patch | 12 +- ...x-Use-VLAN-prio-over-IP-when-both-ar.patch | 10 +- ...8e6xxx-Trap-locally-terminated-VLANs.patch | 20 +- ...x-collapse-disabled-state-into-block.patch | 4 +- ...x-Only-activate-LAG-offloading-when-.patch | 16 +- ...-mv88e6xxx-Add-LED-support-for-6393X.patch | 8 +- ...eck-connection-state-before-querying.patch | 4 +- ...ppress-log-spam-for-regulatory-restr.patch | 4 +- ...duce-log-noise-during-AP-to-station-.patch | 4 +- ...11h-add-OF-device-table-for-auto-loa.patch | 4 +- ...le-video-and-then-retry-failed-trans.patch | 4 +- ...locks-should-be-running-before-reset.patch | 4 +- ...nsure-DSI-is-enabled-for-FIFO-resets.patch | 4 +- ...036-drm-vc4-Reset-DSI-AFE-on-disable.patch | 4 +- ...le-the-different-command-FIFO-widths.patch | 4 +- ...762-Program-the-DPI-mode-into-the-ch.patch | 4 +- ...e-tc358762-revert-move-ops-to-enable.patch | 4 +- ...762-Set-pre_enabled-on-pre_enable-to.patch | 4 +- ...dalone-PCS-registration-infrastructu.patch | 4 +- ...d-MediaTek-MT7988-USXGMII-PCS-driver.patch | 4 +- ...iatek-add-USXGMII-support-for-MT7988.patch | 30 +- ...diatek-mt7988a-add-USXGMII-PCS-nodes.patch | 4 +- ...ek-bananapi-bpi-r4-enable-SFP-ports-.patch | 4 +- ...et-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch | 6 +- ...x-Trap-PTP-frames-on-timestamping-po.patch | 8 +- ...-add-MODULE_DEVICE_TABLE-for-mt7622-.patch | 4 +- ...3-Fix-PERST-control-timing-during-sy.patch | 4 +- ...xx-Derive-LED-names-from-device-name.patch | 4 +- ...s-make-it-selectable-for-ARCH_LAN969.patch | 4 +- ...arx5-fix-wrong-chip-ids-for-TSN-SKUs.patch | 4 +- ...gure-serdes-for-1000BASE-X-in-sparx5.patch | 4 +- ...atmel-sama5d2-sdhci-add-microchip-la.patch | 4 +- ...mc-sdhci-of-at91-add-LAN969x-support.patch | 4 +- ...1-stop-SDCLK-on-reset-and-add-eMMC-h.patch | 4 +- ...arx5-lan969x-populate-netdev-of_node.patch | 4 +- ...rochip-add-LAN969x-clock-header-file.patch | 4 +- ...64-dts-microchip-add-LAN969x-support.patch | 4 +- ...m64-dts-microchip-add-EV23X71A-board.patch | 4 +- ...4-dts-microchip-lan969x-add-OTP-node.patch | 4 +- ...ts-microchip-lan969x-add-SDMMC-nodes.patch | 4 +- ...4-dts-microchip-ev23x71a-enable-eMMC.patch | 4 +- ...rvey-the-requested-interface-not-the.patch | 4 +- ...nor-caller-s-rtnl-lock-when-stopping.patch | 4 +- ...t-cfg_to_ndev-return-NULL-and-harden.patch | 4 +- ...pport-deletion-and-recreation-of-the.patch | 4 +- ...port-port-authorized-after-offloaded.patch | 4 +- ...m-AT91-document-Novarq-Tactical-1000.patch | 30 + ...s-microchip-add-Novarq-Tactical-1000.patch | 919 ++++++++++++++++++ ...crochip-tactical-1000-add-port-names.patch | 250 +++++ ...icrochip-tactical-1000-adapt-to-6.18.patch | 104 ++ ...ngs-arm-AT91-document-EV23X71A-board.patch | 34 + patches/linux/linux.hash | 2 +- 81 files changed, 1566 insertions(+), 229 deletions(-) rename patches/linux/{6.18.52 => 6.18.53}/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch (97%) rename patches/linux/{6.18.52 => 6.18.53}/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch (92%) rename patches/linux/{6.18.52 => 6.18.53}/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch (99%) rename patches/linux/{6.18.52 => 6.18.53}/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch (94%) rename patches/linux/{6.18.52 => 6.18.53}/0005-net-phy-Do-not-resume-PHY-when-attaching.patch (89%) rename patches/linux/{6.18.52 => 6.18.53}/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch (91%) rename patches/linux/{6.18.52 => 6.18.53}/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch (82%) rename patches/linux/{6.18.52 => 6.18.53}/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch (86%) rename patches/linux/{6.18.52 => 6.18.53}/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch (92%) rename patches/linux/{6.18.52 => 6.18.53}/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch (92%) rename patches/linux/{6.18.52 => 6.18.53}/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch (91%) rename patches/linux/{6.18.52 => 6.18.53}/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch (92%) rename patches/linux/{6.18.52 => 6.18.53}/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch (91%) rename patches/linux/{6.18.52 => 6.18.53}/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch (97%) rename patches/linux/{6.18.52 => 6.18.53}/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch (84%) rename patches/linux/{6.18.52 => 6.18.53}/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch (97%) rename patches/linux/{6.18.52 => 6.18.53}/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch (87%) rename patches/linux/{6.18.52 => 6.18.53}/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch (96%) rename patches/linux/{6.18.52 => 6.18.53}/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch (91%) rename patches/linux/{6.18.52 => 6.18.53}/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch (95%) rename patches/linux/{6.18.52 => 6.18.53}/0021-net-dsa-Support-EtherType-based-priority-overrides.patch (96%) rename patches/linux/{6.18.52 => 6.18.53}/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch (96%) rename patches/linux/{6.18.52 => 6.18.53}/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch (92%) rename patches/linux/{6.18.52 => 6.18.53}/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch (88%) rename patches/linux/{6.18.52 => 6.18.53}/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch (89%) rename patches/linux/{6.18.52 => 6.18.53}/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch (91%) rename patches/linux/{6.18.52 => 6.18.53}/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch (89%) rename patches/linux/{6.18.52 => 6.18.53}/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch (98%) rename patches/linux/{6.18.52 => 6.18.53}/0029-wifi-brcmfmac-check-connection-state-before-querying.patch (92%) rename patches/linux/{6.18.52 => 6.18.53}/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch (92%) rename patches/linux/{6.18.52 => 6.18.53}/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch (95%) rename patches/linux/{6.18.52 => 6.18.53}/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch (91%) rename patches/linux/{6.18.52 => 6.18.53}/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch (96%) rename patches/linux/{6.18.52 => 6.18.53}/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch (93%) rename patches/linux/{6.18.52 => 6.18.53}/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch (93%) rename patches/linux/{6.18.52 => 6.18.53}/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch (93%) rename patches/linux/{6.18.52 => 6.18.53}/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch (97%) rename patches/linux/{6.18.52 => 6.18.53}/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch (93%) rename patches/linux/{6.18.52 => 6.18.53}/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch (92%) rename patches/linux/{6.18.52 => 6.18.53}/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch (88%) rename patches/linux/{6.18.52 => 6.18.53}/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch (97%) rename patches/linux/{6.18.52 => 6.18.53}/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch (99%) rename patches/linux/{6.18.52 => 6.18.53}/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch (92%) rename patches/linux/{6.18.52 => 6.18.53}/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch (93%) rename patches/linux/{6.18.52 => 6.18.53}/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch (95%) rename patches/linux/{6.18.52 => 6.18.53}/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch (93%) rename patches/linux/{6.18.52 => 6.18.53}/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch (96%) rename patches/linux/{6.18.52 => 6.18.53}/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch (89%) rename patches/linux/{6.18.52 => 6.18.53}/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch (95%) rename patches/linux/{6.18.52 => 6.18.53}/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch (90%) rename patches/linux/{6.18.52 => 6.18.53}/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch (89%) rename patches/linux/{6.18.52 => 6.18.53}/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch (95%) rename patches/linux/{6.18.52 => 6.18.53}/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch (93%) rename patches/linux/{6.18.52 => 6.18.53}/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch (89%) rename patches/linux/{6.18.52 => 6.18.53}/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch (96%) rename patches/linux/{6.18.52 => 6.18.53}/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch (97%) rename patches/linux/{6.18.52 => 6.18.53}/0057-net-sparx5-lan969x-populate-netdev-of_node.patch (88%) rename patches/linux/{6.18.52 => 6.18.53}/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch (92%) rename patches/linux/{6.18.52 => 6.18.53}/0059-arm64-dts-microchip-add-LAN969x-support.patch (99%) rename patches/linux/{6.18.52 => 6.18.53}/0060-arm64-dts-microchip-add-EV23X71A-board.patch (99%) rename patches/linux/{6.18.52 => 6.18.53}/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch (89%) rename patches/linux/{6.18.52 => 6.18.53}/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch (92%) rename patches/linux/{6.18.52 => 6.18.53}/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch (87%) rename patches/linux/{6.18.52 => 6.18.53}/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch (96%) rename patches/linux/{6.18.52 => 6.18.53}/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch (93%) rename patches/linux/{6.18.52 => 6.18.53}/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch (98%) rename patches/linux/{6.18.52 => 6.18.53}/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch (98%) rename patches/linux/{6.18.52 => 6.18.53}/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch (97%) create mode 100644 patches/linux/6.18.53/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch create mode 100644 patches/linux/6.18.53/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch create mode 100644 patches/linux/6.18.53/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch create mode 100644 patches/linux/6.18.53/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch create mode 100644 patches/linux/6.18.53/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch diff --git a/configs/aarch64_defconfig b/configs/aarch64_defconfig index 906312771..df537efb7 100644 --- a/configs/aarch64_defconfig +++ b/configs/aarch64_defconfig @@ -26,7 +26,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.52" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.53" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/aarch64_minimal_defconfig b/configs/aarch64_minimal_defconfig index 71111df95..d1e94fa05 100644 --- a/configs/aarch64_minimal_defconfig +++ b/configs/aarch64_minimal_defconfig @@ -26,7 +26,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.52" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.53" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/arm_defconfig b/configs/arm_defconfig index fff609987..904b1724d 100644 --- a/configs/arm_defconfig +++ b/configs/arm_defconfig @@ -27,7 +27,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.52" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.53" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/arm/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/arm_minimal_defconfig b/configs/arm_minimal_defconfig index 58788bb01..4a7f02d62 100644 --- a/configs/arm_minimal_defconfig +++ b/configs/arm_minimal_defconfig @@ -27,7 +27,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA BR2_ROOTFS_POST_BUILD_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.52" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.53" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/arm/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/x86_64_defconfig b/configs/x86_64_defconfig index afcd20f35..597280d79 100644 --- a/configs/x86_64_defconfig +++ b/configs/x86_64_defconfig @@ -25,7 +25,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh ${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.52" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.53" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/x86_64/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/configs/x86_64_minimal_defconfig b/configs/x86_64_minimal_defconfig index 1bba3497d..86cf7f6bd 100644 --- a/configs/x86_64_minimal_defconfig +++ b/configs/x86_64_minimal_defconfig @@ -25,7 +25,7 @@ BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNA BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh ${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.52" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.53" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/x86_64/linux_defconfig" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index 40a8a9c58..14b55bb94 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -8,7 +8,7 @@ All notable changes to the project are documented in this file. ### Changes -- Upgrade Linux kernel to 6.18.52 (LTS) +- Upgrade Linux kernel to 6.18.53 (LTS) - Upgrade Buildroot to 2025.02.18 (LTS) - Upgrade FRR to 10.5.5 - Add per-server `minpoll` and `maxpoll` options to the NTP client diff --git a/patches/linux/6.18.52/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch b/patches/linux/6.18.53/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch similarity index 97% rename from patches/linux/6.18.52/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch rename to patches/linux/6.18.53/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch index ff9b91fa3..e15718a6e 100644 --- a/patches/linux/6.18.52/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch +++ b/patches/linux/6.18.53/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch @@ -1,7 +1,7 @@ -From 9826edc66db18973a8dd1eb9277a5711e9572692 Mon Sep 17 00:00:00 2001 +From b1bbb5f5d984f604a0fd2e3c98cdc6d7dbe460aa Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 19 Sep 2023 18:38:10 +0200 -Subject: [PATCH 01/68] net: phy: marvell10g: Support firmware loading on +Subject: [PATCH 01/73] net: phy: marvell10g: Support firmware loading on 88X3310 When probing, if a device is waiting for firmware to be loaded into diff --git a/patches/linux/6.18.52/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch b/patches/linux/6.18.53/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch similarity index 92% rename from patches/linux/6.18.52/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch rename to patches/linux/6.18.53/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch index 0b9134eaf..2df189926 100644 --- a/patches/linux/6.18.52/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch +++ b/patches/linux/6.18.53/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch @@ -1,7 +1,7 @@ -From 86d6bd39a633095c9caf98f3234a42109eacc3bb Mon Sep 17 00:00:00 2001 +From dd1ec8cba3dc74881b4cda6ca9540d063dc0f00e Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 21 Nov 2023 20:15:24 +0100 -Subject: [PATCH 02/68] net: phy: marvell10g: Fix power-up when strapped to +Subject: [PATCH 02/73] net: phy: marvell10g: Fix power-up when strapped to start powered down On devices which are hardware strapped to start powered down (PDSTATE diff --git a/patches/linux/6.18.52/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch b/patches/linux/6.18.53/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch similarity index 99% rename from patches/linux/6.18.52/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch rename to patches/linux/6.18.53/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch index 220701802..a5b238d76 100644 --- a/patches/linux/6.18.52/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch +++ b/patches/linux/6.18.53/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch @@ -1,7 +1,7 @@ -From e706ef73a680c6c706362383cb2f629ef7561c8d Mon Sep 17 00:00:00 2001 +From c8e9c2ed03bedcb37bf8ff715dd6adb0a057bde9 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 15 Nov 2023 20:58:42 +0100 -Subject: [PATCH 03/68] net: phy: marvell10g: Add LED support for 88X3310 +Subject: [PATCH 03/73] net: phy: marvell10g: Add LED support for 88X3310 Pickup the LEDs from the state in which the hardware reset or bootloader left them, but also support further configuration via diff --git a/patches/linux/6.18.52/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch b/patches/linux/6.18.53/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch similarity index 94% rename from patches/linux/6.18.52/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch rename to patches/linux/6.18.53/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch index 291f59b8e..925e95c7c 100644 --- a/patches/linux/6.18.52/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch +++ b/patches/linux/6.18.53/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch @@ -1,7 +1,7 @@ -From b3c816c87381ba9c72ae1a3fbb0d8496f6f88528 Mon Sep 17 00:00:00 2001 +From db670c361558c9a74db2217663d92145ae9e2c45 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Dec 2023 09:51:05 +0100 -Subject: [PATCH 04/68] net: phy: marvell10g: Support LEDs tied to a single +Subject: [PATCH 04/73] net: phy: marvell10g: Support LEDs tied to a single media side In a combo-port setup, i.e. where both the copper and fiber interface diff --git a/patches/linux/6.18.52/0005-net-phy-Do-not-resume-PHY-when-attaching.patch b/patches/linux/6.18.53/0005-net-phy-Do-not-resume-PHY-when-attaching.patch similarity index 89% rename from patches/linux/6.18.52/0005-net-phy-Do-not-resume-PHY-when-attaching.patch rename to patches/linux/6.18.53/0005-net-phy-Do-not-resume-PHY-when-attaching.patch index fa8c9ee14..c587d175d 100644 --- a/patches/linux/6.18.52/0005-net-phy-Do-not-resume-PHY-when-attaching.patch +++ b/patches/linux/6.18.53/0005-net-phy-Do-not-resume-PHY-when-attaching.patch @@ -1,7 +1,7 @@ -From af666243f0b6f1734afc9fbb53a003f95816c35d Mon Sep 17 00:00:00 2001 +From 20bfff12f613ac4704573a40718eda0e8b48fb82 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 10:10:19 +0100 -Subject: [PATCH 05/68] net: phy: Do not resume PHY when attaching +Subject: [PATCH 05/73] net: phy: Do not resume PHY when attaching The PHY should not start negotiating with its link-partner until explicitly instructed to do so. diff --git a/patches/linux/6.18.52/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch b/patches/linux/6.18.53/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch similarity index 91% rename from patches/linux/6.18.52/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch rename to patches/linux/6.18.53/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch index e96b3791e..e6f91e253 100644 --- a/patches/linux/6.18.52/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch +++ b/patches/linux/6.18.53/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch @@ -1,7 +1,7 @@ -From c013a7cbe6391d2cb4f3f1a9756c7d2d6c0f1c76 Mon Sep 17 00:00:00 2001 +From 57d4c10ec1ef84bb9d836d9fda51bd7c361116a4 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 4 Mar 2024 16:47:28 +0100 -Subject: [PATCH 06/68] net: bridge: avoid classifying unknown multicast as +Subject: [PATCH 06/73] net: bridge: avoid classifying unknown multicast as mrouters_only Unknown multicast, MAC/IPv4/IPv6, should always be flooded according to @@ -61,7 +61,7 @@ index c37e52e2f29a..0759bc37d6f0 100644 /* shouldn't be called with unsupported options */ WARN_ON(1); diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c -index 525d4eccd194..6278dfc9612f 100644 +index 3055a72959cb..0e5e7821d44c 100644 --- a/net/bridge/br_device.c +++ b/net/bridge/br_device.c @@ -89,10 +89,10 @@ netdev_tx_t br_dev_xmit(struct sk_buff *skb, struct net_device *dev) @@ -84,14 +84,14 @@ index 525d4eccd194..6278dfc9612f 100644 - br_flood(br, skb, BR_PKT_MULTICAST, false, true, vid); + br_flood(br, skb, brmctx, BR_PKT_MULTICAST, false, true, vid); } else if ((dst = br_fdb_find_rcu(br, dest, vid)) != NULL) { - br_forward(dst->dst, skb, false, true); + br_forward(READ_ONCE(dst->dst), skb, false, true); } else { - br_flood(br, skb, BR_PKT_UNICAST, false, true, vid); + br_flood(br, skb, NULL, BR_PKT_UNICAST, false, true, vid); } out: rcu_read_unlock(); -@@ -528,6 +528,8 @@ void br_dev_setup(struct net_device *dev) +@@ -527,6 +527,8 @@ void br_dev_setup(struct net_device *dev) br->bridge_ageing_time = br->ageing_time = BR_DEFAULT_AGEING_TIME; dev->max_mtu = ETH_MAX_MTU; @@ -140,7 +140,7 @@ index dea09096ad0f..f0a613238e0d 100644 continue; break; diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c -index 2cbae0f9ae1f..0c539bf4bebe 100644 +index ac0f56076e93..9af38febff25 100644 --- a/net/bridge/br_input.c +++ b/net/bridge/br_input.c @@ -186,9 +186,13 @@ int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb @@ -161,7 +161,7 @@ index 2cbae0f9ae1f..0c539bf4bebe 100644 br->dev->flags & IFF_ALLMULTI) { local_rcv = true; @@ -226,7 +230,7 @@ int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb - br_forward(dst->dst, skb, local_rcv, false); + br_forward(READ_ONCE(dst->dst), skb, local_rcv, false); } else { if (!mcast_hit) - br_flood(br, skb, pkt_type, local_rcv, false, vid); @@ -170,10 +170,10 @@ index 2cbae0f9ae1f..0c539bf4bebe 100644 br_multicast_flood(mdst, skb, brmctx, local_rcv, false); } diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c -index c2a5af45df20..6fb2791714f0 100644 +index fda1f89ee22a..db837e27ed8a 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c -@@ -3837,6 +3837,11 @@ static void br_multicast_err_count(const struct net_bridge *br, +@@ -3838,6 +3838,11 @@ static void br_multicast_err_count(const struct net_bridge *br, u64_stats_update_end(&pstats->syncp); } @@ -185,7 +185,7 @@ index c2a5af45df20..6fb2791714f0 100644 static void br_multicast_pim(struct net_bridge_mcast *brmctx, struct net_bridge_mcast_port *pmctx, const struct sk_buff *skb) -@@ -3883,7 +3888,8 @@ static int br_multicast_ipv4_rcv(struct net_bridge_mcast *brmctx, +@@ -3884,7 +3889,8 @@ static int br_multicast_ipv4_rcv(struct net_bridge_mcast *brmctx, if (err == -ENOMSG) { if (!ipv4_is_local_multicast(ip_hdr(skb)->daddr)) { @@ -195,7 +195,7 @@ index c2a5af45df20..6fb2791714f0 100644 } else if (pim_ipv4_all_pim_routers(ip_hdr(skb)->daddr)) { if (ip_hdr(skb)->protocol == IPPROTO_PIM) br_multicast_pim(brmctx, pmctx, skb); -@@ -3952,7 +3958,8 @@ static int br_multicast_ipv6_rcv(struct net_bridge_mcast *brmctx, +@@ -3953,7 +3959,8 @@ static int br_multicast_ipv6_rcv(struct net_bridge_mcast *brmctx, if (err == -ENOMSG || err == -ENODATA) { if (!ipv6_addr_is_ll_all_nodes(&ipv6_hdr(skb)->daddr)) @@ -206,18 +206,18 @@ index c2a5af45df20..6fb2791714f0 100644 ipv6_addr_is_all_snoopers(&ipv6_hdr(skb)->daddr)) br_ip6_multicast_mrd_rcv(brmctx, pmctx, skb); diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h -index 2b451f3f72a6..2b8fc60022fb 100644 +index e4c8bc8576df..b99aa1d6a260 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h -@@ -489,6 +489,7 @@ enum net_bridge_opts { - BROPT_MST_ENABLED, - BROPT_MDB_OFFLOAD_FAIL_NOTIFICATION, +@@ -491,6 +491,7 @@ enum net_bridge_opts { BROPT_FDB_LOCAL_VLAN_0, + BROPT_CFM_ENABLED, + BROPT_MRP_ENABLED, + BROPT_MCAST_FLOOD_ALWAYS, }; struct net_bridge { -@@ -895,8 +896,8 @@ void br_forward(const struct net_bridge_port *to, struct sk_buff *skb, +@@ -896,8 +897,8 @@ void br_forward(const struct net_bridge_port *to, struct sk_buff *skb, bool local_rcv, bool local_orig); int br_forward_finish(struct net *net, struct sock *sk, struct sk_buff *skb); void br_flood(struct net_bridge *br, struct sk_buff *skb, @@ -228,7 +228,7 @@ index 2b451f3f72a6..2b8fc60022fb 100644 /* return true if both source port and dest port are isolated */ static inline bool br_skb_isolated(const struct net_bridge_port *to, -@@ -1435,6 +1436,19 @@ static inline void br_multicast_flood(struct net_bridge_mdb_entry *mdst, +@@ -1426,6 +1427,19 @@ static inline void br_multicast_flood(struct net_bridge_mdb_entry *mdst, { } diff --git a/patches/linux/6.18.52/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch b/patches/linux/6.18.53/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch similarity index 82% rename from patches/linux/6.18.52/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch rename to patches/linux/6.18.53/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch index 06a5a89a2..731c0f52c 100644 --- a/patches/linux/6.18.52/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch +++ b/patches/linux/6.18.53/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch @@ -1,7 +1,7 @@ -From 1de6056a0b005f506817590df83ae808b22ca7b8 Mon Sep 17 00:00:00 2001 +From 5b7261b4aad256863fc027d593e52aacdefa29e5 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 5 Mar 2024 06:44:41 +0100 -Subject: [PATCH 07/68] net: bridge: Ignore router ports when forwarding L2 +Subject: [PATCH 07/73] net: bridge: Ignore router ports when forwarding L2 multicast Multicast router ports are either statically configured or learned from @@ -16,10 +16,10 @@ Signed-off-by: Joachim Wiberg 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h -index 2b8fc60022fb..d8ab2557cd79 100644 +index b99aa1d6a260..93f3bbc37590 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h -@@ -1097,7 +1097,10 @@ br_multicast_get_first_rport_node(struct net_bridge_mcast *brmctx, +@@ -1088,7 +1088,10 @@ br_multicast_get_first_rport_node(struct net_bridge_mcast *brmctx, if (skb->protocol == htons(ETH_P_IPV6)) return rcu_dereference(hlist_first_rcu(&brmctx->ip6_mc_router_list)); #endif diff --git a/patches/linux/6.18.52/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch b/patches/linux/6.18.53/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch similarity index 86% rename from patches/linux/6.18.52/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch rename to patches/linux/6.18.53/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch index 2305df911..55ba2e18a 100644 --- a/patches/linux/6.18.52/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch +++ b/patches/linux/6.18.53/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch @@ -1,7 +1,7 @@ -From 3dbcfb32f6003c238c6f687219517cb8201686ab Mon Sep 17 00:00:00 2001 +From 300b9c5afb41067e77339c1ea884711102f453be Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 4 Apr 2024 16:36:30 +0200 -Subject: [PATCH 08/68] net: bridge: drop delay for applying strict multicast +Subject: [PATCH 08/73] net: bridge: drop delay for applying strict multicast filtering This *local* patch drops the initial delay before applying strict multicast @@ -24,10 +24,10 @@ Signed-off-by: Joachim Wiberg 2 files changed, 8 insertions(+), 38 deletions(-) diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c -index 6fb2791714f0..36826beae7f8 100644 +index db837e27ed8a..2ccfe3c7b20e 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c -@@ -1760,10 +1760,6 @@ static void br_ip6_multicast_querier_expired(struct timer_list *t) +@@ -1761,10 +1761,6 @@ static void br_ip6_multicast_querier_expired(struct timer_list *t) } #endif @@ -38,7 +38,7 @@ index 6fb2791714f0..36826beae7f8 100644 static void br_multicast_select_own_querier(struct net_bridge_mcast *brmctx, struct br_ip *ip, struct sk_buff *skb) -@@ -3258,12 +3254,8 @@ int br_multicast_dump_querier_state(struct sk_buff *skb, +@@ -3259,12 +3255,8 @@ int br_multicast_dump_querier_state(struct sk_buff *skb, static void br_multicast_update_query_timer(struct net_bridge_mcast *brmctx, @@ -52,7 +52,7 @@ index 6fb2791714f0..36826beae7f8 100644 mod_timer(&query->timer, jiffies + brmctx->multicast_querier_interval); } -@@ -3454,13 +3446,12 @@ static void +@@ -3455,13 +3447,12 @@ static void br_ip4_multicast_query_received(struct net_bridge_mcast *brmctx, struct net_bridge_mcast_port *pmctx, struct bridge_mcast_other_query *query, @@ -68,7 +68,7 @@ index 6fb2791714f0..36826beae7f8 100644 br_ip4_multicast_mark_router(brmctx, pmctx); } -@@ -3469,13 +3460,12 @@ static void +@@ -3470,13 +3461,12 @@ static void br_ip6_multicast_query_received(struct net_bridge_mcast *brmctx, struct net_bridge_mcast_port *pmctx, struct bridge_mcast_other_query *query, @@ -84,7 +84,7 @@ index 6fb2791714f0..36826beae7f8 100644 br_ip6_multicast_mark_router(brmctx, pmctx); } #endif -@@ -3529,7 +3519,7 @@ static void br_ip4_multicast_query(struct net_bridge_mcast *brmctx, +@@ -3530,7 +3520,7 @@ static void br_ip4_multicast_query(struct net_bridge_mcast *brmctx, br_ip4_multicast_query_received(brmctx, pmctx, &brmctx->ip4_other_query, @@ -93,7 +93,7 @@ index 6fb2791714f0..36826beae7f8 100644 goto out; } -@@ -3617,7 +3607,7 @@ static int br_ip6_multicast_query(struct net_bridge_mcast *brmctx, +@@ -3618,7 +3608,7 @@ static int br_ip6_multicast_query(struct net_bridge_mcast *brmctx, br_ip6_multicast_query_received(brmctx, pmctx, &brmctx->ip6_other_query, @@ -102,7 +102,7 @@ index 6fb2791714f0..36826beae7f8 100644 goto out; } else if (!group) { goto out; -@@ -4123,8 +4113,6 @@ void br_multicast_ctx_init(struct net_bridge *br, +@@ -4124,8 +4114,6 @@ void br_multicast_ctx_init(struct net_bridge *br, br_ip4_multicast_local_router_expired, 0); timer_setup(&brmctx->ip4_other_query.timer, br_ip4_multicast_querier_expired, 0); @@ -111,7 +111,7 @@ index 6fb2791714f0..36826beae7f8 100644 timer_setup(&brmctx->ip4_own_query.timer, br_ip4_multicast_query_expired, 0); #if IS_ENABLED(CONFIG_IPV6) -@@ -4132,8 +4120,6 @@ void br_multicast_ctx_init(struct net_bridge *br, +@@ -4133,8 +4121,6 @@ void br_multicast_ctx_init(struct net_bridge *br, br_ip6_multicast_local_router_expired, 0); timer_setup(&brmctx->ip6_other_query.timer, br_ip6_multicast_querier_expired, 0); @@ -120,7 +120,7 @@ index 6fb2791714f0..36826beae7f8 100644 timer_setup(&brmctx->ip6_own_query.timer, br_ip6_multicast_query_expired, 0); #endif -@@ -4268,12 +4254,10 @@ static void __br_multicast_stop(struct net_bridge_mcast *brmctx) +@@ -4269,12 +4255,10 @@ static void __br_multicast_stop(struct net_bridge_mcast *brmctx) { timer_delete_sync(&brmctx->ip4_mc_router_timer); timer_delete_sync(&brmctx->ip4_other_query.timer); @@ -133,7 +133,7 @@ index 6fb2791714f0..36826beae7f8 100644 timer_delete_sync(&brmctx->ip6_own_query.timer); #endif } -@@ -4748,8 +4732,6 @@ EXPORT_SYMBOL_GPL(br_multicast_router); +@@ -4747,8 +4731,6 @@ EXPORT_SYMBOL_GPL(br_multicast_router); int br_multicast_set_querier(struct net_bridge_mcast *brmctx, unsigned long val) { @@ -142,7 +142,7 @@ index 6fb2791714f0..36826beae7f8 100644 val = !!val; spin_lock_bh(&brmctx->br->multicast_lock); -@@ -4760,19 +4742,9 @@ int br_multicast_set_querier(struct net_bridge_mcast *brmctx, unsigned long val) +@@ -4759,19 +4741,9 @@ int br_multicast_set_querier(struct net_bridge_mcast *brmctx, unsigned long val) if (!val) goto unlock; @@ -163,7 +163,7 @@ index 6fb2791714f0..36826beae7f8 100644 #endif diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h -index d8ab2557cd79..68ddec76d820 100644 +index 93f3bbc37590..ec6a85023b5a 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h @@ -80,7 +80,6 @@ struct bridge_mcast_own_query { @@ -174,7 +174,7 @@ index d8ab2557cd79..68ddec76d820 100644 }; /* selected querier */ -@@ -1175,8 +1174,7 @@ __br_multicast_querier_exists(struct net_bridge_mcast *brmctx, +@@ -1166,8 +1165,7 @@ __br_multicast_querier_exists(struct net_bridge_mcast *brmctx, own_querier_enabled = false; } diff --git a/patches/linux/6.18.52/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch b/patches/linux/6.18.53/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch similarity index 92% rename from patches/linux/6.18.52/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch rename to patches/linux/6.18.53/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch index f4d220517..1bb7809a4 100644 --- a/patches/linux/6.18.52/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch +++ b/patches/linux/6.18.53/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch @@ -1,7 +1,7 @@ -From 3be4e92e3aee217913a3b544ee4e91f6c84e0e94 Mon Sep 17 00:00:00 2001 +From 09faea73429f9e5c4724474073f64ca3174edc79 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 16 May 2024 14:51:54 +0200 -Subject: [PATCH 09/68] net: bridge: Differentiate MDB additions from +Subject: [PATCH 09/73] net: bridge: Differentiate MDB additions from modifications Before this change, the reception of an IGMPv3 report (and analogously @@ -62,7 +62,7 @@ index 400eb872b403..cd7a2cd0911a 100644 if (br_multicast_should_handle_mode(brmctx, cfg->group.proto)) br_multicast_star_g_handle_mode(pg, cfg->filter_mode); diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c -index 36826beae7f8..40db57508d64 100644 +index 2ccfe3c7b20e..aad576e4af65 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -616,7 +616,7 @@ static void br_multicast_fwd_src_handle(struct net_bridge_group_src *src) @@ -83,7 +83,7 @@ index 36826beae7f8..40db57508d64 100644 } out: spin_unlock(&br->multicast_lock); -@@ -2949,7 +2949,7 @@ static int br_ip4_multicast_igmp3_report(struct net_bridge_mcast *brmctx, +@@ -2950,7 +2950,7 @@ static int br_ip4_multicast_igmp3_report(struct net_bridge_mcast *brmctx, break; } if (changed) @@ -92,7 +92,7 @@ index 36826beae7f8..40db57508d64 100644 unlock_continue: spin_unlock(&brmctx->br->multicast_lock); } -@@ -3091,7 +3091,7 @@ static int br_ip6_multicast_mld2_report(struct net_bridge_mcast *brmctx, +@@ -3092,7 +3092,7 @@ static int br_ip6_multicast_mld2_report(struct net_bridge_mcast *brmctx, break; } if (changed) diff --git a/patches/linux/6.18.52/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch b/patches/linux/6.18.53/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch similarity index 92% rename from patches/linux/6.18.52/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch rename to patches/linux/6.18.53/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch index 1c632c651..4a6573d62 100644 --- a/patches/linux/6.18.52/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch +++ b/patches/linux/6.18.53/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch @@ -1,7 +1,7 @@ -From 3ca749e3b5cfeeeba560cffa8116254d8a2e562e Mon Sep 17 00:00:00 2001 +From 3c1f4312350221fd9cfadbda65b5b22fc3fa1817 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 24 Nov 2023 23:29:55 +0100 -Subject: [PATCH 10/68] nvmem: layouts: onie-tlv: Let device probe even when +Subject: [PATCH 10/73] nvmem: layouts: onie-tlv: Let device probe even when TLV is invalid Before this change, probing an NVMEM device, expected to contain a diff --git a/patches/linux/6.18.52/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch b/patches/linux/6.18.53/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch similarity index 91% rename from patches/linux/6.18.52/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch rename to patches/linux/6.18.53/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch index 8e8ac7d42..4a173fc83 100644 --- a/patches/linux/6.18.52/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch +++ b/patches/linux/6.18.53/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch @@ -1,7 +1,7 @@ -From cc0b215f3c46b117b53efefe641ec39c642a46e7 Mon Sep 17 00:00:00 2001 +From 9f444ae5d200972bad9ee0ea2fe49bc73ace2450 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 11 Aug 2024 11:27:35 +0200 -Subject: [PATCH 11/68] net: usb: r8152: add r8153b support for link/activity +Subject: [PATCH 11/73] net: usb: r8152: add r8153b support for link/activity LEDs This patch adds support for the link/activity LEDs on the NanoPi R2S diff --git a/patches/linux/6.18.52/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch b/patches/linux/6.18.53/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch similarity index 92% rename from patches/linux/6.18.52/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch rename to patches/linux/6.18.53/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch index d9ef26f5e..82c577700 100644 --- a/patches/linux/6.18.52/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch +++ b/patches/linux/6.18.53/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch @@ -1,7 +1,7 @@ -From 4ff5b33f8fc27fd2fe82d5180e0fdc81fbb11882 Mon Sep 17 00:00:00 2001 +From 17af181ee87188c0a83d4c78050a66e144755098 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 10 Aug 2025 18:52:54 +0200 -Subject: [PATCH 12/68] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to +Subject: [PATCH 12/73] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to match case For ref. see: https://wiki.banana-pi.org/File:Bpi-r3_Metal_case.jpg diff --git a/patches/linux/6.18.52/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch b/patches/linux/6.18.53/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch similarity index 91% rename from patches/linux/6.18.52/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch rename to patches/linux/6.18.53/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch index 8470fb0d5..a758d1a6d 100644 --- a/patches/linux/6.18.52/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch +++ b/patches/linux/6.18.53/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch @@ -1,7 +1,7 @@ -From c2779de277904f9ebe2b9a1c3f371a1adaf5bbd4 Mon Sep 17 00:00:00 2001 +From a743333108a1d2d078c0c0dd301d2653996b06dd Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 20 Aug 2025 21:38:24 +0200 -Subject: [PATCH 13/68] drm/panel-simple: Add a timing for the Raspberry Pi 7" +Subject: [PATCH 13/73] drm/panel-simple: Add a timing for the Raspberry Pi 7" panel The Raspberry Pi 7" 800x480 panel uses a Toshiba TC358762 DSI @@ -46,7 +46,7 @@ Signed-off-by: Dave Stevenson 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c -index ef1c4b9299ee..c3512eb819e1 100644 +index 878a5dc7748f..d5da86abea70 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -400,7 +400,8 @@ static int panel_simple_get_modes(struct drm_panel *panel, @@ -59,7 +59,7 @@ index ef1c4b9299ee..c3512eb819e1 100644 return num; } -@@ -4074,6 +4075,31 @@ static const struct panel_desc qishenglong_gopher2b_lcd = { +@@ -4099,6 +4100,31 @@ static const struct panel_desc qishenglong_gopher2b_lcd = { .connector_type = DRM_MODE_CONNECTOR_DPI, }; @@ -91,7 +91,7 @@ index ef1c4b9299ee..c3512eb819e1 100644 static const struct display_timing rocktech_rk043fn48h_timing = { .pixelclock = { 6000000, 9000000, 12000000 }, .hactive = { 480, 480, 480 }, -@@ -5344,6 +5370,9 @@ static const struct of_device_id platform_of_match[] = { +@@ -5372,6 +5398,9 @@ static const struct of_device_id platform_of_match[] = { .compatible = "qishenglong,gopher2b-lcd", .data = &qishenglong_gopher2b_lcd, }, { diff --git a/patches/linux/6.18.52/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch b/patches/linux/6.18.53/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch similarity index 97% rename from patches/linux/6.18.52/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch rename to patches/linux/6.18.53/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch index 6fa8e5120..e9082fb56 100644 --- a/patches/linux/6.18.52/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch +++ b/patches/linux/6.18.53/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch @@ -1,7 +1,7 @@ -From 382a34037c2ebccbfb4f04db470eb200ffc28275 Mon Sep 17 00:00:00 2001 +From ba0d21d3611fe23a2717a84d0e39e93a78c5aeb3 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Thu, 21 Aug 2025 11:20:23 +0200 -Subject: [PATCH 14/68] input:touchscreen:edt-ft5x06: Add polled mode +Subject: [PATCH 14/73] input:touchscreen:edt-ft5x06: Add polled mode Not all hardware has interrupts therefore we need to poll the touchscreen. diff --git a/patches/linux/6.18.52/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch b/patches/linux/6.18.53/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch similarity index 84% rename from patches/linux/6.18.52/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch rename to patches/linux/6.18.53/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch index ddbdffdb9..e37976f7a 100644 --- a/patches/linux/6.18.52/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch +++ b/patches/linux/6.18.53/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch @@ -1,7 +1,7 @@ -From e6bd95a5cdaf9cca5d6a127e5337bd787389d852 Mon Sep 17 00:00:00 2001 +From e330bffddb5acfeefe7b95fff2ef4a9e1fc7dc72 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Mar 2024 10:27:24 +0100 -Subject: [PATCH 15/68] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for +Subject: [PATCH 15/73] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for PPU on 6393X In a multi-chip setup, delays of up to 750ms are observed before the @@ -12,7 +12,7 @@ register 0, bit 15). Therefore, increase the timeout threshold to 1s. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index 09002c853b78..22f4fe642578 100644 +index e9270c266884..37cd099180d6 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -87,7 +87,7 @@ int mv88e6xxx_write(struct mv88e6xxx_chip *chip, int addr, int reg, u16 val) diff --git a/patches/linux/6.18.52/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch b/patches/linux/6.18.53/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch similarity index 97% rename from patches/linux/6.18.52/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch rename to patches/linux/6.18.53/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch index e7ba980e8..05910c5c0 100644 --- a/patches/linux/6.18.52/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch +++ b/patches/linux/6.18.53/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch @@ -1,7 +1,7 @@ -From b7cad0e42c6c0337797be0a5c68b006f5cc2da80 Mon Sep 17 00:00:00 2001 +From e79dd54ab48708d216584080a9a80dee5b7aeb87 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 15:52:43 +0100 -Subject: [PATCH 16/68] net: dsa: mv88e6xxx: Improve indirect register access +Subject: [PATCH 16/73] net: dsa: mv88e6xxx: Improve indirect register access perf on 6393 When operating in multi-chip mode, the 6393 family maps a subset of @@ -21,10 +21,10 @@ other accesses use the regular indirect interface. 5 files changed, 119 insertions(+) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index 22f4fe642578..c51588e74aed 100644 +index 37cd099180d6..e8980609b45d 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -6543,6 +6543,13 @@ static int mv88e6xxx_detect(struct mv88e6xxx_chip *chip) +@@ -6554,6 +6554,13 @@ static int mv88e6xxx_detect(struct mv88e6xxx_chip *chip) /* Update the compatible info with the probed one */ chip->info = info; diff --git a/patches/linux/6.18.52/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch b/patches/linux/6.18.53/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch similarity index 87% rename from patches/linux/6.18.52/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch rename to patches/linux/6.18.53/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch index aa47f9efd..0ce1cd15f 100644 --- a/patches/linux/6.18.52/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch +++ b/patches/linux/6.18.53/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch @@ -1,7 +1,7 @@ -From 596a877f69ee7eaa783be11c8059bdb06c0b9c1f Mon Sep 17 00:00:00 2001 +From d4ce3d1e828bbc0d8abe3c31f5c707f2ca298405 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Mon, 22 Apr 2024 23:18:01 +0200 -Subject: [PATCH 17/68] net: dsa: mv88e6xxx: Honor ports being managed via +Subject: [PATCH 17/73] net: dsa: mv88e6xxx: Honor ports being managed via in-band-status Keep all link parameters in their unforced states when the port is @@ -17,7 +17,7 @@ when in-band-status is being used. 1 file changed, 6 insertions(+) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index c51588e74aed..de230df48545 100644 +index e8980609b45d..0a535dc0a48c 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -965,6 +965,9 @@ static void mv88e6xxx_mac_link_down(struct phylink_config *config, diff --git a/patches/linux/6.18.52/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch b/patches/linux/6.18.53/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch similarity index 96% rename from patches/linux/6.18.52/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch rename to patches/linux/6.18.53/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch index 7abe2d057..0a2c76179 100644 --- a/patches/linux/6.18.52/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch +++ b/patches/linux/6.18.53/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch @@ -1,7 +1,7 @@ -From 8d2717dc83f5e6a02b4eae60bb66e7bc0e99d4e0 Mon Sep 17 00:00:00 2001 +From adcad713876eaa627ff565994a7fc449b50221f1 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 24 Apr 2024 22:41:04 +0200 -Subject: [PATCH 18/68] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user +Subject: [PATCH 18/73] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user ports on 6393X For packets with a DA in the IEEE reserved L2 group range, originating diff --git a/patches/linux/6.18.52/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch b/patches/linux/6.18.53/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch similarity index 91% rename from patches/linux/6.18.52/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch rename to patches/linux/6.18.53/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch index 202d905ac..51fb38cd2 100644 --- a/patches/linux/6.18.52/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch +++ b/patches/linux/6.18.53/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch @@ -1,7 +1,7 @@ -From 5c27828b0d7b76359ae5f300754aaeb39090ea12 Mon Sep 17 00:00:00 2001 +From 318276248be632e06eeada311d6b3350fd009fdc Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 10:38:42 +0200 -Subject: [PATCH 19/68] net: dsa: tag_dsa: Use tag priority as initial +Subject: [PATCH 19/73] net: dsa: tag_dsa: Use tag priority as initial skb->priority Use the 3-bit priority field from the DSA tag as the initial packet diff --git a/patches/linux/6.18.52/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch b/patches/linux/6.18.53/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch similarity index 95% rename from patches/linux/6.18.52/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch rename to patches/linux/6.18.53/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch index 27eebc609..89d5a4c77 100644 --- a/patches/linux/6.18.52/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch +++ b/patches/linux/6.18.53/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch @@ -1,7 +1,7 @@ -From a6f1637a1de21cf8b1a2bdefbdb53a850c3f7ba9 Mon Sep 17 00:00:00 2001 +From 4e86376a2fc1372bb5885a16963bd6c478140cbc Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 16 Jan 2024 16:00:55 +0100 -Subject: [PATCH 20/68] net: dsa: Support MDB memberships whose L2 addresses +Subject: [PATCH 20/73] net: dsa: Support MDB memberships whose L2 addresses overlap Multiple IP multicast groups (32 for v4, 2^80 for v6) map to the same diff --git a/patches/linux/6.18.52/0021-net-dsa-Support-EtherType-based-priority-overrides.patch b/patches/linux/6.18.53/0021-net-dsa-Support-EtherType-based-priority-overrides.patch similarity index 96% rename from patches/linux/6.18.52/0021-net-dsa-Support-EtherType-based-priority-overrides.patch rename to patches/linux/6.18.53/0021-net-dsa-Support-EtherType-based-priority-overrides.patch index 0ef2778f6..e543836c5 100644 --- a/patches/linux/6.18.52/0021-net-dsa-Support-EtherType-based-priority-overrides.patch +++ b/patches/linux/6.18.53/0021-net-dsa-Support-EtherType-based-priority-overrides.patch @@ -1,7 +1,7 @@ -From d8c65aa4c22f3acc339a11b54b554bd961002331 Mon Sep 17 00:00:00 2001 +From 2cb8d8eb198fc86d557bc1c342c140b571511019 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 21 Mar 2024 19:12:15 +0100 -Subject: [PATCH 21/68] net: dsa: Support EtherType based priority overrides +Subject: [PATCH 21/73] net: dsa: Support EtherType based priority overrides --- include/net/dsa.h | 4 ++++ diff --git a/patches/linux/6.18.52/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch b/patches/linux/6.18.53/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch similarity index 96% rename from patches/linux/6.18.52/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch rename to patches/linux/6.18.53/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch index 50fb3181e..6136b13d3 100644 --- a/patches/linux/6.18.52/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch +++ b/patches/linux/6.18.53/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch @@ -1,7 +1,7 @@ -From bfe05957811f07ba0c561dd7e77172f24a264625 Mon Sep 17 00:00:00 2001 +From fcfcd5909e5574c068f74f34d1dc3b57bf89c9c7 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 22 Mar 2024 16:15:43 +0100 -Subject: [PATCH 22/68] net: dsa: mv88e6xxx: Support EtherType based priority +Subject: [PATCH 22/73] net: dsa: mv88e6xxx: Support EtherType based priority overrides --- @@ -14,7 +14,7 @@ Subject: [PATCH 22/68] net: dsa: mv88e6xxx: Support EtherType based priority 6 files changed, 207 insertions(+), 4 deletions(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index de230df48545..c99aef8afa5d 100644 +index 0a535dc0a48c..c708f1cce9b3 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -1688,6 +1688,11 @@ static int mv88e6xxx_rmu_setup(struct mv88e6xxx_chip *chip) @@ -29,7 +29,7 @@ index de230df48545..c99aef8afa5d 100644 if (chip->info->ops->pot_clear) return chip->info->ops->pot_clear(chip); -@@ -3381,6 +3386,7 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) +@@ -3389,6 +3394,7 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) p = &chip->ports[port]; p->chip = chip; p->port = port; @@ -37,7 +37,7 @@ index de230df48545..c99aef8afa5d 100644 /* Look up corresponding fwnode if any */ ports_fwnode = device_get_named_child_node(chip->dev, "ethernet-ports"); -@@ -6599,6 +6605,7 @@ static struct mv88e6xxx_chip *mv88e6xxx_alloc_chip(struct device *dev) +@@ -6610,6 +6616,7 @@ static struct mv88e6xxx_chip *mv88e6xxx_alloc_chip(struct device *dev) chip->dev = dev; mutex_init(&chip->reg_lock); @@ -45,7 +45,7 @@ index de230df48545..c99aef8afa5d 100644 INIT_LIST_HEAD(&chip->mdios); idr_init(&chip->policies); INIT_LIST_HEAD(&chip->msts); -@@ -7138,6 +7145,61 @@ static int mv88e6xxx_crosschip_lag_leave(struct dsa_switch *ds, int sw_index, +@@ -7149,6 +7156,61 @@ static int mv88e6xxx_crosschip_lag_leave(struct dsa_switch *ds, int sw_index, return err_sync ? : err_pvt; } @@ -107,7 +107,7 @@ index de230df48545..c99aef8afa5d 100644 static const struct phylink_mac_ops mv88e6xxx_phylink_mac_ops = { .mac_select_pcs = mv88e6xxx_mac_select_pcs, .mac_prepare = mv88e6xxx_mac_prepare, -@@ -7207,6 +7269,8 @@ static const struct dsa_switch_ops mv88e6xxx_switch_ops = { +@@ -7218,6 +7280,8 @@ static const struct dsa_switch_ops mv88e6xxx_switch_ops = { .crosschip_lag_change = mv88e6xxx_crosschip_lag_change, .crosschip_lag_join = mv88e6xxx_crosschip_lag_join, .crosschip_lag_leave = mv88e6xxx_crosschip_lag_leave, diff --git a/patches/linux/6.18.52/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch b/patches/linux/6.18.53/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch similarity index 92% rename from patches/linux/6.18.52/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch rename to patches/linux/6.18.53/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch index 905ababe0..3e19059d0 100644 --- a/patches/linux/6.18.52/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch +++ b/patches/linux/6.18.53/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch @@ -1,7 +1,7 @@ -From 5a48d7ada8490d6c8a3f94b40f3413d0ac4aea26 Mon Sep 17 00:00:00 2001 +From 0ab2129a95e98e02a4fd9e5b56779c7a161a75df Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 11:04:22 +0200 -Subject: [PATCH 23/68] net: dsa: mv88e6xxx: Add mqprio qdisc support +Subject: [PATCH 23/73] net: dsa: mv88e6xxx: Add mqprio qdisc support Add support for attaching mqprio qdisc's to mv88e6xxx ports and use the packet's traffic class as the outgoing priority when no PCP bits @@ -29,7 +29,7 @@ handle the mapping down to the "real" number. 2 files changed, 73 insertions(+), 1 deletion(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index c99aef8afa5d..2c533aeb7374 100644 +index c708f1cce9b3..2dd0573e101e 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -32,6 +32,7 @@ @@ -40,7 +40,7 @@ index c99aef8afa5d..2c533aeb7374 100644 #include "chip.h" #include "devlink.h" -@@ -7200,6 +7201,68 @@ static int mv88e6xxx_port_del_etype_prio(struct dsa_switch *ds, int port, +@@ -7211,6 +7212,68 @@ static int mv88e6xxx_port_del_etype_prio(struct dsa_switch *ds, int port, return err; } @@ -109,7 +109,7 @@ index c99aef8afa5d..2c533aeb7374 100644 static const struct phylink_mac_ops mv88e6xxx_phylink_mac_ops = { .mac_select_pcs = mv88e6xxx_mac_select_pcs, .mac_prepare = mv88e6xxx_mac_prepare, -@@ -7271,6 +7334,7 @@ static const struct dsa_switch_ops mv88e6xxx_switch_ops = { +@@ -7282,6 +7345,7 @@ static const struct dsa_switch_ops mv88e6xxx_switch_ops = { .crosschip_lag_leave = mv88e6xxx_crosschip_lag_leave, .port_add_etype_prio = mv88e6xxx_port_add_etype_prio, .port_del_etype_prio = mv88e6xxx_port_del_etype_prio, @@ -117,7 +117,7 @@ index c99aef8afa5d..2c533aeb7374 100644 }; static int mv88e6xxx_register_switch(struct mv88e6xxx_chip *chip) -@@ -7297,6 +7361,12 @@ static int mv88e6xxx_register_switch(struct mv88e6xxx_chip *chip) +@@ -7308,6 +7372,12 @@ static int mv88e6xxx_register_switch(struct mv88e6xxx_chip *chip) */ ds->num_lag_ids = mv88e6xxx_has_lag(chip) ? 16 : 0; diff --git a/patches/linux/6.18.52/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch b/patches/linux/6.18.53/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch similarity index 88% rename from patches/linux/6.18.52/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch rename to patches/linux/6.18.53/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch index 882074399..3938cec38 100644 --- a/patches/linux/6.18.52/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch +++ b/patches/linux/6.18.53/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch @@ -1,7 +1,7 @@ -From b2c44a7ab0b6f6ae5c56ffbb6c33a549bfadcaa4 Mon Sep 17 00:00:00 2001 +From 4edce88e1d95aa2c75a72e792e66384baa50862e Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 29 May 2024 13:20:41 +0200 -Subject: [PATCH 24/68] net: dsa: mv88e6xxx: Use VLAN prio over IP when both +Subject: [PATCH 24/73] net: dsa: mv88e6xxx: Use VLAN prio over IP when both are available Switch the priority sourcing precdence to prefer VLAN PCP over IP @@ -26,10 +26,10 @@ main reasons for choosing the new default: 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index 2c533aeb7374..969f772fcb27 100644 +index 2dd0573e101e..15c80e66aefd 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -3422,9 +3422,13 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) +@@ -3430,9 +3430,13 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) /* Port Control: disable Drop-on-Unlock, disable Drop-on-Lock, * disable Header mode, enable IGMP/MLD snooping, disable VLAN @@ -46,7 +46,7 @@ index 2c533aeb7374..969f772fcb27 100644 * * If this is the CPU link, use DSA or EDSA tagging depending * on which tagging mode was configured. -@@ -3435,6 +3439,7 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) +@@ -3443,6 +3447,7 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) * forwarding of unknown unicasts and multicasts. */ reg = MV88E6185_PORT_CTL0_USE_TAG | MV88E6185_PORT_CTL0_USE_IP | diff --git a/patches/linux/6.18.52/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch b/patches/linux/6.18.53/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch similarity index 89% rename from patches/linux/6.18.52/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch rename to patches/linux/6.18.53/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch index c42ed69d1..02919cf5a 100644 --- a/patches/linux/6.18.52/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch +++ b/patches/linux/6.18.53/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch @@ -1,7 +1,7 @@ -From f59af33cb2464d6bce0d7c6abecc66cc4c61d024 Mon Sep 17 00:00:00 2001 +From 89475484a5caa0e59151d27a1638d0b07b5605e3 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 26 Nov 2024 19:45:59 +0100 -Subject: [PATCH 25/68] [FIX] net: dsa: mv88e6xxx: Trap locally terminated +Subject: [PATCH 25/73] [FIX] net: dsa: mv88e6xxx: Trap locally terminated VLANs Before this change, in a setup like the following, packets assigned to @@ -30,10 +30,10 @@ cause all packets assigned to these VLANs to properly terminated. 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index 969f772fcb27..161ce87a8871 100644 +index 15c80e66aefd..397ae2b78df8 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -2611,7 +2611,7 @@ static int mv88e6xxx_port_broadcast_sync(struct mv88e6xxx_chip *chip, int port, +@@ -2619,7 +2619,7 @@ static int mv88e6xxx_port_broadcast_sync(struct mv88e6xxx_chip *chip, int port, } static int mv88e6xxx_port_vlan_join(struct mv88e6xxx_chip *chip, int port, @@ -42,7 +42,7 @@ index 969f772fcb27..161ce87a8871 100644 { const u8 non_member = MV88E6XXX_G1_VTU_DATA_MEMBER_TAG_NON_MEMBER; struct mv88e6xxx_vtu_entry vlan; -@@ -2623,9 +2623,7 @@ static int mv88e6xxx_port_vlan_join(struct mv88e6xxx_chip *chip, int port, +@@ -2631,9 +2631,7 @@ static int mv88e6xxx_port_vlan_join(struct mv88e6xxx_chip *chip, int port, if (!vlan.valid) { memset(&vlan, 0, sizeof(vlan)); @@ -53,7 +53,7 @@ index 969f772fcb27..161ce87a8871 100644 err = mv88e6xxx_atu_new(chip, &vlan.fid); if (err) -@@ -2648,6 +2646,9 @@ static int mv88e6xxx_port_vlan_join(struct mv88e6xxx_chip *chip, int port, +@@ -2656,6 +2654,9 @@ static int mv88e6xxx_port_vlan_join(struct mv88e6xxx_chip *chip, int port, if (err) return err; } else if (vlan.member[port] != member) { @@ -63,7 +63,7 @@ index 969f772fcb27..161ce87a8871 100644 vlan.member[port] = member; err = mv88e6xxx_vtu_loadpurge(chip, &vlan); -@@ -2697,7 +2698,8 @@ static int mv88e6xxx_port_vlan_add(struct dsa_switch *ds, int port, +@@ -2705,7 +2706,8 @@ static int mv88e6xxx_port_vlan_add(struct dsa_switch *ds, int port, mv88e6xxx_reg_lock(chip); @@ -73,7 +73,7 @@ index 969f772fcb27..161ce87a8871 100644 if (err) { dev_err(ds->dev, "p%d: failed to add VLAN %d%c\n", port, vlan->vid, untagged ? 'u' : 't'); -@@ -3474,14 +3476,17 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) +@@ -3482,14 +3484,17 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) if (err) return err; @@ -98,7 +98,7 @@ index 969f772fcb27..161ce87a8871 100644 chip->info->ops->port_set_policy) { err = chip->info->ops->port_set_policy(chip, port, MV88E6XXX_POLICY_MAPPING_VTU, -@@ -3511,7 +3516,7 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) +@@ -3519,7 +3524,7 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) */ err = mv88e6xxx_port_vlan_join(chip, port, MV88E6XXX_VID_STANDALONE, MV88E6XXX_G1_VTU_DATA_MEMBER_TAG_UNMODIFIED, @@ -107,7 +107,7 @@ index 969f772fcb27..161ce87a8871 100644 if (err) return err; -@@ -3525,7 +3530,7 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) +@@ -3533,7 +3538,7 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) */ err = mv88e6xxx_port_vlan_join(chip, port, MV88E6XXX_VID_BRIDGED, MV88E6XXX_G1_VTU_DATA_MEMBER_TAG_UNMODIFIED, diff --git a/patches/linux/6.18.52/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch b/patches/linux/6.18.53/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch similarity index 91% rename from patches/linux/6.18.52/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch rename to patches/linux/6.18.53/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch index 4fc90aaa8..1f74259b7 100644 --- a/patches/linux/6.18.52/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch +++ b/patches/linux/6.18.53/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch @@ -1,7 +1,7 @@ -From 18a048082538fa3b60aa2f2772c1af1d6e5be520 Mon Sep 17 00:00:00 2001 +From 587468b6e4995b3ebe05c06a3b5396a1994d1756 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 16 Jan 2025 12:35:12 +0100 -Subject: [PATCH 26/68] net: dsa: mv88e6xxx: collapse disabled state into +Subject: [PATCH 26/73] net: dsa: mv88e6xxx: collapse disabled state into blocking This patch changes the behavior of switchcore ports wrt. the port state. diff --git a/patches/linux/6.18.52/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch b/patches/linux/6.18.53/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch similarity index 89% rename from patches/linux/6.18.52/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch rename to patches/linux/6.18.53/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch index 0d630f5cf..fb44505e1 100644 --- a/patches/linux/6.18.52/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch +++ b/patches/linux/6.18.53/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch @@ -1,7 +1,7 @@ -From eeb52ee47d9f0d1529291ea3e1651e265ca8196c Mon Sep 17 00:00:00 2001 +From 35552378ce46700c954b416682461520e4c87312 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 12 Feb 2025 22:03:14 +0100 -Subject: [PATCH 27/68] net: dsa: mv88e6xxx: Only activate LAG offloading when +Subject: [PATCH 27/73] net: dsa: mv88e6xxx: Only activate LAG offloading when bridged The current port isolation scheme for mv88e6xxx is detailed here: @@ -50,10 +50,10 @@ CPU; egress traffic always relies on software hashing. 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index 161ce87a8871..d379799c0a16 100644 +index 397ae2b78df8..71458342a274 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -3058,6 +3058,7 @@ static int mv88e6xxx_port_bridge_join(struct dsa_switch *ds, int port, +@@ -3066,6 +3066,7 @@ static int mv88e6xxx_port_bridge_join(struct dsa_switch *ds, int port, struct netlink_ext_ack *extack) { struct mv88e6xxx_chip *chip = ds->priv; @@ -61,7 +61,7 @@ index 161ce87a8871..d379799c0a16 100644 int err; mv88e6xxx_reg_lock(chip); -@@ -3066,6 +3067,13 @@ static int mv88e6xxx_port_bridge_join(struct dsa_switch *ds, int port, +@@ -3074,6 +3075,13 @@ static int mv88e6xxx_port_bridge_join(struct dsa_switch *ds, int port, if (err) goto unlock; @@ -75,7 +75,7 @@ index 161ce87a8871..d379799c0a16 100644 err = mv88e6xxx_port_set_map_da(chip, port, true); if (err) goto unlock; -@@ -3110,6 +3118,14 @@ static void mv88e6xxx_port_bridge_leave(struct dsa_switch *ds, int port, +@@ -3118,6 +3126,14 @@ static void mv88e6xxx_port_bridge_leave(struct dsa_switch *ds, int port, "port %d failed to restore map-DA: %pe\n", port, ERR_PTR(err)); @@ -90,7 +90,7 @@ index 161ce87a8871..d379799c0a16 100644 err = mv88e6xxx_port_commit_pvid(chip, port); if (err) dev_err(ds->dev, -@@ -7066,30 +7082,13 @@ static int mv88e6xxx_port_lag_join(struct dsa_switch *ds, int port, +@@ -7077,30 +7093,13 @@ static int mv88e6xxx_port_lag_join(struct dsa_switch *ds, int port, struct netlink_ext_ack *extack) { struct mv88e6xxx_chip *chip = ds->priv; @@ -122,7 +122,7 @@ index 161ce87a8871..d379799c0a16 100644 mv88e6xxx_reg_unlock(chip); return err; } -@@ -7098,13 +7097,12 @@ static int mv88e6xxx_port_lag_leave(struct dsa_switch *ds, int port, +@@ -7109,13 +7108,12 @@ static int mv88e6xxx_port_lag_leave(struct dsa_switch *ds, int port, struct dsa_lag lag) { struct mv88e6xxx_chip *chip = ds->priv; diff --git a/patches/linux/6.18.52/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch b/patches/linux/6.18.53/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch similarity index 98% rename from patches/linux/6.18.52/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch rename to patches/linux/6.18.53/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch index 86d22c0c9..d82d868ad 100644 --- a/patches/linux/6.18.52/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch +++ b/patches/linux/6.18.53/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch @@ -1,7 +1,7 @@ -From d48d1ceda839f7520eca821146de4ece8c86e2c0 Mon Sep 17 00:00:00 2001 +From c53ab86bce77f8fcca5be9fb2229ae4748a1c5ba Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 14 Jan 2026 18:22:41 +0100 -Subject: [PATCH 28/68] net: dsa: mv88e6xxx: Add LED support for 6393X +Subject: [PATCH 28/73] net: dsa: mv88e6xxx: Add LED support for 6393X Original commit: commit 462277b926140ee2d231317e92afb6cabf640268 @@ -22,10 +22,10 @@ Date: Thu Nov 16 21:59:35 2023 +0100 4 files changed, 450 insertions(+) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index d379799c0a16..7bc3169839d3 100644 +index 71458342a274..f0a662e9b847 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -5658,6 +5658,7 @@ static const struct mv88e6xxx_ops mv88e6393x_ops = { +@@ -5669,6 +5669,7 @@ static const struct mv88e6xxx_ops mv88e6393x_ops = { .port_disable_pri_override = mv88e6xxx_port_disable_pri_override, .port_get_cmode = mv88e6352_port_get_cmode, .port_set_cmode = mv88e6393x_port_set_cmode, diff --git a/patches/linux/6.18.52/0029-wifi-brcmfmac-check-connection-state-before-querying.patch b/patches/linux/6.18.53/0029-wifi-brcmfmac-check-connection-state-before-querying.patch similarity index 92% rename from patches/linux/6.18.52/0029-wifi-brcmfmac-check-connection-state-before-querying.patch rename to patches/linux/6.18.53/0029-wifi-brcmfmac-check-connection-state-before-querying.patch index a6834cf8e..4cb464473 100644 --- a/patches/linux/6.18.52/0029-wifi-brcmfmac-check-connection-state-before-querying.patch +++ b/patches/linux/6.18.53/0029-wifi-brcmfmac-check-connection-state-before-querying.patch @@ -1,7 +1,7 @@ -From ce0252c809e6ce7185b0cd5d1376bdf1cb943fbb Mon Sep 17 00:00:00 2001 +From 968d75f92636ed31e275a7acc984681ddac4aab4 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Mon, 19 Jan 2026 13:06:53 +0100 -Subject: [PATCH 29/68] wifi: brcmfmac: check connection state before querying +Subject: [PATCH 29/73] wifi: brcmfmac: check connection state before querying station info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.52/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch b/patches/linux/6.18.53/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch similarity index 92% rename from patches/linux/6.18.52/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch rename to patches/linux/6.18.53/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch index bdba29d71..7d7329092 100644 --- a/patches/linux/6.18.52/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch +++ b/patches/linux/6.18.53/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch @@ -1,7 +1,7 @@ -From e76c2b9d20c57c766f2d6b8a7aed8f4dfb2029ff Mon Sep 17 00:00:00 2001 +From 9a6378cc7ed94d3122de57665b092dabfdb97774 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 20 Jan 2026 20:12:10 +0100 -Subject: [PATCH 30/68] wifi: brcmfmac: suppress log spam for +Subject: [PATCH 30/73] wifi: brcmfmac: suppress log spam for regulatory-restricted channels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.52/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch b/patches/linux/6.18.53/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch similarity index 95% rename from patches/linux/6.18.52/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch rename to patches/linux/6.18.53/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch index 165be237a..b2ca98d51 100644 --- a/patches/linux/6.18.52/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch +++ b/patches/linux/6.18.53/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch @@ -1,7 +1,7 @@ -From d25a80ea88e245c1a16fb990129fb5a257bbbb63 Mon Sep 17 00:00:00 2001 +From d488facba3aaf4ffe64bf34f8a368ef41d918bd5 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 20 Jan 2026 20:18:45 +0100 -Subject: [PATCH 31/68] wifi: brcmfmac: reduce log noise during AP to station +Subject: [PATCH 31/73] wifi: brcmfmac: reduce log noise during AP to station transition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.52/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch b/patches/linux/6.18.53/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch similarity index 91% rename from patches/linux/6.18.52/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch rename to patches/linux/6.18.53/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch index 4973e49f2..3cd00da9c 100644 --- a/patches/linux/6.18.52/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch +++ b/patches/linux/6.18.53/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch @@ -1,7 +1,7 @@ -From 0378a04fe39551708c880469e2e560dd4b1a5c36 Mon Sep 17 00:00:00 2001 +From 7ce8d66c77aa2b5e1289b36903551178fcbcafe6 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 17 Feb 2026 21:59:59 +0100 -Subject: [PATCH 32/68] net: phy: air_en8811h: add OF device table for +Subject: [PATCH 32/73] net: phy: air_en8811h: add OF device table for auto-loading mdio_uevent() only emits an OF-style MODALIAS via diff --git a/patches/linux/6.18.52/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch b/patches/linux/6.18.53/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch similarity index 96% rename from patches/linux/6.18.52/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch rename to patches/linux/6.18.53/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch index cd622da59..0a3e574c1 100644 --- a/patches/linux/6.18.52/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch +++ b/patches/linux/6.18.53/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch @@ -1,7 +1,7 @@ -From 502bb9778515fb0483ab2118f601657fb6b10428 Mon Sep 17 00:00:00 2001 +From 0ee254bfcca19b5dab8eea4a564458e504be66b6 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 20 Sep 2024 12:05:18 +0100 -Subject: [PATCH 33/68] drm: vc4: dsi: enable video and then retry failed +Subject: [PATCH 33/73] drm: vc4: dsi: enable video and then retry failed transfers The DSI block appears to be able to come up stuck in a condition where diff --git a/patches/linux/6.18.52/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch b/patches/linux/6.18.53/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch similarity index 93% rename from patches/linux/6.18.52/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch rename to patches/linux/6.18.53/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch index e238791ca..b64d3e89b 100644 --- a/patches/linux/6.18.52/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch +++ b/patches/linux/6.18.53/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch @@ -1,7 +1,7 @@ -From b65d3d91e88eae58a1a2344b820f77a7c01b57dc Mon Sep 17 00:00:00 2001 +From 011ea974ab3827da8f452374d9ad5d7deb1cdfae Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 8 Jun 2022 17:23:47 +0100 -Subject: [PATCH 34/68] drm: vc4: dsi: Clocks should be running before reset +Subject: [PATCH 34/73] drm: vc4: dsi: Clocks should be running before reset The initialisation sequence differs slightly from the documentation in that the clocks are meant to be running before resets and diff --git a/patches/linux/6.18.52/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch b/patches/linux/6.18.53/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch similarity index 93% rename from patches/linux/6.18.52/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch rename to patches/linux/6.18.53/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch index 0909eecc1..214a9f8d1 100644 --- a/patches/linux/6.18.52/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch +++ b/patches/linux/6.18.53/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch @@ -1,7 +1,7 @@ -From 0ad09c8cd76273d0ebced272bd1461b048ee7426 Mon Sep 17 00:00:00 2001 +From 80ac9ffdc7d4f52b5b041e96abc43dc305ba28dc Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 5 Apr 2024 17:51:55 +0100 -Subject: [PATCH 35/68] drm/vc4: Ensure DSI is enabled for FIFO resets +Subject: [PATCH 35/73] drm/vc4: Ensure DSI is enabled for FIFO resets The block must be enabled for the FIFO resets to be actioned, so ensure this is the case. diff --git a/patches/linux/6.18.52/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch b/patches/linux/6.18.53/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch similarity index 93% rename from patches/linux/6.18.52/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch rename to patches/linux/6.18.53/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch index 21ab2f853..beaf959ca 100644 --- a/patches/linux/6.18.52/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch +++ b/patches/linux/6.18.53/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch @@ -1,7 +1,7 @@ -From 84bc4de8b433d9c1c2cdcd52c63caf2458ef688a Mon Sep 17 00:00:00 2001 +From c028492287617636e8448cd461c726f106c5b708 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 26 May 2022 18:56:19 +0100 -Subject: [PATCH 36/68] drm: vc4: Reset DSI AFE on disable +Subject: [PATCH 36/73] drm: vc4: Reset DSI AFE on disable vc4_dsi_bridge_disable wasn't resetting things during shutdown, so add that in. diff --git a/patches/linux/6.18.52/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch b/patches/linux/6.18.53/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch similarity index 97% rename from patches/linux/6.18.52/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch rename to patches/linux/6.18.53/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch index ebc3bef11..f3af79c60 100644 --- a/patches/linux/6.18.52/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch +++ b/patches/linux/6.18.53/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch @@ -1,7 +1,7 @@ -From bd6ec8f47af846642c13310cfb1f33a743e9e759 Mon Sep 17 00:00:00 2001 +From ac2a6cd318af5c87d0c7a83f05402175003b8dab Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 20 Nov 2024 13:58:08 +0000 -Subject: [PATCH 37/68] drm: vc4: dsi: Handle the different command FIFO widths +Subject: [PATCH 37/73] drm: vc4: dsi: Handle the different command FIFO widths DSI0 and DSI1 have different widths for the command FIFO (24bit vs 32bit), but the driver was assuming the 32bit width of DSI1 diff --git a/patches/linux/6.18.52/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch b/patches/linux/6.18.53/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch similarity index 93% rename from patches/linux/6.18.52/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch rename to patches/linux/6.18.53/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch index ba34ce534..a5147e305 100644 --- a/patches/linux/6.18.52/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch +++ b/patches/linux/6.18.53/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch @@ -1,7 +1,7 @@ -From aef07e4e9ab3565f71255e436f912ffe026472dd Mon Sep 17 00:00:00 2001 +From d7dc83a075a5724d67e18dadd38cfe697d45c293 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Jan 2024 17:37:00 +0000 -Subject: [PATCH 38/68] drm/bridge: tc358762: Program the DPI mode into the +Subject: [PATCH 38/73] drm/bridge: tc358762: Program the DPI mode into the chip The autodetection of resolution/timing by the TC358762 can lead diff --git a/patches/linux/6.18.52/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch b/patches/linux/6.18.53/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch similarity index 92% rename from patches/linux/6.18.52/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch rename to patches/linux/6.18.53/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch index 20905f74c..f78741e60 100644 --- a/patches/linux/6.18.52/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch +++ b/patches/linux/6.18.53/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch @@ -1,7 +1,7 @@ -From 31b7454671141e579cbd2df05cb1711409b8b041 Mon Sep 17 00:00:00 2001 +From 029fa9e184a06bf146c20369e9e6289850da9102 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Jan 2024 18:44:49 +0000 -Subject: [PATCH 39/68] drm/bridge: tc358762: revert move ops to enable +Subject: [PATCH 39/73] drm/bridge: tc358762: revert move ops to enable Reverts 8a4b2fc9c91a ("drm/bridge: tc358762: Split register programming from pre-enable to enable") as we want the config commands sent before video starts. diff --git a/patches/linux/6.18.52/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch b/patches/linux/6.18.53/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch similarity index 88% rename from patches/linux/6.18.52/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch rename to patches/linux/6.18.53/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch index 92de81d8c..901380924 100644 --- a/patches/linux/6.18.52/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch +++ b/patches/linux/6.18.53/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch @@ -1,7 +1,7 @@ -From c13764a3172999a3e8dd6f5cf8edc2b31bf13d81 Mon Sep 17 00:00:00 2001 +From 5aacaeb48e17eb70b5f2223ad131685acf8048f1 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Sat, 4 Apr 2026 18:04:19 +0200 -Subject: [PATCH 40/68] drm/bridge: tc358762: Set pre_enabled on pre_enable to +Subject: [PATCH 40/73] drm/bridge: tc358762: Set pre_enabled on pre_enable to prevent regulator imbalance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.52/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch b/patches/linux/6.18.53/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch similarity index 97% rename from patches/linux/6.18.52/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch rename to patches/linux/6.18.53/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch index f0ad75544..65ba11a27 100644 --- a/patches/linux/6.18.52/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch +++ b/patches/linux/6.18.53/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch @@ -1,7 +1,7 @@ -From fd95ab5571965e25e861991170cdfd0236a0687f Mon Sep 17 00:00:00 2001 +From 2b1930cd63dd14a60ebfcc28421d5883f0fcb313 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 5 Apr 2026 11:33:00 +0200 -Subject: [PATCH 41/68] net/pcs: add standalone PCS registration infrastructure +Subject: [PATCH 41/73] net/pcs: add standalone PCS registration infrastructure Add a simple registration mechanism that allows platform PCS drivers to register their phylink_pcs instances, and consumers (e.g. Ethernet MAC diff --git a/patches/linux/6.18.52/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch b/patches/linux/6.18.53/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch similarity index 99% rename from patches/linux/6.18.52/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch rename to patches/linux/6.18.53/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch index c9a202645..0e370edde 100644 --- a/patches/linux/6.18.52/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch +++ b/patches/linux/6.18.53/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch @@ -1,7 +1,7 @@ -From e0fefbd440dc5df6ab94d05b9029bc028a33c3de Mon Sep 17 00:00:00 2001 +From cb6988b374389135ad6a67b2f8e72dd23a12907e Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:14:23 +0200 -Subject: [PATCH 42/68] net/pcs: add MediaTek MT7988 USXGMII PCS driver +Subject: [PATCH 42/73] net/pcs: add MediaTek MT7988 USXGMII PCS driver Add a PCS driver for the USXGMII subsystem found in the MediaTek MT7988 SoC (usxgmiisys0 at 0x10080000, usxgmiisys1 at 0x10081000). The hardware diff --git a/patches/linux/6.18.52/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch b/patches/linux/6.18.53/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch similarity index 92% rename from patches/linux/6.18.52/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch rename to patches/linux/6.18.53/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch index a9b9daf67..e39f35f88 100644 --- a/patches/linux/6.18.52/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch +++ b/patches/linux/6.18.53/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch @@ -1,7 +1,7 @@ -From f662a11f72f7fba1bf36f4a4543ef3ae91927cb8 Mon Sep 17 00:00:00 2001 +From 0c92438b6f15fcf2da12e9bc858d495df9da19cc Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:15:43 +0200 -Subject: [PATCH 43/68] net: ethernet: mediatek: add USXGMII support for MT7988 +Subject: [PATCH 43/73] net: ethernet: mediatek: add USXGMII support for MT7988 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -126,7 +126,7 @@ index b4c01e2878f6..57380776032a 100644 +} + diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -index 98cf11a706e1..243503c58c7b 100644 +index 31eee8739c57..3118c84ef6d6 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -22,6 +22,7 @@ @@ -155,7 +155,7 @@ index 98cf11a706e1..243503c58c7b 100644 if (interface == PHY_INTERFACE_MODE_SGMII || phy_interface_mode_is_8023z(interface)) { sid = (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_SGMII)) ? -@@ -601,6 +613,15 @@ static void mtk_mac_config(struct phylink_config *config, unsigned int mode, +@@ -599,6 +611,15 @@ static void mtk_mac_config(struct phylink_config *config, unsigned int mode, goto init_err; } break; @@ -171,7 +171,7 @@ index 98cf11a706e1..243503c58c7b 100644 default: goto err_phy; } -@@ -664,7 +685,8 @@ static void mtk_mac_config(struct phylink_config *config, unsigned int mode, +@@ -662,7 +683,8 @@ static void mtk_mac_config(struct phylink_config *config, unsigned int mode, /* Save the syscfg0 value for mac_finish */ mac->syscfg0 = val; @@ -181,7 +181,7 @@ index 98cf11a706e1..243503c58c7b 100644 dev_err(eth->dev, "In-band mode not supported in non SGMII mode!\n"); return; -@@ -4932,6 +4954,28 @@ static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) +@@ -4955,6 +4977,28 @@ static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) mac->phylink_config.supported_interfaces); } @@ -207,11 +207,11 @@ index 98cf11a706e1..243503c58c7b 100644 + } + } + - phylink = phylink_create(&mac->phylink_config, - of_fwnode_handle(mac->of_node), - phy_mode, &mtk_phylink_ops); + if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) + mac_ops = &rt5350_phylink_ops; + diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.h b/drivers/net/ethernet/mediatek/mtk_eth_soc.h -index 0168e2fbc619..2b27ef392b76 100644 +index 88a9b3b23bea..340ecb824f59 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h @@ -567,6 +567,7 @@ @@ -222,7 +222,7 @@ index 0168e2fbc619..2b27ef392b76 100644 /* ethernet subsystem clock register */ -@@ -1012,6 +1013,13 @@ enum mkt_eth_capabilities { +@@ -1013,6 +1014,13 @@ enum mkt_eth_capabilities { MTK_ETH_PATH_GMAC2_2P5GPHY_BIT, MTK_ETH_PATH_GMAC2_GEPHY_BIT, MTK_ETH_PATH_GDM1_ESW_BIT, @@ -236,7 +236,7 @@ index 0168e2fbc619..2b27ef392b76 100644 }; /* Supported hardware group on SoCs */ -@@ -1092,6 +1100,23 @@ enum mkt_eth_capabilities { +@@ -1094,6 +1102,23 @@ enum mkt_eth_capabilities { #define MTK_MUX_GMAC12_TO_GEPHY_SGMII \ (MTK_ETH_MUX_GMAC12_TO_GEPHY_SGMII | MTK_MUX) @@ -260,7 +260,7 @@ index 0168e2fbc619..2b27ef392b76 100644 #define MTK_HAS_CAPS(caps, _x) (((caps) & (_x)) == (_x)) #define MT7621_CAPS (MTK_GMAC1_RGMII | MTK_GMAC1_TRGMII | \ -@@ -1124,8 +1149,9 @@ enum mkt_eth_capabilities { +@@ -1126,8 +1151,9 @@ enum mkt_eth_capabilities { MTK_RSTCTRL_PPE1 | MTK_SRAM) #define MT7988_CAPS (MTK_36BIT_DMA | MTK_GDM1_ESW | MTK_GMAC2_2P5GPHY | \ @@ -272,7 +272,7 @@ index 0168e2fbc619..2b27ef392b76 100644 struct mtk_tx_dma_desc_info { dma_addr_t addr; -@@ -1372,6 +1398,7 @@ struct mtk_mac { +@@ -1374,6 +1400,7 @@ struct mtk_mac { struct device_node *of_node; struct phylink *phylink; struct phylink_config phylink_config; @@ -280,7 +280,7 @@ index 0168e2fbc619..2b27ef392b76 100644 struct mtk_eth *hw; struct mtk_hw_stats *hw_stats; __be32 hwlro_ip[MTK_MAX_LRO_IP_CNT]; -@@ -1506,6 +1533,7 @@ int mtk_gmac_sgmii_path_setup(struct mtk_eth *eth, int mac_id); +@@ -1508,6 +1535,7 @@ int mtk_gmac_sgmii_path_setup(struct mtk_eth *eth, int mac_id); int mtk_gmac_2p5gphy_path_setup(struct mtk_eth *eth, int mac_id); int mtk_gmac_gephy_path_setup(struct mtk_eth *eth, int mac_id); int mtk_gmac_rgmii_path_setup(struct mtk_eth *eth, int mac_id); diff --git a/patches/linux/6.18.52/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch b/patches/linux/6.18.53/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch similarity index 93% rename from patches/linux/6.18.52/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch rename to patches/linux/6.18.53/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch index 45e7ff5b4..cd9c73b27 100644 --- a/patches/linux/6.18.52/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch +++ b/patches/linux/6.18.53/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch @@ -1,7 +1,7 @@ -From 78aaf69b77c66fcd4c38553690b81843ab19e6f5 Mon Sep 17 00:00:00 2001 +From f2fe50ac498475d2317ed59e26b717f30ac588ee Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:15:56 +0200 -Subject: [PATCH 44/68] arm64: dts: mediatek: mt7988a: add USXGMII PCS nodes +Subject: [PATCH 44/73] arm64: dts: mediatek: mt7988a: add USXGMII PCS nodes Add device nodes for the two USXGMII subsystem blocks (usxgmiisys0 at 0x10080000 and usxgmiisys1 at 0x10081000), each referencing its clock, diff --git a/patches/linux/6.18.52/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch b/patches/linux/6.18.53/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch similarity index 95% rename from patches/linux/6.18.52/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch rename to patches/linux/6.18.53/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch index f25d4033b..0ef28ad51 100644 --- a/patches/linux/6.18.52/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch +++ b/patches/linux/6.18.53/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch @@ -1,7 +1,7 @@ -From de700a63d91c60dc7b42927001fffb98f37e7c17 Mon Sep 17 00:00:00 2001 +From d20d562659c48ef6007dd28f29e6e1a3828ef0d6 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:16:11 +0200 -Subject: [PATCH 45/68] arm64: dts: mediatek: bananapi-bpi-r4: enable SFP+ +Subject: [PATCH 45/73] arm64: dts: mediatek: bananapi-bpi-r4: enable SFP+ ports and WPS button Enable the SFP+ cages wired to gmac1 and gmac2. The USXGMII PCS nodes diff --git a/patches/linux/6.18.52/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch b/patches/linux/6.18.53/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch similarity index 93% rename from patches/linux/6.18.52/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch rename to patches/linux/6.18.53/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch index 45ad42736..3a0fcaa49 100644 --- a/patches/linux/6.18.52/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch +++ b/patches/linux/6.18.53/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch @@ -1,7 +1,7 @@ -From d98629528ea4e9fa99fb994a3ae4a2a1f08abad9 Mon Sep 17 00:00:00 2001 +From 4706c601c19a5373447aa2d6277320a3d429213b Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 7 Apr 2026 07:34:52 +0200 -Subject: [PATCH 46/68] net: phy: sfp: add OEM SFP-10G-T-I quirk +Subject: [PATCH 46/73] net: phy: sfp: add OEM SFP-10G-T-I quirk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -26,7 +26,7 @@ Signed-off-by: Joachim Wiberg 1 file changed, 11 insertions(+) diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c -index 9683f9c2cd88..62b7f430f7f6 100644 +index af43530ffb2c..15a4b67ece2c 100644 --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c @@ -451,6 +451,16 @@ static void sfp_fixup_rollball_cc(struct sfp *sfp) diff --git a/patches/linux/6.18.52/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch b/patches/linux/6.18.53/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch similarity index 96% rename from patches/linux/6.18.52/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch rename to patches/linux/6.18.53/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch index 7adc6f2ca..a461f8107 100644 --- a/patches/linux/6.18.52/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch +++ b/patches/linux/6.18.53/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch @@ -1,7 +1,7 @@ -From e67c567f2f144b484683d6533a086d5bcc103d58 Mon Sep 17 00:00:00 2001 +From 5aef50115f9eb1107ba202413cd4cfbd4e209353 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 17 Apr 2026 09:13:04 +0000 -Subject: [PATCH 47/68] net: dsa: mv88e6xxx: Trap PTP frames on timestamping +Subject: [PATCH 47/73] net: dsa: mv88e6xxx: Trap PTP frames on timestamping ports, on 6393X Similar to the Peridot (6390), the designation of PTP frames as @@ -23,10 +23,10 @@ a port. 7 files changed, 67 insertions(+), 1 deletion(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index 7bc3169839d3..1d1edf84b224 100644 +index f0a662e9b847..54bf531fcc35 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -5689,7 +5689,7 @@ static const struct mv88e6xxx_ops mv88e6393x_ops = { +@@ -5700,7 +5700,7 @@ static const struct mv88e6xxx_ops mv88e6393x_ops = { /* TODO: serdes stats */ .gpio_ops = &mv88e6352_gpio_ops, .avb_ops = &mv88e6390_avb_ops, diff --git a/patches/linux/6.18.52/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch b/patches/linux/6.18.53/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch similarity index 89% rename from patches/linux/6.18.52/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch rename to patches/linux/6.18.53/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch index 54f3cf76d..69cdf3192 100644 --- a/patches/linux/6.18.52/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch +++ b/patches/linux/6.18.53/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch @@ -1,7 +1,7 @@ -From 00a3b848c74a8cb64d3ebc360a17067d129afbf3 Mon Sep 17 00:00:00 2001 +From e739b999a49ef96016f48855fcee63bb181f2340 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 28 Apr 2026 15:30:01 +0200 -Subject: [PATCH 48/68] wifi: mt76: mt7615: add MODULE_DEVICE_TABLE for mt7622 +Subject: [PATCH 48/73] wifi: mt76: mt7615: add MODULE_DEVICE_TABLE for mt7622 wmac Without MODULE_DEVICE_TABLE(of, ...) the OF compatible alias is never diff --git a/patches/linux/6.18.52/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch b/patches/linux/6.18.53/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch similarity index 95% rename from patches/linux/6.18.52/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch rename to patches/linux/6.18.53/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch index 076e8b949..ab43774df 100644 --- a/patches/linux/6.18.52/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch +++ b/patches/linux/6.18.53/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch @@ -1,7 +1,7 @@ -From dacf0c88e1b924b7c84a8944f0e723891ddb5bff Mon Sep 17 00:00:00 2001 +From 95d8eaf11283cafe27304a3cfab8b1cb85b37622 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 22 Apr 2026 10:24:43 +0200 -Subject: [PATCH 49/68] PCI: mediatek-gen3: Fix PERST# control timing during +Subject: [PATCH 49/73] PCI: mediatek-gen3: Fix PERST# control timing during system startup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.52/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch b/patches/linux/6.18.53/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch similarity index 90% rename from patches/linux/6.18.52/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch rename to patches/linux/6.18.53/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch index 58ff54d86..4a1bcfe86 100644 --- a/patches/linux/6.18.52/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch +++ b/patches/linux/6.18.53/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch @@ -1,7 +1,7 @@ -From 7c134c219c07081100afd3c20afca3546049b454 Mon Sep 17 00:00:00 2001 +From ee6c3ca64db7632f4569d2c06921a477e0d71051 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 12 Aug 2026 10:08:53 +0200 -Subject: [PATCH 50/68] net: dsa: mv88e6xxx: Derive LED names from device name +Subject: [PATCH 50/73] net: dsa: mv88e6xxx: Derive LED names from device name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.52/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch b/patches/linux/6.18.53/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch similarity index 89% rename from patches/linux/6.18.52/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch rename to patches/linux/6.18.53/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch index ce9bc806d..d359f88f0 100644 --- a/patches/linux/6.18.52/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch +++ b/patches/linux/6.18.53/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch @@ -1,7 +1,7 @@ -From ba411ec563bb61313aa7192a9cb6a2a81c1e91e8 Mon Sep 17 00:00:00 2001 +From fbf1d5fc70f4e859550ebfac2170cdaca65b6d52 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 31 Oct 2025 13:18:12 +0100 -Subject: [PATCH 51/68] phy: sparx5-serdes: make it selectable for ARCH_LAN969X +Subject: [PATCH 51/73] phy: sparx5-serdes: make it selectable for ARCH_LAN969X LAN969x uses the SparX-5 SERDES driver, so make it selectable for ARCH_LAN969X. diff --git a/patches/linux/6.18.52/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch b/patches/linux/6.18.53/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch similarity index 95% rename from patches/linux/6.18.52/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch rename to patches/linux/6.18.53/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch index d68b9717e..9a63d7aea 100644 --- a/patches/linux/6.18.52/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch +++ b/patches/linux/6.18.53/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch @@ -1,7 +1,7 @@ -From 1373c217eb12314d87f1bd6e6bdd79747093d668 Mon Sep 17 00:00:00 2001 +From 0c02961c42448b34a0444bdad1b29e840805b977 Mon Sep 17 00:00:00 2001 From: Daniel Machon Date: Wed, 6 May 2026 09:25:38 +0200 -Subject: [PATCH 52/68] net: sparx5: fix wrong chip ids for TSN SKUs +Subject: [PATCH 52/73] net: sparx5: fix wrong chip ids for TSN SKUs The TSN SKUs in enum spx5_target_chiptype have incorrect IDs: diff --git a/patches/linux/6.18.52/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch b/patches/linux/6.18.53/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch similarity index 93% rename from patches/linux/6.18.52/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch rename to patches/linux/6.18.53/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch index c1b05ebdf..ab0ba7140 100644 --- a/patches/linux/6.18.52/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch +++ b/patches/linux/6.18.53/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch @@ -1,7 +1,7 @@ -From f9c94c3e9a613c837a07a51512df709075c5abd5 Mon Sep 17 00:00:00 2001 +From 0e7200a27263bbc2d9b3e0280f53be0689cb2572 Mon Sep 17 00:00:00 2001 From: Daniel Machon Date: Wed, 6 May 2026 09:25:39 +0200 -Subject: [PATCH 53/68] net: sparx5: configure serdes for 1000BASE-X in +Subject: [PATCH 53/73] net: sparx5: configure serdes for 1000BASE-X in sparx5_port_init() sparx5_port_init() only invokes sparx5_serdes_set() and the associated diff --git a/patches/linux/6.18.52/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch b/patches/linux/6.18.53/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch similarity index 89% rename from patches/linux/6.18.52/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch rename to patches/linux/6.18.53/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch index 05e78927f..42487a2f8 100644 --- a/patches/linux/6.18.52/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch +++ b/patches/linux/6.18.53/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch @@ -1,7 +1,7 @@ -From 5057989b3689c435c345dcdcc9414ec014a7e3e1 Mon Sep 17 00:00:00 2001 +From 8552da0d61aa59c8fa8df344249c898af17cd08d Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:35:29 +0200 -Subject: [PATCH 54/68] dt-bindings: mmc: atmel,sama5d2-sdhci: add +Subject: [PATCH 54/73] dt-bindings: mmc: atmel,sama5d2-sdhci: add microchip,lan969x-sdhci The LAN969x SDMMC controller has its own base clock divider and, unlike diff --git a/patches/linux/6.18.52/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch b/patches/linux/6.18.53/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch similarity index 96% rename from patches/linux/6.18.52/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch rename to patches/linux/6.18.53/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch index 3c4022d8a..039ad7795 100644 --- a/patches/linux/6.18.52/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch +++ b/patches/linux/6.18.53/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch @@ -1,7 +1,7 @@ -From 082c3d44d7427e72dde96d90cebf989c901f6326 Mon Sep 17 00:00:00 2001 +From 083d8e6448c068465593674e9420defbb0b94c79 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:35:44 +0200 -Subject: [PATCH 55/68] mmc: sdhci-of-at91: add LAN969x support +Subject: [PATCH 55/73] mmc: sdhci-of-at91: add LAN969x support The LAN969x SDMMC controller is an Atmel SDMMC IP block, but the driver has no compatible for it, so the eMMC on LAN969x boards never probes. diff --git a/patches/linux/6.18.52/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch b/patches/linux/6.18.53/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch similarity index 97% rename from patches/linux/6.18.52/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch rename to patches/linux/6.18.53/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch index 6d6f6c942..464b3c277 100644 --- a/patches/linux/6.18.52/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch +++ b/patches/linux/6.18.53/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch @@ -1,7 +1,7 @@ -From c403067aeafa0ff2324a87578c2319839806fee5 Mon Sep 17 00:00:00 2001 +From 36dd40374cb2e946b4bc94450ed478a406fead63 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:37:48 +0200 -Subject: [PATCH 56/68] mmc: sdhci-of-at91: stop SDCLK on reset and add eMMC +Subject: [PATCH 56/73] mmc: sdhci-of-at91: stop SDCLK on reset and add eMMC hardware reset The controller is reset, and its signaling mode changed, with SDCLK diff --git a/patches/linux/6.18.52/0057-net-sparx5-lan969x-populate-netdev-of_node.patch b/patches/linux/6.18.53/0057-net-sparx5-lan969x-populate-netdev-of_node.patch similarity index 88% rename from patches/linux/6.18.52/0057-net-sparx5-lan969x-populate-netdev-of_node.patch rename to patches/linux/6.18.53/0057-net-sparx5-lan969x-populate-netdev-of_node.patch index 000043530..a1ab57b12 100644 --- a/patches/linux/6.18.52/0057-net-sparx5-lan969x-populate-netdev-of_node.patch +++ b/patches/linux/6.18.53/0057-net-sparx5-lan969x-populate-netdev-of_node.patch @@ -1,7 +1,7 @@ -From 548434acbb2a68e971d13e522c5b42b9c1a2ba82 Mon Sep 17 00:00:00 2001 +From 7399b4db7137e766f0b7ec2b83d485a6c602a85c Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 10 Nov 2025 13:42:53 +0100 -Subject: [PATCH 57/68] net: sparx5/lan969x: populate netdev of_node +Subject: [PATCH 57/73] net: sparx5/lan969x: populate netdev of_node Populate of_node for the port netdevs, to make the individual ports of_nodes available in sysfs. diff --git a/patches/linux/6.18.52/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch b/patches/linux/6.18.53/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch similarity index 92% rename from patches/linux/6.18.52/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch rename to patches/linux/6.18.53/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch index 419ed9924..ba724f97b 100644 --- a/patches/linux/6.18.52/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch +++ b/patches/linux/6.18.53/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch @@ -1,7 +1,7 @@ -From 34b7e523138f400c5c494c2052efddd63132b792 Mon Sep 17 00:00:00 2001 +From cb4171b2c0dc5584d1bacf887517be7dc26439f5 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:11 +0100 -Subject: [PATCH 58/68] arm64: dts: microchip: add LAN969x clock header file +Subject: [PATCH 58/73] arm64: dts: microchip: add LAN969x clock header file LAN969x uses hardware clock indexes, so document theses in a header to make them humanly readable. diff --git a/patches/linux/6.18.52/0059-arm64-dts-microchip-add-LAN969x-support.patch b/patches/linux/6.18.53/0059-arm64-dts-microchip-add-LAN969x-support.patch similarity index 99% rename from patches/linux/6.18.52/0059-arm64-dts-microchip-add-LAN969x-support.patch rename to patches/linux/6.18.53/0059-arm64-dts-microchip-add-LAN969x-support.patch index 3b478de40..40cdf1be6 100644 --- a/patches/linux/6.18.52/0059-arm64-dts-microchip-add-LAN969x-support.patch +++ b/patches/linux/6.18.53/0059-arm64-dts-microchip-add-LAN969x-support.patch @@ -1,7 +1,7 @@ -From 9ca755936add71e912fbe1977e1ac8e2ff652cad Mon Sep 17 00:00:00 2001 +From 49323774a28d025659141085d30c1fedd45442b1 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:12 +0100 -Subject: [PATCH 59/68] arm64: dts: microchip: add LAN969x support +Subject: [PATCH 59/73] arm64: dts: microchip: add LAN969x support Add support for Microchip LAN969x switch SoC series by adding the SoC DTSI. diff --git a/patches/linux/6.18.52/0060-arm64-dts-microchip-add-EV23X71A-board.patch b/patches/linux/6.18.53/0060-arm64-dts-microchip-add-EV23X71A-board.patch similarity index 99% rename from patches/linux/6.18.52/0060-arm64-dts-microchip-add-EV23X71A-board.patch rename to patches/linux/6.18.53/0060-arm64-dts-microchip-add-EV23X71A-board.patch index 591e334b4..278bc741c 100644 --- a/patches/linux/6.18.52/0060-arm64-dts-microchip-add-EV23X71A-board.patch +++ b/patches/linux/6.18.53/0060-arm64-dts-microchip-add-EV23X71A-board.patch @@ -1,7 +1,7 @@ -From c58489bf909de5c60ed986aa8af25ee5a6cff654 Mon Sep 17 00:00:00 2001 +From 5fb4c2a0c31ae8a129047ce575d9e77f26bb13f8 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:14 +0100 -Subject: [PATCH 60/68] arm64: dts: microchip: add EV23X71A board +Subject: [PATCH 60/73] arm64: dts: microchip: add EV23X71A board Microchip EV23X71A is an LAN9696 based evaluation board. diff --git a/patches/linux/6.18.52/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch b/patches/linux/6.18.53/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch similarity index 89% rename from patches/linux/6.18.52/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch rename to patches/linux/6.18.53/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch index 5099f86c5..c4e096e6f 100644 --- a/patches/linux/6.18.52/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch +++ b/patches/linux/6.18.53/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch @@ -1,7 +1,7 @@ -From b080fb0fde6bf967b5295aabf6221375776461ab Mon Sep 17 00:00:00 2001 +From f440265ff1ea4a015d8e5fd2693dffda319a71ea Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 15 May 2026 13:59:09 +0200 -Subject: [PATCH 61/68] arm64: dts: microchip: lan969x: add OTP node +Subject: [PATCH 61/73] arm64: dts: microchip: lan969x: add OTP node Add the required OTP on LAN969x. diff --git a/patches/linux/6.18.52/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch b/patches/linux/6.18.53/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch similarity index 92% rename from patches/linux/6.18.52/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch rename to patches/linux/6.18.53/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch index 73e5c0c9e..f62f49aff 100644 --- a/patches/linux/6.18.52/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch +++ b/patches/linux/6.18.53/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch @@ -1,7 +1,7 @@ -From 7e386e0baaefa0380c958534369bceae1dfd2b58 Mon Sep 17 00:00:00 2001 +From f8ce963b5ad2c22461c0411fb60891cf53483f5b Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:38:37 +0200 -Subject: [PATCH 62/68] arm64: dts: microchip: lan969x: add SDMMC nodes +Subject: [PATCH 62/73] arm64: dts: microchip: lan969x: add SDMMC nodes The SoC has two SDMMC controllers, neither of which is described, so boards with eMMC have no way to enable it. Add both, disabled by diff --git a/patches/linux/6.18.52/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch b/patches/linux/6.18.53/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch similarity index 87% rename from patches/linux/6.18.52/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch rename to patches/linux/6.18.53/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch index dc656cd51..41125fda6 100644 --- a/patches/linux/6.18.52/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch +++ b/patches/linux/6.18.53/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch @@ -1,7 +1,7 @@ -From d9f83db04a270b064e0f7051c7317e1bd68da2f3 Mon Sep 17 00:00:00 2001 +From 33e5ff7e7de52f5a35af1a56a563295b55628a3c Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:38:37 +0200 -Subject: [PATCH 63/68] arm64: dts: microchip: ev23x71a: enable eMMC +Subject: [PATCH 63/73] arm64: dts: microchip: ev23x71a: enable eMMC The board has an 8-bit eMMC on SDMMC0, and defines the emmc_sd pinctrl group for it, but nothing enables the controller. diff --git a/patches/linux/6.18.52/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch b/patches/linux/6.18.53/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch similarity index 96% rename from patches/linux/6.18.52/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch rename to patches/linux/6.18.53/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch index a8428f3c5..553d427aa 100644 --- a/patches/linux/6.18.52/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch +++ b/patches/linux/6.18.53/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch @@ -1,7 +1,7 @@ -From 680fed97f692abb616e528e0954922b509be34fe Mon Sep 17 00:00:00 2001 +From e6220535e37726786aa722c9338721be147c4840 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:42:48 +0200 -Subject: [PATCH 64/68] wifi: brcmfmac: survey the requested interface, not the +Subject: [PATCH 64/73] wifi: brcmfmac: survey the requested interface, not the primary MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.52/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch b/patches/linux/6.18.53/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch similarity index 93% rename from patches/linux/6.18.52/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch rename to patches/linux/6.18.53/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch index a79a69b70..6d993d96a 100644 --- a/patches/linux/6.18.52/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch +++ b/patches/linux/6.18.53/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch @@ -1,7 +1,7 @@ -From b60ea68979a848c0881e8b4f776ee2969dca7096 Mon Sep 17 00:00:00 2001 +From 83e5102b41dff2c6c2d54ef8e17b8ac27a69ee52 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:43:14 +0200 -Subject: [PATCH 65/68] wifi: brcmfmac: honor caller's rtnl lock when stopping +Subject: [PATCH 65/73] wifi: brcmfmac: honor caller's rtnl lock when stopping primary interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.52/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch b/patches/linux/6.18.53/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch similarity index 98% rename from patches/linux/6.18.52/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch rename to patches/linux/6.18.53/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch index cbf71b5c3..57cc32984 100644 --- a/patches/linux/6.18.52/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch +++ b/patches/linux/6.18.53/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch @@ -1,7 +1,7 @@ -From 4294e39edf6406d5ff8249cadd8f642f75909095 Mon Sep 17 00:00:00 2001 +From f7f039a2a03103c314bf0b3cd1be644288923bda Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:46:25 +0200 -Subject: [PATCH 66/68] wifi: brcmfmac: let cfg_to_ndev() return NULL and +Subject: [PATCH 66/73] wifi: brcmfmac: let cfg_to_ndev() return NULL and harden its callers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.52/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch b/patches/linux/6.18.53/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch similarity index 98% rename from patches/linux/6.18.52/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch rename to patches/linux/6.18.53/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch index ea3b57665..cc592bc5e 100644 --- a/patches/linux/6.18.52/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch +++ b/patches/linux/6.18.53/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch @@ -1,7 +1,7 @@ -From bf6f773ef9968896eb548f5962e60b8d194fe67e Mon Sep 17 00:00:00 2001 +From af8c7b89ba7f243308f58deb84d7389519e1d25c Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 16:05:17 +0200 -Subject: [PATCH 67/68] wifi: brcmfmac: support deletion and recreation of the +Subject: [PATCH 67/73] wifi: brcmfmac: support deletion and recreation of the primary interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.52/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch b/patches/linux/6.18.53/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch similarity index 97% rename from patches/linux/6.18.52/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch rename to patches/linux/6.18.53/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch index 5f864dcdf..6ea98e1ae 100644 --- a/patches/linux/6.18.52/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch +++ b/patches/linux/6.18.53/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch @@ -1,7 +1,7 @@ -From a899791d55be2578523c8615e082ae96053b1686 Mon Sep 17 00:00:00 2001 +From c28f7bddebc24ad1aee46c6643492686a4a7bdb9 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Thu, 10 Sep 2026 08:29:47 +0200 -Subject: [PATCH 68/68] wifi: brcmfmac: report port authorized after offloaded +Subject: [PATCH 68/73] wifi: brcmfmac: report port authorized after offloaded PSK/SAE handshake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.53/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch b/patches/linux/6.18.53/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch new file mode 100644 index 000000000..fb4bdef0c --- /dev/null +++ b/patches/linux/6.18.53/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch @@ -0,0 +1,30 @@ +From f87552a85ec055276a7b7692782101bc2b705f72 Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Fri, 9 Jan 2026 13:27:00 +0100 +Subject: [PATCH 69/73] dt-bindings: arm: AT91: document Novarq Tactical 1000 + +Novarq Tactical 1000 is a Microchip LAN9696 based 24x1G + 4x10G SFP switch. + +Signed-off-by: Robert Marko +(cherry picked from commit 69b6f0b134664fcf39d7b94bbb4a689ef0af2c5d) +--- + Documentation/devicetree/bindings/arm/atmel-at91.yaml | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.yaml b/Documentation/devicetree/bindings/arm/atmel-at91.yaml +index 3a34b7a2e8d4..49666e92c04a 100644 +--- a/Documentation/devicetree/bindings/arm/atmel-at91.yaml ++++ b/Documentation/devicetree/bindings/arm/atmel-at91.yaml +@@ -241,6 +241,12 @@ properties: + - const: microchip,lan9668 + - const: microchip,lan966 + ++ - description: Novarq Tactical 1000 ++ items: ++ - const: novarq,tactical-1000 ++ - const: microchip,lan9696 ++ - const: microchip,lan9691 ++ + - description: Kontron KSwitch D10 MMT series + items: + - enum: diff --git a/patches/linux/6.18.53/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch b/patches/linux/6.18.53/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch new file mode 100644 index 000000000..b3ffd928d --- /dev/null +++ b/patches/linux/6.18.53/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch @@ -0,0 +1,919 @@ +From c986e0eb8b41935331886b7075e099efce552051 Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Tue, 30 Sep 2025 13:37:49 +0200 +Subject: [PATCH 70/73] arm64: dts: microchip: add Novarq Tactical 1000 + +Novarq Tactical 1000 is a LAN9696 based switch featuring 24x1G and 4x10G +SFP ports. + +Signed-off-by: Robert Marko +(cherry picked from commit ac11a85913d1ac0192352078915ec1dabc557df5) +--- + arch/arm64/boot/dts/microchip/Makefile | 1 + + .../dts/microchip/lan9696-tactical-1000.dts | 886 ++++++++++++++++++ + 2 files changed, 887 insertions(+) + create mode 100644 arch/arm64/boot/dts/microchip/lan9696-tactical-1000.dts + +diff --git a/arch/arm64/boot/dts/microchip/Makefile b/arch/arm64/boot/dts/microchip/Makefile +index 09d16fc1ce9a..0ba970d308ec 100644 +--- a/arch/arm64/boot/dts/microchip/Makefile ++++ b/arch/arm64/boot/dts/microchip/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + dtb-$(CONFIG_ARCH_LAN969X) += lan9696-ev23x71a.dtb ++dtb-$(CONFIG_ARCH_LAN969X) += lan9696-tactical-1000.dtb + dtb-$(CONFIG_ARCH_SPARX5) += sparx5_pcb125.dtb + dtb-$(CONFIG_ARCH_SPARX5) += sparx5_pcb134.dtb sparx5_pcb134_emmc.dtb + dtb-$(CONFIG_ARCH_SPARX5) += sparx5_pcb135.dtb sparx5_pcb135_emmc.dtb +diff --git a/arch/arm64/boot/dts/microchip/lan9696-tactical-1000.dts b/arch/arm64/boot/dts/microchip/lan9696-tactical-1000.dts +new file mode 100644 +index 000000000000..e9fa26e05804 +--- /dev/null ++++ b/arch/arm64/boot/dts/microchip/lan9696-tactical-1000.dts +@@ -0,0 +1,886 @@ ++// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) ++ ++/dts-v1/; ++ ++#include ++#include ++#include ++#include ++#include "lan9691.dtsi" ++ ++/ { ++ model = "Novarq Tactical 1000"; ++ compatible = "novarq,tactical-1000", "microchip,lan9696", "microchip,lan9691"; ++ ++ aliases { ++ serial0 = &usart0; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ case_fan: case-gpio-fan { ++ compatible = "gpio-fan"; ++ #cooling-cells = <2>; ++ gpios = <&gpio 59 GPIO_ACTIVE_HIGH>; ++ gpio-fan,speed-map = <0 0>, ++ <2000 1>; ++ }; ++ ++ gpio-restart { ++ compatible = "gpio-restart"; ++ gpios = <&gpio 60 GPIO_ACTIVE_LOW>; ++ open-source; ++ priority = <200>; ++ }; ++ ++ i2c-mux { ++ compatible = "i2c-mux-gpio"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ i2c-parent = <&i2c3>; ++ idle-state = <0x8>; ++ mux-gpios = <&sgpio_out 0 1 GPIO_ACTIVE_HIGH>, ++ <&sgpio_out 0 2 GPIO_ACTIVE_HIGH>, ++ <&sgpio_out 0 3 GPIO_ACTIVE_HIGH>; ++ settle-time-us = <100>; ++ ++ i2c_sfp2: i2c@0 { ++ reg = <0x0>; ++ }; ++ ++ i2c_sfp1: i2c@1 { ++ reg = <0x1>; ++ }; ++ ++ i2c_sfp0: i2c@2 { ++ reg = <0x2>; ++ }; ++ ++ i2c_sfp3: i2c@3 { ++ reg = <0x3>; ++ }; ++ ++ i2c_rtc: i2c@4 { ++ reg = <0x4>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ rtc@6f { ++ compatible = "microchip,mcp7940x"; ++ reg = <0x6f>; ++ }; ++ }; ++ ++ i2c_tmp: i2c@6 { ++ reg = <0x6>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ temperature-sensor@48 { ++ compatible = "ti,tmp1075"; ++ reg = <0x48>; ++ }; ++ }; ++ ++ i2c_poe: i2c@7 { ++ reg = <0x7>; ++ }; ++ }; ++ ++ keys { ++ compatible = "gpio-keys"; ++ pinctrl-0 = <&button_pins>; ++ pinctrl-names = "default"; ++ ++ key-reset { ++ label = "reset"; ++ gpios = <&gpio 2 GPIO_ACTIVE_LOW>; ++ linux,code = ; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ led-status { ++ color = ; ++ function = LED_FUNCTION_STATUS; ++ gpios = <&gpio 61 GPIO_ACTIVE_LOW>; ++ default-state = "on"; ++ }; ++ ++ led-sfp1-green { ++ color = ; ++ function = LED_FUNCTION_LAN; ++ function-enumerator = <0>; ++ gpios = <&sgpio_out 6 0 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ ++ led-sfp1-yellow { ++ color = ; ++ function = LED_FUNCTION_LAN; ++ function-enumerator = <0>; ++ gpios = <&sgpio_out 6 1 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ ++ led-sfp2-green { ++ color = ; ++ function = LED_FUNCTION_LAN; ++ function-enumerator = <1>; ++ gpios = <&sgpio_out 7 0 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ ++ led-sfp2-yellow { ++ color = ; ++ function = LED_FUNCTION_LAN; ++ function-enumerator = <1>; ++ gpios = <&sgpio_out 7 1 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ ++ led-sfp3-green { ++ color = ; ++ function = LED_FUNCTION_LAN; ++ function-enumerator = <2>; ++ gpios = <&sgpio_out 8 0 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ ++ led-sfp3-yellow { ++ color = ; ++ function = LED_FUNCTION_LAN; ++ function-enumerator = <2>; ++ gpios = <&sgpio_out 8 1 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ ++ led-sfp4-green { ++ color = ; ++ function = LED_FUNCTION_LAN; ++ function-enumerator = <3>; ++ gpios = <&sgpio_out 9 0 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ ++ led-sfp4-yellow { ++ color = ; ++ function = LED_FUNCTION_LAN; ++ function-enumerator = <3>; ++ gpios = <&sgpio_out 9 1 GPIO_ACTIVE_LOW>; ++ default-state = "off"; ++ }; ++ }; ++ ++ sfp0: sfp0 { ++ compatible = "sff,sfp"; ++ i2c-bus = <&i2c_sfp0>; ++ tx-disable-gpios = <&sgpio_out 6 2 GPIO_ACTIVE_HIGH>; ++ los-gpios = <&sgpio_in 6 0 GPIO_ACTIVE_HIGH>; ++ mod-def0-gpios = <&sgpio_in 6 1 GPIO_ACTIVE_LOW>; ++ tx-fault-gpios = <&sgpio_in 6 2 GPIO_ACTIVE_HIGH>; ++ /* RS1 is internally tied to RS0 */ ++ rate-select0-gpios = <&sgpio_out 6 3 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ sfp1: sfp1 { ++ compatible = "sff,sfp"; ++ i2c-bus = <&i2c_sfp1>; ++ tx-disable-gpios = <&sgpio_out 7 2 GPIO_ACTIVE_HIGH>; ++ los-gpios = <&sgpio_in 7 0 GPIO_ACTIVE_HIGH>; ++ mod-def0-gpios = <&sgpio_in 7 1 GPIO_ACTIVE_LOW>; ++ tx-fault-gpios = <&sgpio_in 7 2 GPIO_ACTIVE_HIGH>; ++ /* RS1 is internally tied to RS0 */ ++ rate-select0-gpios = <&sgpio_out 7 3 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ sfp2: sfp2 { ++ compatible = "sff,sfp"; ++ i2c-bus = <&i2c_sfp2>; ++ tx-disable-gpios = <&sgpio_out 8 2 GPIO_ACTIVE_HIGH>; ++ los-gpios = <&sgpio_in 8 0 GPIO_ACTIVE_HIGH>; ++ mod-def0-gpios = <&sgpio_in 8 1 GPIO_ACTIVE_LOW>; ++ tx-fault-gpios = <&sgpio_in 8 2 GPIO_ACTIVE_HIGH>; ++ /* RS1 is internally tied to RS0 */ ++ rate-select0-gpios = <&sgpio_out 8 3 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ sfp3: sfp3 { ++ compatible = "sff,sfp"; ++ i2c-bus = <&i2c_sfp3>; ++ tx-disable-gpios = <&sgpio_out 9 2 GPIO_ACTIVE_HIGH>; ++ los-gpios = <&sgpio_in 9 0 GPIO_ACTIVE_HIGH>; ++ mod-def0-gpios = <&sgpio_in 9 1 GPIO_ACTIVE_LOW>; ++ tx-fault-gpios = <&sgpio_in 9 2 GPIO_ACTIVE_HIGH>; ++ /* RS1 is internally tied to RS0 */ ++ rate-select0-gpios = <&sgpio_out 9 3 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ thermal-zones { ++ soc-thermal { ++ polling-delay-passive = <1000>; ++ polling-delay = <2000>; ++ thermal-sensors = <&tmon>; ++ ++ trips { ++ fan_low_trip: fan-low-trip { ++ temperature = <60000>; ++ hysteresis = <5000>; ++ type = "active"; ++ }; ++ ++ fan_mid_trip: fan-mid-trip { ++ temperature = <70000>; ++ hysteresis = <5000>; ++ type = "active"; ++ }; ++ ++ fan_high_trip: fan-high-trip { ++ temperature = <80000>; ++ hysteresis = <5000>; ++ type = "active"; ++ }; ++ ++ critical_trip: critical-trip { ++ temperature = <105000>; ++ hysteresis = <5000>; ++ type = "critical"; ++ }; ++ }; ++ ++ cooling-maps { ++ map0 { ++ trip = <&fan_low_trip>; ++ cooling-device = <&soc_fan 1 1>; ++ }; ++ ++ map1 { ++ trip = <&fan_mid_trip>; ++ cooling-device = <&soc_fan 2 2>; ++ }; ++ ++ map2 { ++ trip = <&fan_high_trip>; ++ cooling-device = <&soc_fan 3 3>; ++ }; ++ }; ++ }; ++ }; ++}; ++ ++&gpio { ++ button_pins: button-pins { ++ pins = "GPIO_2"; ++ function = "gpio"; ++ }; ++ ++ case_fan_pins: case-fan-pins { ++ pins = "GPIO_59"; ++ function = "gpio"; ++ }; ++ ++ emmc_sd_pins: emmc-sd-pins { ++ /* eMMC_SD - CMD, CLK, D0, D1, D2, D3, D4, D5, D6, D7, RSTN */ ++ pins = "GPIO_14", "GPIO_15", "GPIO_16", "GPIO_17", ++ "GPIO_18", "GPIO_19", "GPIO_20", "GPIO_21", ++ "GPIO_22", "GPIO_23", "GPIO_24"; ++ function = "emmc_sd"; ++ }; ++ ++ fan_pins: fan-pins { ++ pins = "GPIO_25", "GPIO_26"; ++ function = "fan"; ++ }; ++ ++ fc0_pins: fc0-pins { ++ pins = "GPIO_3", "GPIO_4"; ++ function = "fc"; ++ }; ++ ++ ++ fc2_pins: fc2-pins { ++ pins = "GPIO_65", "GPIO_66"; ++ function = "fc"; ++ }; ++ ++ fc3_pins: fc3-pins { ++ pins = "GPIO_55", "GPIO_56"; ++ function = "fc"; ++ }; ++ ++ mdio_pins: mdio-pins { ++ pins = "GPIO_9", "GPIO_10"; ++ function = "miim"; ++ }; ++ ++ mdio_irq_pins: mdio-irq-pins { ++ pins = "GPIO_11"; ++ function = "miim_irq"; ++ }; ++ ++ sgpio_pins: sgpio-pins { ++ /* SCK, D0, D1, LD */ ++ pins = "GPIO_5", "GPIO_6", "GPIO_7", "GPIO_8"; ++ function = "sgpio_a"; ++ }; ++ ++ usb_ulpi_pins: usb-ulpi-pins { ++ pins = "GPIO_30", "GPIO_31", "GPIO_32", "GPIO_33", ++ "GPIO_34", "GPIO_35", "GPIO_36", "GPIO_37", ++ "GPIO_38", "GPIO_39", "GPIO_40", "GPIO_41"; ++ function = "usb_ulpi"; ++ }; ++ ++ usb_rst_pins: usb-rst-pins { ++ pins = "GPIO_12"; ++ function = "usb2phy_rst"; ++ }; ++ ++ usb_over_pins: usb-over-pins { ++ pins = "GPIO_13"; ++ function = "usb_over_detect"; ++ }; ++ ++ usb_power_pins: usb-power-pins { ++ pins = "GPIO_1"; ++ function = "usb_power"; ++ }; ++}; ++ ++&flx0 { ++ atmel,flexcom-mode = ; ++ status = "okay"; ++}; ++ ++&flx2 { ++ atmel,flexcom-mode = ; ++ status = "okay"; ++}; ++ ++&flx3 { ++ atmel,flexcom-mode = ; ++ status = "okay"; ++}; ++ ++&i2c2 { ++ pinctrl-0 = <&fc2_pins>; ++ pinctrl-names = "default"; ++ i2c-analog-filter; ++ i2c-digital-filter; ++ i2c-digital-filter-width-ns = <35>; ++ i2c-sda-hold-time-ns = <1500>; ++ status = "okay"; ++ ++ /* ATECC608C lives here on 0x60 */ ++}; ++ ++&i2c3 { ++ pinctrl-0 = <&fc3_pins>; ++ pinctrl-names = "default"; ++ i2c-analog-filter; ++ i2c-digital-filter; ++ i2c-digital-filter-width-ns = <35>; ++ i2c-sda-hold-time-ns = <1500>; ++ status = "okay"; ++}; ++ ++&mdio0 { ++ pinctrl-0 = <&mdio_pins>, <&mdio_irq_pins>; ++ pinctrl-names = "default"; ++ reset-gpios = <&gpio 62 GPIO_ACTIVE_LOW>; ++ status = "okay"; ++ ++ phy3: phy@3 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <3>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy4: phy@4 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <4>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy5: phy@5 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <5>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy6: phy@6 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <6>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy7: phy@7 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <7>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy8: phy@8 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <8>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy9: phy@9 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <9>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy10: phy@10 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <10>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy11: phy@11 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <11>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy12: phy@12 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <12>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy13: phy@13 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <13>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy14: phy@14 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <14>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy15: phy@15 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <15>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy16: phy@16 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <16>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy17: phy@17 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <17>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy18: phy@18 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <18>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy19: phy@19 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <19>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy20: phy@20 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <20>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy21: phy@21 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <21>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy22: phy@22 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <22>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy23: phy@23 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <23>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy24: phy@24 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <24>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy25: phy@25 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <25>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy26: phy@26 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <26>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++ ++ phy27: phy@27 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <27>; ++ interrupts = <11 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-parent = <&gpio>; ++ }; ++}; ++ ++&qspi0 { ++ status = "okay"; ++ ++ flash@0 { ++ compatible = "jedec,spi-nor"; ++ reg = <0>; ++ spi-max-frequency = <104000000>; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ spi-tx-bus-width = <1>; ++ spi-rx-bus-width = <4>; ++ m25p,fast-read; ++ }; ++}; ++ ++&sdmmc0 { ++ pinctrl-0 = <&emmc_sd_pins>; ++ pinctrl-names = "default"; ++ bus-width = <8>; ++ mmc-ddr-1_8v; ++ non-removable; ++ disable-wp; ++ status = "okay"; ++}; ++ ++&serdes { ++ status = "okay"; ++}; ++ ++&sgpio { ++ pinctrl-0 = <&sgpio_pins>; ++ pinctrl-names = "default"; ++ microchip,sgpio-port-ranges = <0 1>, <6 9>; ++ status = "okay"; ++ ++ gpio@0 { ++ ngpios = <128>; ++ }; ++ gpio@1 { ++ ngpios = <128>; ++ }; ++}; ++ ++&switch { ++ status = "okay"; ++ ++ ethernet-ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ port0: port@0 { ++ reg = <0>; ++ phy-handle = <&phy4>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 0>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port1: port@1 { ++ reg = <1>; ++ phy-handle = <&phy5>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 0>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port2: port@2 { ++ reg = <2>; ++ phy-handle = <&phy6>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 0>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port3: port@3 { ++ reg = <3>; ++ phy-handle = <&phy7>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 0>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port4: port@4 { ++ reg = <4>; ++ phy-handle = <&phy8>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 1>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port5: port@5 { ++ reg = <5>; ++ phy-handle = <&phy9>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 1>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port6: port@6 { ++ reg = <6>; ++ phy-handle = <&phy10>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 1>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port7: port@7 { ++ reg = <7>; ++ phy-handle = <&phy11>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 1>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port8: port@8 { ++ reg = <8>; ++ phy-handle = <&phy12>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 2>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port9: port@9 { ++ reg = <9>; ++ phy-handle = <&phy13>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 2>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port10: port@10 { ++ reg = <10>; ++ phy-handle = <&phy14>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 2>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port11: port@11 { ++ reg = <11>; ++ phy-handle = <&phy15>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 2>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port12: port@12 { ++ reg = <12>; ++ phy-handle = <&phy16>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 3>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port13: port@13 { ++ reg = <13>; ++ phy-handle = <&phy17>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 3>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port14: port@14 { ++ reg = <14>; ++ phy-handle = <&phy18>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 3>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port15: port@15 { ++ reg = <15>; ++ phy-handle = <&phy19>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 3>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port16: port@16 { ++ reg = <16>; ++ phy-handle = <&phy20>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 4>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port17: port@17 { ++ reg = <17>; ++ phy-handle = <&phy21>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 4>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port18: port@18 { ++ reg = <18>; ++ phy-handle = <&phy22>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 4>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port19: port@19 { ++ reg = <19>; ++ phy-handle = <&phy23>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 4>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port20: port@20 { ++ reg = <20>; ++ phy-handle = <&phy24>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 5>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port21: port@21 { ++ reg = <21>; ++ phy-handle = <&phy25>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 5>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port22: port@22 { ++ reg = <22>; ++ phy-handle = <&phy26>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 5>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port23: port@23 { ++ reg = <23>; ++ phy-handle = <&phy27>; ++ phy-mode = "qsgmii"; ++ phys = <&serdes 5>; ++ microchip,bandwidth = <1000>; ++ }; ++ ++ port24: port@24 { ++ reg = <24>; ++ phys = <&serdes 6>; ++ phy-mode = "10gbase-r"; ++ sfp = <&sfp0>; ++ managed = "in-band-status"; ++ microchip,bandwidth = <10000>; ++ microchip,sd-sgpio = <24>; ++ }; ++ ++ port25: port@25 { ++ reg = <25>; ++ phys = <&serdes 7>; ++ phy-mode = "10gbase-r"; ++ sfp = <&sfp1>; ++ managed = "in-band-status"; ++ microchip,bandwidth = <10000>; ++ microchip,sd-sgpio = <28>; ++ }; ++ ++ port26: port@26 { ++ reg = <26>; ++ phys = <&serdes 8>; ++ phy-mode = "10gbase-r"; ++ sfp = <&sfp2>; ++ managed = "in-band-status"; ++ microchip,bandwidth = <10000>; ++ microchip,sd-sgpio = <32>; ++ }; ++ ++ port27: port@27 { ++ reg = <27>; ++ phys = <&serdes 9>; ++ phy-mode = "10gbase-r"; ++ sfp = <&sfp3>; ++ managed = "in-band-status"; ++ microchip,bandwidth = <10000>; ++ microchip,sd-sgpio = <36>; ++ }; ++ ++ port29: port@29 { ++ reg = <29>; ++ phys = <&serdes 11>; ++ phy-handle = <&phy3>; ++ phy-mode = "rgmii-id"; ++ microchip,bandwidth = <1000>; ++ }; ++ }; ++}; ++ ++&tmon { ++ pinctrl-0 = <&fan_pins>; ++ pinctrl-names = "default"; ++ ++ soc_fan: fan { ++ pwms = <&tmon 40000 PWM_POLARITY_INVERTED>; ++ cooling-levels = <0 128 192 255>; ++ #cooling-cells = <2>; ++ }; ++}; ++ ++&usart0 { ++ pinctrl-0 = <&fc0_pins>; ++ pinctrl-names = "default"; ++ status = "okay"; ++}; ++ ++&usb { ++ pinctrl-0 = <&usb_ulpi_pins>, <&usb_rst_pins>, <&usb_over_pins>, <&usb_power_pins>; ++ pinctrl-names = "default"; ++ status = "okay"; ++}; diff --git a/patches/linux/6.18.53/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch b/patches/linux/6.18.53/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch new file mode 100644 index 000000000..65c365318 --- /dev/null +++ b/patches/linux/6.18.53/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch @@ -0,0 +1,250 @@ +From 1a4e1dece5c9814e2aa38a51e50ae9036f5a8775 Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Tue, 30 Jun 2026 11:23:47 +0200 +Subject: [PATCH 71/73] arm64: dts: microchip: tactical-1000: add port names + +Now that driver supports parsing the "label" property, populate port names +as they are physically wired up. + +Signed-off-by: Robert Marko +(cherry picked from commit c4eb4408727549e4b0012646ab94e80a1992cd83) +--- + .../dts/microchip/lan9696-tactical-1000.dts | 29 +++++++++++++++++++ + 1 file changed, 29 insertions(+) + +diff --git a/arch/arm64/boot/dts/microchip/lan9696-tactical-1000.dts b/arch/arm64/boot/dts/microchip/lan9696-tactical-1000.dts +index e9fa26e05804..e7e4654af98f 100644 +--- a/arch/arm64/boot/dts/microchip/lan9696-tactical-1000.dts ++++ b/arch/arm64/boot/dts/microchip/lan9696-tactical-1000.dts +@@ -626,6 +626,7 @@ port0: port@0 { + phy-mode = "qsgmii"; + phys = <&serdes 0>; + microchip,bandwidth = <1000>; ++ label = "lan4"; + }; + + port1: port@1 { +@@ -634,6 +635,7 @@ port1: port@1 { + phy-mode = "qsgmii"; + phys = <&serdes 0>; + microchip,bandwidth = <1000>; ++ label = "lan3"; + }; + + port2: port@2 { +@@ -642,6 +644,7 @@ port2: port@2 { + phy-mode = "qsgmii"; + phys = <&serdes 0>; + microchip,bandwidth = <1000>; ++ label = "lan2"; + }; + + port3: port@3 { +@@ -650,6 +653,7 @@ port3: port@3 { + phy-mode = "qsgmii"; + phys = <&serdes 0>; + microchip,bandwidth = <1000>; ++ label = "lan1"; + }; + + port4: port@4 { +@@ -658,6 +662,7 @@ port4: port@4 { + phy-mode = "qsgmii"; + phys = <&serdes 1>; + microchip,bandwidth = <1000>; ++ label = "lan8"; + }; + + port5: port@5 { +@@ -666,6 +671,7 @@ port5: port@5 { + phy-mode = "qsgmii"; + phys = <&serdes 1>; + microchip,bandwidth = <1000>; ++ label = "lan7"; + }; + + port6: port@6 { +@@ -674,6 +680,7 @@ port6: port@6 { + phy-mode = "qsgmii"; + phys = <&serdes 1>; + microchip,bandwidth = <1000>; ++ label = "lan6"; + }; + + port7: port@7 { +@@ -682,6 +689,7 @@ port7: port@7 { + phy-mode = "qsgmii"; + phys = <&serdes 1>; + microchip,bandwidth = <1000>; ++ label = "lan5"; + }; + + port8: port@8 { +@@ -690,6 +698,7 @@ port8: port@8 { + phy-mode = "qsgmii"; + phys = <&serdes 2>; + microchip,bandwidth = <1000>; ++ label = "lan12"; + }; + + port9: port@9 { +@@ -698,6 +707,7 @@ port9: port@9 { + phy-mode = "qsgmii"; + phys = <&serdes 2>; + microchip,bandwidth = <1000>; ++ label = "lan11"; + }; + + port10: port@10 { +@@ -706,6 +716,7 @@ port10: port@10 { + phy-mode = "qsgmii"; + phys = <&serdes 2>; + microchip,bandwidth = <1000>; ++ label = "lan10"; + }; + + port11: port@11 { +@@ -714,6 +725,7 @@ port11: port@11 { + phy-mode = "qsgmii"; + phys = <&serdes 2>; + microchip,bandwidth = <1000>; ++ label = "lan9"; + }; + + port12: port@12 { +@@ -722,6 +734,7 @@ port12: port@12 { + phy-mode = "qsgmii"; + phys = <&serdes 3>; + microchip,bandwidth = <1000>; ++ label = "lan16"; + }; + + port13: port@13 { +@@ -730,6 +743,7 @@ port13: port@13 { + phy-mode = "qsgmii"; + phys = <&serdes 3>; + microchip,bandwidth = <1000>; ++ label = "lan15"; + }; + + port14: port@14 { +@@ -738,6 +752,7 @@ port14: port@14 { + phy-mode = "qsgmii"; + phys = <&serdes 3>; + microchip,bandwidth = <1000>; ++ label = "lan14"; + }; + + port15: port@15 { +@@ -746,6 +761,7 @@ port15: port@15 { + phy-mode = "qsgmii"; + phys = <&serdes 3>; + microchip,bandwidth = <1000>; ++ label = "lan13"; + }; + + port16: port@16 { +@@ -754,6 +770,7 @@ port16: port@16 { + phy-mode = "qsgmii"; + phys = <&serdes 4>; + microchip,bandwidth = <1000>; ++ label = "lan20"; + }; + + port17: port@17 { +@@ -762,6 +779,7 @@ port17: port@17 { + phy-mode = "qsgmii"; + phys = <&serdes 4>; + microchip,bandwidth = <1000>; ++ label = "lan19"; + }; + + port18: port@18 { +@@ -770,6 +788,7 @@ port18: port@18 { + phy-mode = "qsgmii"; + phys = <&serdes 4>; + microchip,bandwidth = <1000>; ++ label = "lan18"; + }; + + port19: port@19 { +@@ -778,6 +797,7 @@ port19: port@19 { + phy-mode = "qsgmii"; + phys = <&serdes 4>; + microchip,bandwidth = <1000>; ++ label = "lan17"; + }; + + port20: port@20 { +@@ -786,6 +806,7 @@ port20: port@20 { + phy-mode = "qsgmii"; + phys = <&serdes 5>; + microchip,bandwidth = <1000>; ++ label = "lan24"; + }; + + port21: port@21 { +@@ -794,6 +815,7 @@ port21: port@21 { + phy-mode = "qsgmii"; + phys = <&serdes 5>; + microchip,bandwidth = <1000>; ++ label = "lan23"; + }; + + port22: port@22 { +@@ -802,6 +824,7 @@ port22: port@22 { + phy-mode = "qsgmii"; + phys = <&serdes 5>; + microchip,bandwidth = <1000>; ++ label = "lan22"; + }; + + port23: port@23 { +@@ -810,6 +833,7 @@ port23: port@23 { + phy-mode = "qsgmii"; + phys = <&serdes 5>; + microchip,bandwidth = <1000>; ++ label = "lan21"; + }; + + port24: port@24 { +@@ -820,6 +844,7 @@ port24: port@24 { + managed = "in-band-status"; + microchip,bandwidth = <10000>; + microchip,sd-sgpio = <24>; ++ label = "sfp1"; + }; + + port25: port@25 { +@@ -830,6 +855,7 @@ port25: port@25 { + managed = "in-band-status"; + microchip,bandwidth = <10000>; + microchip,sd-sgpio = <28>; ++ label = "sfp2"; + }; + + port26: port@26 { +@@ -840,6 +866,7 @@ port26: port@26 { + managed = "in-band-status"; + microchip,bandwidth = <10000>; + microchip,sd-sgpio = <32>; ++ label = "sfp3"; + }; + + port27: port@27 { +@@ -850,6 +877,7 @@ port27: port@27 { + managed = "in-band-status"; + microchip,bandwidth = <10000>; + microchip,sd-sgpio = <36>; ++ label = "sfp4"; + }; + + port29: port@29 { +@@ -858,6 +886,7 @@ port29: port@29 { + phy-handle = <&phy3>; + phy-mode = "rgmii-id"; + microchip,bandwidth = <1000>; ++ label = "mgmt"; + }; + }; + }; diff --git a/patches/linux/6.18.53/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch b/patches/linux/6.18.53/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch new file mode 100644 index 000000000..3af569492 --- /dev/null +++ b/patches/linux/6.18.53/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch @@ -0,0 +1,104 @@ +From e3d6bfe1046b82a3cfaa01937a48e760e6bccbf6 Mon Sep 17 00:00:00 2001 +From: Joachim Wiberg +Date: Sun, 20 Sep 2026 12:22:43 +0200 +Subject: [PATCH 72/73] arm64: dts: microchip: tactical-1000: adapt to 6.18 + +Novarq develop against 7.3, which has three things 6.18 does not: a QSPI +controller node, a tmon that also provides the fan PWM, and hence a SoC +fan for the thermal zone to drive. + +Drop the flash node, leave tmon with only its pinctrl the way the +EV23X71A does, and point the cooling maps at the case fan instead. That +one is a plain gpio-fan and works here, but it has only two states, so +the graduated trips collapse into one. The critical trip stays. + +Revert when the base kernel moves to 7.3 or later. + +Signed-off-by: Joachim Wiberg +--- + .../dts/microchip/lan9696-tactical-1000.dts | 43 +------------------ + 1 file changed, 1 insertion(+), 42 deletions(-) + +diff --git a/arch/arm64/boot/dts/microchip/lan9696-tactical-1000.dts b/arch/arm64/boot/dts/microchip/lan9696-tactical-1000.dts +index e7e4654af98f..bd6953fc9d4a 100644 +--- a/arch/arm64/boot/dts/microchip/lan9696-tactical-1000.dts ++++ b/arch/arm64/boot/dts/microchip/lan9696-tactical-1000.dts +@@ -5,7 +5,6 @@ + #include + #include + #include +-#include + #include "lan9691.dtsi" + + / { +@@ -233,17 +232,7 @@ fan_low_trip: fan-low-trip { + type = "active"; + }; + +- fan_mid_trip: fan-mid-trip { +- temperature = <70000>; +- hysteresis = <5000>; +- type = "active"; +- }; + +- fan_high_trip: fan-high-trip { +- temperature = <80000>; +- hysteresis = <5000>; +- type = "active"; +- }; + + critical_trip: critical-trip { + temperature = <105000>; +@@ -255,17 +244,7 @@ critical_trip: critical-trip { + cooling-maps { + map0 { + trip = <&fan_low_trip>; +- cooling-device = <&soc_fan 1 1>; +- }; +- +- map1 { +- trip = <&fan_mid_trip>; +- cooling-device = <&soc_fan 2 2>; +- }; +- +- map2 { +- trip = <&fan_high_trip>; +- cooling-device = <&soc_fan 3 3>; ++ cooling-device = <&case_fan 1 1>; + }; + }; + }; +@@ -570,20 +549,6 @@ phy27: phy@27 { + }; + }; + +-&qspi0 { +- status = "okay"; +- +- flash@0 { +- compatible = "jedec,spi-nor"; +- reg = <0>; +- spi-max-frequency = <104000000>; +- #address-cells = <1>; +- #size-cells = <1>; +- spi-tx-bus-width = <1>; +- spi-rx-bus-width = <4>; +- m25p,fast-read; +- }; +-}; + + &sdmmc0 { + pinctrl-0 = <&emmc_sd_pins>; +@@ -894,12 +859,6 @@ port29: port@29 { + &tmon { + pinctrl-0 = <&fan_pins>; + pinctrl-names = "default"; +- +- soc_fan: fan { +- pwms = <&tmon 40000 PWM_POLARITY_INVERTED>; +- cooling-levels = <0 128 192 255>; +- #cooling-cells = <2>; +- }; + }; + + &usart0 { diff --git a/patches/linux/6.18.53/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch b/patches/linux/6.18.53/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch new file mode 100644 index 000000000..6a2256dbe --- /dev/null +++ b/patches/linux/6.18.53/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch @@ -0,0 +1,34 @@ +From 43ae4ff564f0730bd8f65faece26131b3c6fdb57 Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Mon, 2 Mar 2026 12:20:13 +0100 +Subject: [PATCH 73/73] dt-bindings: arm: AT91: document EV23X71A board + +Microchip EV23X71A board is an LAN9696 based evaluation board. + +Signed-off-by: Robert Marko +Acked-by: Conor Dooley +Reviewed-by: Claudiu Beznea +Link: https://lore.kernel.org/r/20260302112153.464422-6-robert.marko@sartura.hr +Signed-off-by: Claudiu Beznea +(cherry picked from commit 864d5e8436906fd2875cc2c5ada549d805457ca7) +--- + Documentation/devicetree/bindings/arm/atmel-at91.yaml | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.yaml b/Documentation/devicetree/bindings/arm/atmel-at91.yaml +index 49666e92c04a..b7c37a1cece0 100644 +--- a/Documentation/devicetree/bindings/arm/atmel-at91.yaml ++++ b/Documentation/devicetree/bindings/arm/atmel-at91.yaml +@@ -241,6 +241,12 @@ properties: + - const: microchip,lan9668 + - const: microchip,lan966 + ++ - description: Microchip LAN9696 EV23X71A Evaluation Board ++ items: ++ - const: microchip,ev23x71a ++ - const: microchip,lan9696 ++ - const: microchip,lan9691 ++ + - description: Novarq Tactical 1000 + items: + - const: novarq,tactical-1000 diff --git a/patches/linux/linux.hash b/patches/linux/linux.hash index 888394b13..038f21cae 100644 --- a/patches/linux/linux.hash +++ b/patches/linux/linux.hash @@ -1,2 +1,2 @@ # Calculated with utils/kernel-refresh.sh -sha256 2b69564f7d4fea0c859b1959ba33709ee6e9139bd100e30a853b57159a8221b8 linux-6.18.52.tar.xz +sha256 4d6fba95c2244b08a7b4144a4d38b9be4fb31abb5e7682ae40bb5cb11374cfe0 linux-6.18.53.tar.xz