Orin NX 8gb PCIE C7 and C9 don't work

I’ve tried all the steps in this port: Orin NX 8GB C9 can not get PCIe #C7/#C9

p2-compute-orin:~# sudo dmesg | grep pcie
[    4.692185] tegra194-pcie 14100000.pcie: Adding to iommu group 8
[    4.704258] tegra194-pcie 14100000.pcie: Using GICv2m MSI allocator
[    4.705174] tegra194-pcie 14160000.pcie: Adding to iommu group 9
[    4.715855] tegra194-pcie 14160000.pcie: Using GICv2m MSI allocator
[    4.716449] tegra194-pcie 141e0000.pcie: Adding to iommu group 10
[    4.728305] tegra194-pcie 141e0000.pcie: Using GICv2m MSI allocator
[    4.728859] tegra194-pcie 140a0000.pcie: Adding to iommu group 11
[    4.741144] tegra194-pcie 140a0000.pcie: Using GICv2m MSI allocator
[    4.741741] tegra194-pcie 140a0000.pcie: Failed to get slot regulators: -517
[    4.741868] tegra194-pcie 140c0000.pcie: Adding to iommu group 12
[    4.753319] tegra194-pcie 140c0000.pcie: Using GICv2m MSI allocator
[    5.752114] tegra194-pcie 14100000.pcie: Using GICv2m MSI allocator
[    5.757664] tegra194-pcie 14100000.pcie: host bridge /pcie@14100000 ranges:
[    5.768151] tegra194-pcie 14100000.pcie:       IO 0x0030100000..0x00301fffff -> 0x0030100000
[    5.776548] tegra194-pcie 14100000.pcie:      MEM 0x20a8000000..0x20afffffff -> 0x0040000000
[    5.792644] tegra194-pcie 14100000.pcie:      MEM 0x2080000000..0x20a7ffffff -> 0x2080000000
[    5.898231] tegra194-pcie 14100000.pcie: Link up
[    5.901124] tegra194-pcie 14100000.pcie: PCI host bridge to bus 0001:00
[    5.933714] pcieport 0001:00:00.0: Adding to iommu group 8
[    5.939192] pcieport 0001:00:00.0: PME: Signaling with IRQ 55
[    5.944991] pcieport 0001:00:00.0: AER: enabled with IRQ 55
[    5.951350] tegra194-pcie 14160000.pcie: Using GICv2m MSI allocator
[    5.957697] tegra194-pcie 14160000.pcie: host bridge /pcie@14160000 ranges:
[    5.963626] tegra194-pcie 14160000.pcie:       IO 0x0036100000..0x00361fffff -> 0x0036100000
[    5.972109] tegra194-pcie 14160000.pcie:      MEM 0x2428000000..0x242fffffff -> 0x0040000000
[    5.980768] tegra194-pcie 14160000.pcie:      MEM 0x2140000000..0x2427ffffff -> 0x2140000000
[    6.098387] tegra194-pcie 14160000.pcie: Link up
[    6.102001] tegra194-pcie 14160000.pcie: PCI host bridge to bus 0004:00
[    6.210554] pcieport 0004:00:00.0: Adding to iommu group 9
[    6.222826] pcieport 0004:00:00.0: PME: Signaling with IRQ 57
[    6.228897] pcieport 0004:00:00.0: AER: enabled with IRQ 57
[    6.244822] tegra194-pcie 141e0000.pcie: Using GICv2m MSI allocator
[    6.257434] tegra194-pcie 141e0000.pcie: host bridge /pcie@141e0000 ranges:
[    6.262878] tegra194-pcie 141e0000.pcie:       IO 0x003e100000..0x003e1fffff -> 0x003e100000
[    6.271359] tegra194-pcie 141e0000.pcie:      MEM 0x3228000000..0x322fffffff -> 0x0040000000
[    6.271364] tegra194-pcie 141e0000.pcie:      MEM 0x2e40000000..0x3227ffffff -> 0x2e40000000
[    7.399692] tegra194-pcie 141e0000.pcie: Phy link never came up
[    7.399959] tegra194-pcie 141e0000.pcie: PCI host bridge to bus 0007:00
[    7.409902] pcieport 0007:00:00.0: Adding to iommu group 10
[    7.410292] pcieport 0007:00:00.0: PME: Signaling with IRQ 59
[    7.411031] pcieport 0007:00:00.0: AER: enabled with IRQ 59
[    7.415814] tegra194-pcie 140a0000.pcie: Using GICv2m MSI allocator
[    7.420566] tegra194-pcie 140a0000.pcie: Failed to get slot regulators: -517
[    7.420996] tegra194-pcie 140c0000.pcie: Using GICv2m MSI allocator
[    7.427861] tegra194-pcie 140c0000.pcie: host bridge /pcie@140c0000 ranges:
[    7.433767] tegra194-pcie 140c0000.pcie:       IO 0x002c100000..0x002c1fffff -> 0x002c100000
[    7.442424] tegra194-pcie 140c0000.pcie:      MEM 0x3828000000..0x382fffffff -> 0x0040000000
[    7.450907] tegra194-pcie 140c0000.pcie:      MEM 0x3540000000..0x3827ffffff -> 0x3540000000
[    8.562948] tegra194-pcie 140c0000.pcie: Phy link never came up
[    8.563185] tegra194-pcie 140c0000.pcie: PCI host bridge to bus 0009:00
[    8.573038] pcieport 0009:00:00.0: Adding to iommu group 12
[    8.573400] pcieport 0009:00:00.0: PME: Signaling with IRQ 63
[    8.574130] pcieport 0009:00:00.0: AER: enabled with IRQ 63
[    8.611717] tegra194-pcie 140a0000.pcie: Using GICv2m MSI allocator
[    8.739347] tegra194-pcie 140a0000.pcie: host bridge /pcie@140a0000 ranges:
[    8.739569] tegra194-pcie 140a0000.pcie:       IO 0x002a100000..0x002a1fffff -> 0x002a100000
[    8.739829] tegra194-pcie 140a0000.pcie:      MEM 0x3528000000..0x352fffffff -> 0x0040000000
[    8.740086] tegra194-pcie 140a0000.pcie:      MEM 0x3240000000..0x3527ffffff -> 0x3240000000
[    8.842392] tegra194-pcie 140a0000.pcie: Link up
[    8.844772] tegra194-pcie 140a0000.pcie: PCI host bridge to bus 0008:00
[    8.915833] pcieport 0008:00:00.0: Adding to iommu group 11
[    8.921472] pcieport 0008:00:00.0: PME: Signaling with IRQ 61
[    8.927483] pcieport 0008:00:00.0: AER: enabled with IRQ 61

