1
1
openwrt/target/linux/airoha
Kenneth Kasilag 298db2f5a7
airoha: fix PERST deassert in PCIe driver
Due to hardware bugs, the PCIE Gen3 IP in Airoha AN7581 requires a
special reset procedure:
> MAC reset asserted thru the SCU block
> PERST asserted thru the SCU for the desired PCIE lane
> PHY initialization runs, clocks enabled
> MAC reset deasserted
> EQ config (if needed) written
> PERST deasserted

The existing code currently toggles PERST for all three PCIE
ports every time mtk_pcie_en7581_power_up is called, resulting
in PCIE link down issues.

This issue was discovered during porting of the 6.18 kernel to
AN7581. It is not entirely clear how the hardware seemed to
function under kernel 6.12 with similar driver code, it is
presumed that differences in assert/deassert times for PERST in
6.18 changed which exposed the bug.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:33 +02:00
..
an7581 airoha: update config for 6.18 2026-06-03 09:06:32 +02:00
an7583 airoha: update config for 6.18 2026-06-03 09:06:32 +02:00
base-files/lib/preinit airoha: support openwrt,netdev-name for renaming interfaces 2025-10-29 22:01:23 +01:00
dts airoha: dts: Enable in-band status for PHY as21xxx 2026-05-25 12:41:34 +02:00
en7523 airoha: update config for 6.18 2026-06-03 09:06:32 +02:00
image airoha: increase the size of reserved_bmt partition 2026-05-11 14:43:01 +02:00
patches-6.12 kernel/airoha: restore files for v6.12 2026-06-03 09:06:32 +02:00
patches-6.18 airoha: fix PERST deassert in PCIe driver 2026-06-03 09:06:33 +02:00
Makefile airoha: add leds-gpio and gpio-button-hotplug to default packages 2026-03-11 00:42:35 +01:00
modules.mk airoha: rename kmod-pwm-an7581 to kmod-pwm-airoha 2026-03-16 17:42:17 +01:00