To enable PCIe on my Jetson TX2 module, I modified the file p2771-0000.conf.common with ODMDATA=0x90000 (Config #1 as explained in the Platform Adaptation guide) and then flashed the OS -
sudo ./flash.sh jetson-tx2 mmcblk0p1
After this my PCIe module got detected and worked as expected.
I needed to do the same with Jetson TX2i. However, with TX2i, as soon as I configured ODMDATA to config #1 and flashed the OS, usb (keyboard/mouse) stopped working. What may be the reason for that? Any suggestions?
Thanks
I changed the status above to “okay” and after flashing the updated device tree, usb started to work. I’m not an expert at device trees, can you confirm this change would not have any other implication ? Thanks again!
Hi DaneLLL,
Yes I think I’m using config #1. Here are some messages from dmesg which probably confirms that -
dmesg | grep pci
[ 0.140887] node /plugin-manager/fragment-500-e3325-pcie match with board >=3489-0000-200
[ 0.140904] node /plugin-manager/fragment-500-e3325-pcie match with odm-data enable-pcie-on-uphy-lane0
[ 0.257273] GPIO line 459 (pcie-lane2-mux) hogged as output/low
[ 0.260531] iommu: Adding device 10003000.pcie-controller to group 50
[ 7.538466] tegra-pcie 10003000.pcie-controller: 4x1, 1x1 configuration
[ 7.550173] tegra-pcie 10003000.pcie-controller: PCIE: Enable power rails
[ 7.559428] tegra-pcie 10003000.pcie-controller: probing port 0, using 4 lanes
[ 7.561610] tegra-pcie 10003000.pcie-controller: probing port 2, using 1 lanes
Let me know if I can check something else to confirm the config #1 state.
Currently, I can access my pcie device and after making the above change to enable ‘usb3-std-A-port2’ in device tree, I can use usb ports too (both the micro usb port and USB A port on the devkit board).
I understand from looking at the platform adaptation doc that in Config #1, usb3 port will not be enabled. But in my case once I enabled config #1, I was not able to use any usb port and the above change to device tree helped. So not sure either what is going on.
Hi DaneLLL
It was config #2 by default. I changed it to config #1 to enable PCIe (m.2).
Back to my original point - With TX2 in config #1 - both PCIe and USB (Type A and micro USB) worked fine. With Tx2i, both the USB ports stopped working in conig #1. Updating the device tree as above was the only thing that helped. Still not sure what to conclude from this. Thanks
Hi FM2461,
In HW perspective, PEX1 and USB_SS0 share same pins and if it detects a PCIe device at PEX1, it should not be able to run USB3 at USB_SS0. But anyway, if it works well in your case, it should be fine.