Notably I see

Phy link never came up

on C7 and C9

I have ODMDATA = "gbe-uphy-config-9,hsstp-lane-map-3,hsio-uphy-config-0"

cat /sys/kernel/debug/bpmp/debug/uphy/config
0x03a40000

running tail +n 1 /proc/device-tree/pcie\@*/status

==> /proc/device-tree/pcie@141e0000/status <==
okay
==> /proc/device-tree/pcie@140c0000/status <==
okay
...
  1
14  / {
  1
  2     pcie@14100000 {/* C1 - M.2 Key-E */
  3         status = "okay";
  4         phys = <&p2u_hsio_3>;
  5         phy-names = "p2u-0";
  6     };
  7
  8     pcie@14160000 {/* C4 - M2 Key M */
  9         status = "okay";
 10         phys = <&p2u_hsio_4>, <&p2u_hsio_5>, <&p2u_hsio_6>,
 11                <&p2u_hsio_7>;
 12         phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
 13     };
 14
 15     pcie@141e0000 { /* C7x1 node */
 16         status = "okay";
 17         phys = <&p2u_gbe_0>;
 18         phy-names = "p2u-0";
 19     };
 20
 21     pcie@140c0000 { /* C9x1 */
 22         status = "okay";
 23         phys = <&p2u_gbe_1>;
 24         phy-names = "p2u-0";
 25     };
 26
 27     pcie@140a0000 {/* C8 - Ethernet */
 28         status = "okay";
 29
 30         nvidia,pex-wake-gpios = <&tegra_main_gpio TEGRA234_MAIN_GPIO(L, 2) GPIO_ACTIVE_LOW>;
 31     };
 32 };

Any help would be greatly appreciated!

Are you using your custom carrier board?

Yeah we are

Maybe the hw issue.
First check the C9 pcie device bring up itself.
Then check the onx logs. (dtsi & uphy configuration is fine)

1 Like

Will the phy not come up if the pcie hardware isn’t working?

When I run, lspci

lspci
0001:00:00.0 PCI bridge: NVIDIA Corporation Device 229e (rev a1)
0001:01:00.0 Network controller: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz (rev 1a)
0004:00:00.0 PCI bridge: NVIDIA Corporation Device 229c (rev a1)
0004:01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
0008:00:00.0 PCI bridge: NVIDIA Corporation Device 229c (rev a1)
0008:01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)

I expected that I would see something like

0004:00:00.0 PCI bridge: NVIDIA Corporation Device 229c (rev a1)
0004:01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983

0007:00:00.0 PCI bridge: NVIDIA Corporation Device 229c (rev a1) // expect to see this
// nothing here because custom pcie hardware isn't working
0009:00:00.0 PCI bridge: NVIDIA Corporation Device 229c (rev a1) // expect to see this?
// nothing here because custom pcie hardware isn't working

I think so, it maybe your hw problem.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.