ROCK3 IO PCI-E cards not detected

Hi there,

I’ve got a radxa CM3 IO board and out of 4 different nics and 5 pci-e cards in total, only one gets detected by rockbuntu 20.04.

Using this: https://github.com/radxa/debos-radxa/releases/download/main-abfcbf78/radxa-cm3-io-ubuntu-focal-server-arm64-20220126-1410-gpt.img.xz

Also in conjunction with a 12V 5A powersupply.

It is installed to eMMC since sd boot straight up does not work.

This is the dmesg | grep pcie output for the nic that works:

[ 0.387794] rk-pcie 3c0000000.pcie: Looking up vpcie3v3-supply from device tree
[ 0.387904] rk-pcie 3c0000000.pcie: Linked as a consumer to regulator.2
[ 0.388290] rk-pcie 3c0000000.pcie: missing legacy IRQ resource
[ 0.388332] rk-pcie 3c0000000.pcie: Missing config reg space
[ 0.388363] rk-pcie 3c0000000.pcie: host bridge /pcie@fe260000 ranges:
[ 0.388405] rk-pcie 3c0000000.pcie: err 0x300000000…0x3007fffff -> 0x00000000
[ 0.388422] rk-pcie 3c0000000.pcie: IO 0x300800000…0x3008fffff -> 0x00800000
[ 0.388453] rk-pcie 3c0000000.pcie: MEM 0x300900000…0x33fffffff -> 0x00900000
[ 0.623894] ehci-pci: EHCI PCI platform driver
[ 1.394532] rk-pcie 3c0000000.pcie: PCIe Link up, LTSSM is 0x130011
[ 1.394763] rk-pcie 3c0000000.pcie: PCI host bridge to bus 0000:00
[ 1.394787] pci_bus 0000:00: root bus resource [bus 00-0f]
[ 1.394797] pci_bus 0000:00: root bus resource [??? 0x300000000-0x3007fffff flags 0x0] (bus address [0x00000000-0x007fffff])
[ 1.394808] pci_bus 0000:00: root bus resource [io 0x0000-0xfffff] (bus address [0x800000-0x8fffff])
[ 1.394816] pci_bus 0000:00: root bus resource [mem 0x300900000-0x33fffffff] (bus address [0x00900000-0x3fffffff])
[ 1.394855] pci 0000:00:00.0: [1d87:3566] type 01 class 0x060400
[ 1.394885] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[ 1.394933] pci 0000:00:00.0: supports D1 D2
[ 1.394937] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[ 1.399880] pci_bus 0000:01: busn_res: can not insert [bus 01-ff] under [bus 00-0f] (conflicts with (null) [bus 00-0f])
[ 1.399967] pci 0000:01:00.0: [10ec:8125] type 00 class 0x020000
[ 1.400139] pci 0000:01:00.0: reg 0x10: initial BAR value 0x00000000 invalid
[ 1.400176] pci 0000:01:00.0: reg 0x10: [io size 0x0100]
[ 1.400271] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x0000ffff 64bit]
[ 1.400332] pci 0000:01:00.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit]
[ 1.400368] pci 0000:01:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[ 1.400847] pci 0000:01:00.0: supports D1 D2
[ 1.400852] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 1.415170] pci 0000:00:00.0: BAR 8: assigned [mem 0x300900000-0x3009fffff]
[ 1.415214] pci 0000:00:00.0: BAR 6: assigned [mem 0x300a00000-0x300a0ffff pref]
[ 1.415225] pci 0000:00:00.0: BAR 7: assigned [io 0x1000-0x1fff]
[ 1.415241] pci 0000:01:00.0: BAR 2: assigned [mem 0x300900000-0x30090ffff 64bit]
[ 1.415299] pci 0000:01:00.0: BAR 6: assigned [mem 0x300910000-0x30091ffff pref]
[ 1.415308] pci 0000:01:00.0: BAR 4: assigned [mem 0x300920000-0x300923fff 64bit]
[ 1.415361] pci 0000:01:00.0: BAR 0: assigned [io 0x1000-0x10ff]
[ 1.415391] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[ 1.415404] pci 0000:00:00.0: bridge window [io 0x1000-0x1fff]
[ 1.415416] pci 0000:00:00.0: bridge window [mem 0x300900000-0x3009fffff]
[ 1.417415] pcieport 0000:00:00.0: Signaling PME with IRQ 97
[ 1.418051] pcieport 0000:00:00.0: AER enabled with IRQ 106
rock@rockcm3:~$

While this is displayed on the ones that don’t work:

[ 0.387682] rk-pcie 3c0000000.pcie: Looking up vpcie3v3-supply from device tree
[ 0.387794] rk-pcie 3c0000000.pcie: Linked as a consumer to regulator.2
[ 0.388212] rk-pcie 3c0000000.pcie: missing legacy IRQ resource
[ 0.388257] rk-pcie 3c0000000.pcie: Missing config reg space
[ 0.388289] rk-pcie 3c0000000.pcie: host bridge /pcie@fe260000 ranges:
[ 0.388342] rk-pcie 3c0000000.pcie: err 0x300000000…0x3007fffff -> 0x00000000
[ 0.388360] rk-pcie 3c0000000.pcie: IO 0x300800000…0x3008fffff -> 0x00800000
[ 0.388396] rk-pcie 3c0000000.pcie: MEM 0x300900000…0x33fffffff -> 0x00900000
[ 0.623472] ehci-pci: EHCI PCI platform driver
[ 1.394759] rk-pcie 3c0000000.pcie: PCIe Linking… LTSSM is 0x0
[ 2.408170] rk-pcie 3c0000000.pcie: PCIe Linking… LTSSM is 0x0
[ 3.424701] rk-pcie 3c0000000.pcie: PCIe Linking… LTSSM is 0x0
[ 4.434743] rk-pcie 3c0000000.pcie: PCIe Linking… LTSSM is 0x0
[ 5.447976] rk-pcie 3c0000000.pcie: PCIe Linking… LTSSM is 0x1
[ 6.461568] rk-pcie 3c0000000.pcie: PCIe Linking… LTSSM is 0x0
[ 7.474759] rk-pcie 3c0000000.pcie: PCIe Linking… LTSSM is 0x0
[ 8.488061] rk-pcie 3c0000000.pcie: PCIe Linking… LTSSM is 0x0
[ 9.501514] rk-pcie 3c0000000.pcie: PCIe Linking… LTSSM is 0x0
[ 10.514796] rk-pcie 3c0000000.pcie: PCIe Linking… LTSSM is 0x0
[ 11.527975] rk-pcie 3c0000000.pcie: PCIe Link Fail
[ 11.528059] rk-pcie 3c0000000.pcie: failed to initialize host

What could be the cause of this?

Updating to the image released today (27 02 22) helped and now all the cards mentioned above get detected and shown in lspci. Seem to be working fine so far.

Yes. This release fixs PCIe issue of Radxa CM3 IO.

https://github.com/radxa/debos-radxa/releases/tag/main-7a110bf1

Hello Stephen,

What did you change on the system? The DTS?
I also have this on openwrt which I adapted to the cm3 io.

Greatings and thanks

Herman