Jetson Xavier NX - Configure PCIE1

,

Hello,

I’ve been trying to configure PCIE1 on Jetson Xavier NX that is attached to custom carrier board. There is a PCIe device attached to PCI1_RX0 (pin: 167,169) and PCI1_TX0 (pin: 172, 174) of SoM

I have this entry:

        /* Controller #4 */
	pcie@14160000 {
		status = "okay";

		nvidia,pex-wake = <&tegra_main_gpio TEGRA194_MAIN_GPIO(L, 2)
					GPIO_ACTIVE_HIGH>;
		vddio-pex-ctl-supply = <&p3668_spmic_sd3>;
		nvidia,disable-aspm-states = <0xf>;
		nvidia,enable-power-down;
		nvidia,disable-clock-request;
		nvidia,max-speed = <1>;

		phys = <&p2u_11>;
		phy-names = "pcie-p2u-0";
	};

From different documents, I found above PCIe address belongs to controller #C4, is that correct?
Where I can find mapping between SoM pins and p2u? How to determine that PCI1_RX0/TX0 is mapped to specific p2u_xx phys?

Thanks,
Artur

Hi,

We don’t suggest customer to change the mapping. Only the same design as devkit is allowed.

What is your purpose for doing so? This should not affect your device on PCI1_RX0/TX0

thank you for an answer. I don’t want to change the mapping itself, just want to enable PCIe1 and ensure lane 0 is wired up properly (I mean, device tree entries for PCIe controller corresponds to pin names for Jetson NX SoM).

I found in (Adaptation and Bring up)[Tegra Linux Driver] that Jetson NX have C5 and C4 controllers. It seems that C4 controller corresponds to pcie@14160000 which is marked as PCIE1 on Jetson NX pinout. Is that correct?

Do pins p2u_11 correspond to lane 0 which is SoM pin group PCIE1_RX0_N, PCIE1_RX0_P, PCIE1_TX0_N, PCIE1_TX0_P?

btw. the device on carrier board, that is connected to PCIE1 of Jetson NX SoM is Intel i218 ethernet controller

If you are sure your pin connection matches the hardware design guide, then you don’t need to enable/disable or configure the pcie controller in device tree.
The hardware design guide also tells that pin is PEX_TX/RX11. So yes, that is p2u_11.

If you still hit pcie device problem, you should share the full dmesg.

Alright, so all looks good.

I still have some issues to make this device detected. Can you take a look at attached log, please?

pcie.dmesg.txt (65.6 KB)

Thanks,
Artur

Please share what did you see in the lspci.

jetson@jetson:~$ lspci
0005:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad0 (rev a1)
0005:01:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. Device 2263 (rev 03)

What kind of device is connected here? The intel card?

It’s an Intel ethernet adapter: WGI218LM, directly put on carrier board. The schematic for it is:

Hello,
I found in Intel’s datasheet following statement:

The Intel® Ethernet Connection I218 PCIe interface is not PCIe compliant. It operates at
half the speed of the PCI Express* (PCIe*) Specification v1.1 (2.5 GT/s). In this
datasheet, the term PCIe-based is interchangeable with PCIe. There are no design
layout differences between normal PCIe and the Intel® Ethernet Connection I218’s
PCIe-based interface

Is it something that NVIDIA PCIe controller is compatible with?

Thank you,
Artur

Nope. Nvidia PCIe controller (root port) is PCIe spec compliant. Since the I218’s data sheet says that it not PCIe compliant, we don’t expect the PCIe link to come up. I’m not sure what does ‘PCIe-based interface’ mean, but, whatever it is, we don’t support anything other than PCIe spec as defined by the PCI-SIG.

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