(+86) 15013630202 sales@pcie.com

PCIe to i210 not working with JetPack 5.1.2

Mar 04, 2024

Hello, Nvidia community,


we developed our own carrier board for the NVIDIA Jetson AGX module which we still used with JetPack 4.6.2 but with the latest version 5.1.2 we have some trouble with the PCIe link to the i210 controller on our board. The i210 is connected the UPHY8 / UPHY9.


We modified the DT according to what we did for the JetPack 4.6.2 but it doesn’t work and we have no idea what’s wrong.


Here is what we did for the JetPack 4.6.2:


pcie@14160000 {

compatible = “nvidia,tegra194-pcie”, “snps,dw-pcie”;

power-domains = <0x3 0x12>;

reg = <0x0 0x14160000 0x0 0x20000 0x0 0x36000000 0x0 0x40000 0x0 0x36040000 0x0 0x40000>;

reg-names = “appl”, “config”, “atu_dma”;

status = “okay”;
#address-cells = <0x3>;
#size-cells = <0x2>;

device_type = “pci”;

num-lanes = <0x4>;

linux,pci-domain = <0x4>;

clocks = <0x4 0xe0 0x4 0x143>;

clock-names = “core_clk”, “core_clk_m”;

resets = <0x5 0x7d 0x5 0x78>;

reset-names = “core_apb_rst”, “core_rst”;

interrupts = <0x0 0x33 0x4 0x0 0x34 0x4>;

interrupt-names = “intr”, “msi”;

iommus = <0x2 0x5a>;

dma-coherent;
#interrupt-cells = <0x1>;

interrupt-map-mask = <0x0 0x0 0x0 0x0>;

interrupt-map = <0x0 0x0 0x0 0x0 0x1 0x0 0x33 0x4>;

nvidia,dvfs-tbl = <0xc28cb00 0xc28cb00 0xc28cb00 0x18519600 0xc28cb00 0xc28cb00 0x18519600 0x2faf0800 0xc28cb00 0x18519600 0x2faf0800 0x5f5e1000 0x0 0x0 0x0 0x0>;

nvidia,max-speed = <0x4>;

nvidia,disable-aspm-states = <0xf>;

nvidia,controller-id = <0x3 0x4>;

nvidia,disable-l1-cpm;

nvidia,aux-clk-freq = <0x13>;

nvidia,preset-init = <0x5>;

nvidia,aspm-cmrt = <0x3c>;

nvidia,aspm-pwr-on-t = <0x14>;

nvidia,aspm-l0s-entrance-latency = <0x3>;

bus-range = <0x0 0xff>;

ranges = <0x81000000 0x0 0x36100000 0x0 0x36100000 0x0 0x100000 0x82000000 0x0 0x40000000 0x17 0x40000000 0x0 0xc0000000 0xc3000000 0x14 0x0 0x14 0x0 0x3 0x40000000>;

nvidia,cfg-link-cap-l1sub = <0x1b0>;

nvidia,cap-pl16g-status = <0x174>;

nvidia,cap-pl16g-cap-off = <0x188>;

nvidia,event-cntr-ctrl = <0x1c4>;

nvidia,event-cntr-data = <0x1c8>;

nvidia,margin-port-cap = <0x190>;

nvidia,margin-lane-cntrl = <0x194>;

nvidia,dl-feature-cap = <0x2f8>;
nvidia,enable-power-down;
nvidia,disable-clock-request;
nvidia,plat-gpios;
phys = <0x160 0x161>;
phy-names = “pcie-p2u-0”, “pcie-p2u-1”;
vddio-pex-ctl-supply = <0x13>;

};


Here is what we did for the latest version 5.1.2:


pcie@14160000 {

compatible = “nvidia,tegra194-pcie\0snps,dw-pcie”;

power-domains = <0x04 0x12>;

reg = <0x00 0x14160000 0x00 0x20000 0x00 0x36000000 0x00 0x40000 0x00 0x36040000 0x00 0x40000 0x00 0x36080000 0x00 0x40000>;

reg-names = “appl\0config\0atu_dma\0dbi”;

status = “okay”;
#address-cells = <0x03>;
#size-cells = <0x02>;

device_type = “pci”;

num-lanes = <0x04>;

num-viewport = <0x08>;

linux,pci-domain = <0x04>;

clocks = <0x04 0xe0 0x04 0x143>;

clock-names = “core\0core_m”;

resets = <0x04 0x7d 0x04 0x78>;

reset-names = “apb\0core”;

interrupts = <0x00 0x33 0x04 0x00 0x34 0x04>;

interrupt-names = “intr\0msi”;

iommus = <0x02 0x5a>;

dma-coherent;

iommu-map = <0x00 0x02 0x5a 0x1000>;

iommu-map-mask = <0x00>;

interconnects = <0x03 0xe0 0x03 0xe1>;

interconnect-names = “dma-mem\0dma-mem”;
#interrupt-cells = <0x01>;

interrupt-map-mask = <0x00 0x00 0x00 0x00>;

interrupt-map = <0x00 0x00 0x00 0x00 0x01 0x00 0x33 0x04>;

nvidia,dvfs-tbl = <0xc28cb00 0xc28cb00 0xc28cb00 0x18519600 0xc28cb00 0xc28cb00 0x18519600 0x2faf0800 0xc28cb00 0x18519600 0x2faf0800 0x5f5e1000 0x00 0x00 0x00 0x00>;

nvidia,max-speed = <0x04>;

nvidia,disable-aspm-states = <0x0f>;

nvidia,disable-l1-cpm;

nvidia,aux-clk-freq = <0x13>;

nvidia,preset-init = <0x05>;

nvidia,bpmp = <0x04 0x04>;

nvidia,aspm-cmrt-us = <0x3c>;

nvidia,aspm-pwr-on-t-us = <0x14>;

nvidia,aspm-l0s-entrance-latency-us = <0x03>;

nvidia,controller-id = <0x04 0x04>;

nvidia,aspm-cmrt = <0x3c>;

nvidia,aspm-pwr-on-t = <0x14>;

nvidia,aspm-l0s-entrance-latency = <0x03>;

bus-range = <0x00 0xff>;

ranges = <0x81000000 0x00 0x36100000 0x00 0x36100000 0x00 0x100000 0xc3000000 0x14 0x00 0x14 0x00 0x03 0x40000000 0x82000000 0x00 0x40000000 0x17 0x40000000 0x00 0xc0000000>;

nvidia,cfg-link-cap-l1sub = <0x1b0>;

nvidia,cap-pl16g-status = <0x174>;

nvidia,cap-pl16g-cap-off = <0x188>;

nvidia,event-cntr-ctrl = <0x1c4>;

nvidia,event-cntr-data = <0x1c8>;

nvidia,dl-feature-cap = <0x2f8>;
nvidia,enable-power-down;
nvidia,disable-clock-request;
phys = <0x2fa 0x2fb>;
phy-names = “p2u-0”, “p2u-1”;
vddio-pex-ctl-supply = <0x15>;

};


Do you have idea / hint what is wrong in our changes or what we missed to change.


Thank you,


Christian