1
0
Fork 0
forked from mirror/openwrt
openwrt/target/linux
Ryan Chen 8b9bd686e7 airoha: fix EN7581 PCIe initialization and add x2 link support
Fix two hardware initialization issues in the EN7581 PCIe controller
and add support for x2 (2-lane) link mode.

Fixes:

The upstream EN7581 PCIe initialization writes EQ presets and PIPE
configuration registers before clk_bulk_prepare_enable(). Since the
MAC clocks are not yet running at that point, these register writes
are silently dropped, leaving the hardware with default values. This
can cause link training failures or suboptimal equalization.

Additionally, after link training the MAC may only advertise Gen1-Gen2
capability in the Link Capabilities 2 register despite the PHY being
configured for Gen3. A serdes reset toggle forces the MAC to re-read
PHY capability, recovering Gen3 8GT/s link speed.

Both issues are addressed by separating PERST from the clock callbacks
(patch 911), allowing the PCIe controller driver to properly sequence
PERST, clock enable, and register writes (patch 912).

New feature:

PCIe x2 mode support for EN7581 using the NP_SCU system controller
for serdes mux routing, PERST management, and lane configuration.
Both bonded MACs are configured for x2 operation with proper EQ
presets before link training begins.

Signed-off-by: Ryan Chen <rchen14b@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21978
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-02-13 12:08:56 +01:00
..
airoha airoha: fix EN7581 PCIe initialization and add x2 link support 2026-02-13 12:08:56 +01:00
apm821xx Revert "apm821xx: rename pciex to pcie" 2026-02-10 14:54:23 +01:00
armsr kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
at91 kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
ath79 kernel: bump 6.12 to 6.12.69 2026-02-07 17:20:33 +01:00
bcm27xx kernel: bump 6.12 to 6.12.69 2026-02-07 17:20:33 +01:00
bcm47xx kernel: bump 6.12 to 6.12.64 2026-01-15 01:22:47 +01:00
bcm53xx bcm53xx: add support for ASUS RT-AC3200 and ASUS RT-AC5300 2025-12-18 18:18:48 +00:00
bcm4908 kernel: disable non layout u-boot,env 2025-11-28 01:20:33 +01:00
bmips kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
d1 d1: Enable LED driver for D1 builds 2026-01-23 10:35:36 +01:00
econet kernel: bump 6.12 to 6.12.69 2026-02-07 17:20:33 +01:00
gemini gemini: add support for Raidsonic IB-4210-B 2026-02-13 10:41:03 +01:00
generic kernel: refresh patches 2026-02-12 00:52:30 +01:00
imx imx: drop support for kernel 6.6 2025-11-22 10:11:52 +01:00
ipq40xx kernel: backport pppoe improvements 2026-02-11 00:05:55 +01:00
ipq806x treewide: remove of_platform.h include 2026-02-04 00:50:06 +01:00
ixp4xx ixp4xx: select the GPIO keys input package 2026-01-28 18:59:47 +01:00
kirkwood kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
lantiq lantiq: xrx200: handle EPROBE_DEFER for MAC address 2026-02-07 15:27:11 +01:00
layerscape layerscape: set PREEMPT_NONE as default preemption model 2026-01-24 22:52:49 +01:00
loongarch64 loongarch64: set PREEMPT_NONE as default preemption model 2026-01-24 22:54:29 +01:00
malta malta: convert to Device macro image building 2026-02-11 00:08:34 +01:00
mediatek mediatek: add support for netis NX32U 2026-02-12 23:02:05 +01:00
microchipsw microchipsw: lan969x: include ip-bridge and dcb tools 2026-01-25 22:10:22 +01:00
mpc85xx kernel: reorder configuration options 2026-01-26 23:57:25 +01:00
mvebu mvebu: add depends for Turris MOX boards 2026-02-12 22:23:29 +01:00
mxs kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
octeon kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
omap kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
pistachio kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
qoriq package: uboot-qoriq: fix T4240RDB u-boot selection 2026-01-12 13:59:30 +01:00
qualcommax qualcommax: ipq50xx: backport v6.20 patches 2026-02-06 10:06:18 +01:00
qualcommbe kernel: bump 6.12 to 6.12.69 2026-02-07 17:20:33 +01:00
ramips ramips: mt7621: enable kmod-usb3 for Mikrotik RBM33G 2026-02-09 16:04:48 +02:00
realtek realtek: switch HPE 1920 series to NVMEM 2026-02-13 12:06:20 +01:00
rockchip kernel: bump 6.12 to 6.12.69 2026-02-07 17:20:33 +01:00
sifiveu kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
siflower treewide: remove of_platform.h include 2026-02-04 00:50:06 +01:00
starfive kernel: net: phy: realtek: backport upstream commits 2026-01-19 13:51:41 +00:00
stm32 kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
sunxi kernel: reorder configuration options 2026-01-26 23:57:25 +01:00
tegra kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
uml kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
x86 x86: base-files add support for Sophos 210r3 and 230r2 2026-02-12 23:55:29 +01:00
zynq zynq: drop support for kernel 6.6 2025-11-25 17:27:24 +01:00
Makefile