PCIe device not enumerated

I am using the PolarFire SoC ICICLE Kit with the latest Yocto 2021.02 build and a Sierra Wireless AirPrime EM7455 M.2 modem connected on a Delock M.2 to PCe adapter to the PCIe port. The device does not get enumerated and the kernel reports the following:

[ 0.000000] Kernel command line: earlycon=sbi root=/dev/mmcblk0p3 rootwait console=ttyS0,115200n8 uio_pdrv_genirq.of_id=generic-uio pci-hpmemsize=0M libata.force=noncq
[ 0.278573] PCI: CLS 0 bytes, default 64
[ 0.329285] microchip-pcie 70000000.pcie: host bridge /soc/pcie@70000000 ranges:
[ 0.336726] microchip-pcie 70000000.pcie: Parsing ranges property…
[ 0.336764] microchip-pcie 70000000.pcie: MEM 0x0078000000…0x007bffffff → 0x0078000000
[ 0.345315] microchip-pcie 70000000.pcie: Parsing dma-ranges property…
[ 0.345351] microchip-pcie 70000000.pcie: IB MEM 0x0000000000…0x00ffffffff → 0x0000000000
[ 0.355981] microchip-pcie 70000000.pcie: ECAM at [mem 0x70000000-0x77ffffff] for [bus 00-7f]
[ 0.364744] microchip-pcie 70000000.pcie: PCI host bridge to bus 0000:00
[ 0.371397] pci_bus 0000:00: root bus resource [bus 00-7f]
[ 0.377044] pci_bus 0000:00: root bus resource [mem 0x78000000-0x7bffffff]
[ 0.383969] pci_bus 0000:00: scanning bus
[ 0.384027] pci 0000:00:00.0: [11aa:1556] type 01 class 0x060400
[ 0.390016] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x7fffffff 64bit pref]
[ 0.397436] pci 0000:00:00.0: supports D1 D2
[ 0.401653] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 0.408410] pci 0000:00:00.0: PME# disabled
[ 0.409685] pci_bus 0000:00: fixups for bus
[ 0.409710] pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 0
[ 0.409728] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[ 0.417781] pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1
[ 0.417906] pci_bus 0000:01: scanning bus
[ 0.468485] pci_bus 0000:01: fixups for bus
[ 0.468504] pci_bus 0000:01: bus scan returning with max=01
[ 0.468526] pci_bus 0000:01: busn_res: [bus 01-7f] end is updated to 01
[ 0.475167] pci_bus 0000:00: bus scan returning with max=01
[ 0.475239] pci 0000:00:00.0: BAR 0: no space for [mem size 0x80000000 64bit pref]
[ 0.482749] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x80000000 64bit pref]
[ 0.490813] pci 0000:00:00.0: BAR 8: assigned [mem 0x78000000-0x781fffff]
[ 0.497677] pci 0000:00:00.0: BAR 9: assigned [mem 0x78200000-0x783fffff 64bit pref]
[ 0.505469] pci 0000:00:00.0: BAR 7: no space for [io size 0x1000]
[ 0.511738] pci 0000:00:00.0: BAR 7: failed to assign [io size 0x1000]
[ 0.518497] pci 0000:00:00.0: PCI bridge to [bus 01]
[ 0.523460] pci 0000:00:00.0: bridge window [mem 0x78000000-0x781fffff]
[ 0.530383] pci 0000:00:00.0: bridge window [mem 0x78200000-0x783fffff 64bit pref]
[ 0.856315] ehci-pci: EHCI PCI platform driver
[ 0.872484] ohci-pci: OHCI PCI platform driver
[ 1.336185] pci-hpmemsize=0M

Other PCIe cards do get enumerated (tested with a USB adapter card). The Sierra Wireless card does work when connected to a regular PC (Windows 10).

Any help is welcome.

Regards

Otto

For reference the PCIe related kernel message without the Sierra Wireless card connected:
[ 0.329280] microchip-pcie 70000000.pcie: host bridge /soc/pcie@70000000 ranges:
[ 0.336716] microchip-pcie 70000000.pcie: Parsing ranges property…
[ 0.336755] microchip-pcie 70000000.pcie: MEM 0x0078000000…0x007bffffff → 0x0078000000
[ 0.345308] microchip-pcie 70000000.pcie: Parsing dma-ranges property…
[ 0.345348] microchip-pcie 70000000.pcie: IB MEM 0x0000000000…0x00ffffffff → 0x0000000000
[ 0.355993] microchip-pcie 70000000.pcie: ECAM at [mem 0x70000000-0x77ffffff] for [bus 00-7f]
[ 0.364722] microchip-pcie 70000000.pcie: PCI host bridge to bus 0000:00

Hey @ootoo we haven’t tested any wireless cards over PCIe, I’ve used a few graphics cards and NVMe drives without an issue enumerating them. We have to come up with a plan to figure out whats going on here, I’ll get back to you when I have more info but just so you know we’re having a look into this :slight_smile:

1 Like

Hi Hugh, ok, thanks for the update, Otto

It seems that this ICICLE kit was damged, a replacement unit does enumerate the device now.