Skip to content

PCIe Phy link never came up #250

@calonsoecler

Description

@calonsoecler

Hi,
We are experiencing a boot issue on a Orange Pi CM4 that appears with current Recommended. Come with best support but is not happening with legacy Old stable / Legacy compilation
With Recommended. Come with best support compilation, on cold boots (especially the first power-on when the board is cold) we detect an error with the PCI and the following message:
rockchip-dw-pcie 3c0000000.pcie: Phy link never came up
If the board is hot (~50º) this is not happening, the PCI is working fine and there is not error:
rockchip-dw-pcie 3c0000000.pcie: PCIe Gen.1 x1 link up

But using legacy Old stable / Legacy compilation this issue is not happening and PCI is working fine every time.

We have tested this on multiple boards, and the behavior is consistent some boards are more sensible to the temperature and need be hotter to have PCI working correctly.

It can be be checked by using ls /sys/bus/pci/devices/ and check 0000:01:00.0 device is present
0000:00:00.0 **0000:01:00.0**

Here are the logs
FAIL --> Orangepicm4_1.0.6_debian_bullseye_minimal_linux6.6.0-rc5

dmesg | grep pci
[    0.894439] rockchip-dw-pcie 3c0000000.pcie: host bridge /pcie@fe260000 ranges:
[    0.894523] rockchip-dw-pcie 3c0000000.pcie:       IO 0x00f4100000..0x00f41fffff -> 0x00f4100000
[    0.894566] rockchip-dw-pcie 3c0000000.pcie:      MEM 0x00f4200000..0x00f5ffffff -> 0x00f4200000
[    0.894593] rockchip-dw-pcie 3c0000000.pcie:      MEM 0x0300000000..0x033fffffff -> 0x0040000000
[    0.894887] rockchip-dw-pcie 3c0000000.pcie: iATU: unroll T, 8 ob, 8 ib, align 64K, limit 8G
[    2.000611] rockchip-dw-pcie 3c0000000.pcie: Phy link never came up
[    2.001395] rockchip-dw-pcie 3c0000000.pcie: PCI host bridge to bus 0000:00
[    2.001420] pci_bus 0000:00: root bus resource [bus 00-0f]
[    2.001439] pci_bus 0000:00: root bus resource [io  0x0000-0xfffff] (bus address [0xf4100000-0xf41fffff])
[    2.001453] pci_bus 0000:00: root bus resource [mem 0xf4200000-0xf5ffffff]
[    2.001468] pci_bus 0000:00: root bus resource [mem 0x300000000-0x33fffffff] (bus address [0x40000000-0x7fffffff])
[    2.001534] pci 0000:00:00.0: [1d87:3566] type 01 class 0x060400
[    2.001585] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[    2.001719] pci 0000:00:00.0: supports D1 D2
[    2.001732] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    2.010929] pci_bus 0000:01: busn_res: can not insert [bus 01-ff] under [bus 00-0f] (conflicts with (null) [bus 00-0f])
[    2.011369] pci 0000:00:00.0: BAR 6: assigned [mem 0xf4200000-0xf420ffff pref]
[    2.011397] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    2.015228] pcieport 0000:00:00.0: PME: Signaling with IRQ 22
[    2.015820] pcieport 0000:00:00.0: AER: enabled with IRQ 22

OK --> Orangepicm4_1.0.6_debian_bullseye_minimal_linux5.10.160

