SiFive FU740 PCI driver fails on 6.18-rc1
From: Ron Economos
Date: Mon Oct 13 2025 - 03:15:03 EST
The SiFive FU740 PCI driver fails on the HiFive Unmatched board with Linux 6.18-rc1. The error message is:
[ 3.166624] fu740-pcie e00000000.pcie: host bridge /soc/pcie@e00000000 ranges:
[ 3.166706] fu740-pcie e00000000.pcie: IO 0x0060080000..0x006008ffff -> 0x0060080000
[ 3.166767] fu740-pcie e00000000.pcie: MEM 0x0060090000..0x007fffffff -> 0x0060090000
[ 3.166805] fu740-pcie e00000000.pcie: MEM 0x2000000000..0x3fffffffff -> 0x2000000000
[ 3.166950] fu740-pcie e00000000.pcie: ECAM at [mem 0xdf0000000-0xdffffffff] for [bus 00-ff]
[ 3.579500] fu740-pcie e00000000.pcie: No iATU regions found
[ 3.579552] fu740-pcie e00000000.pcie: Failed to configure iATU in ECAM mode
[ 3.579655] fu740-pcie e00000000.pcie: probe with driver fu740-pcie failed with error -22
The normal message (on Linux 6.17.2) is:
[ 3.381487] fu740-pcie e00000000.pcie: host bridge /soc/pcie@e00000000 ranges:
[ 3.381584] fu740-pcie e00000000.pcie: IO 0x0060080000..0x006008ffff -> 0x0060080000
[ 3.381682] fu740-pcie e00000000.pcie: MEM 0x0060090000..0x007fffffff -> 0x0060090000
[ 3.381724] fu740-pcie e00000000.pcie: MEM 0x2000000000..0x3fffffffff -> 0x2000000000
[ 3.484809] fu740-pcie e00000000.pcie: iATU: unroll T, 8 ob, 8 ib, align 4K, limit 4096G
[ 3.683678] fu740-pcie e00000000.pcie: PCIe Gen.1 x8 link up
[ 3.883674] fu740-pcie e00000000.pcie: PCIe Gen.3 x8 link up
[ 3.987678] fu740-pcie e00000000.pcie: PCIe Gen.3 x8 link up
[ 3.988164] fu740-pcie e00000000.pcie: PCI host bridge to bus 0000:00
Reverting the following commits solves the issue.
0da48c5b2fa731b21bc523c82d927399a1e508b0 PCI: dwc: Support ECAM mechanism by enabling iATU 'CFG Shift Feature'
4660e50cf81800f82eeecf743ad1e3e97ab72190 PCI: qcom: Prepare for the DWC ECAM enablement
f6fd357f7afbeb34a633e5688a23b9d7eb49d558 PCI: dwc: Prepare the driver for enabling ECAM mechanism using iATU 'CFG Shift Feature'