dmesg | grep pci
[    2.504712] reg-fixed-voltage vcc3v3-pcie-regulator: Looking up vin-supply from device tree
[    2.504730] vcc3v3_pcie: supplied by vcc12v_dcin
[    2.504824] vcc3v3_pcie: 3300 mV, enabled
[    2.505131] reg-fixed-voltage vcc3v3-pcie-regulator: vcc3v3_pcie supplying 3300000uV
[    4.537284] rk-pcie 3c0000000.pcie: invalid prsnt-gpios property in node
[    4.537309] rk-pcie 3c0000000.pcie: Looking up vpcie3v3-supply from device tree
[    4.538614] rk-pcie 3c0000000.pcie: IRQ msi not found
[    4.538628] rk-pcie 3c0000000.pcie: use outband MSI support
[    4.538638] rk-pcie 3c0000000.pcie: Missing *config* reg space
[    4.538666] rk-pcie 3c0000000.pcie: host bridge /pcie@fe260000 ranges:
[    4.538713] rk-pcie 3c0000000.pcie:      err 0x00f4000000..0x00f40fffff -> 0x00f4000000
[    4.538744] rk-pcie 3c0000000.pcie:       IO 0x00f4100000..0x00f41fffff -> 0x00f4100000
[    4.538784] rk-pcie 3c0000000.pcie:      MEM 0x00f4200000..0x00f5ffffff -> 0x00f4200000
[    4.538811] rk-pcie 3c0000000.pcie:      MEM 0x0300000000..0x033fffffff -> 0x0300000000
[    4.538871] rk-pcie 3c0000000.pcie: Missing *config* reg space
[    4.538930] rk-pcie 3c0000000.pcie: invalid resource
[    4.745266] rk-pcie 3c0000000.pcie: PCIe Linking... LTSSM is 0x3
[    4.827435] rk-pcie 3c0000000.pcie: PCIe Link up, LTSSM is 0x30011
[    4.827718] rk-pcie 3c0000000.pcie: PCI host bridge to bus 0000:00
[    4.827737] pci_bus 0000:00: root bus resource [bus 00-0f]
[    4.827750] pci_bus 0000:00: root bus resource [??? 0xf4000000-0xf40fffff flags 0x0]
[    4.827763] pci_bus 0000:00: root bus resource [io  0x0000-0xfffff] (bus address [0xf4100000-0xf41fffff])
[    4.827774] pci_bus 0000:00: root bus resource [mem 0xf4200000-0xf5ffffff]
[    4.827784] pci_bus 0000:00: root bus resource [mem 0x300000000-0x33fffffff pref]
[    4.827846] pci 0000:00:00.0: [1d87:3566] type 01 class 0x060400
[    4.827887] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[    4.827986] pci 0000:00:00.0: supports D1 D2
[    4.827998] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    4.842924] pci_bus 0000:01: busn_res: can not insert [bus 01-ff] under [bus 00-0f] (conflicts with (null) [bus 00-0f])
[    4.843107] pci 0000:01:00.0: [8086:1539] type 00 class 0x020000
[    4.843211] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x007fffff]
[    4.843296] pci 0000:01:00.0: reg 0x18: initial BAR value 0x00000000 invalid
[    4.843307] pci 0000:01:00.0: reg 0x18: [io  size 0x0020]
[    4.843354] pci 0000:01:00.0: reg 0x1c: [mem 0x00000000-0x00003fff]
[    4.843917] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    4.868410] pci 0000:00:00.0: BAR 8: assigned [mem 0xf4400000-0xf4ffffff]
[    4.868436] pci 0000:00:00.0: BAR 6: assigned [mem 0xf4200000-0xf420ffff pref]
[    4.868451] pci 0000:00:00.0: BAR 7: assigned [io  0x1000-0x1fff]
[    4.868474] pci 0000:01:00.0: BAR 0: assigned [mem 0xf4800000-0xf4ffffff]
[    4.868509] pci 0000:01:00.0: BAR 3: assigned [mem 0xf4400000-0xf4403fff]
[    4.868538] pci 0000:01:00.0: BAR 2: assigned [io  0x1000-0x101f]
[    4.868566] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    4.868578] pci 0000:00:00.0:   bridge window [io  0x1000-0x1fff]
[    4.868591] pci 0000:00:00.0:   bridge window [mem 0xf4400000-0xf4ffffff]
[    4.872835] pcieport 0000:00:00.0: PME: Signaling with IRQ 80
[    4.933270] ehci-pci: EHCI PCI platform driver
``

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions