I can make the endpoint mode work by doing the stuffs in the link below:
https://devtalk.nvidia.com/default/topic/1048611/jetson-agx-xavier/use-pcie-to-communicate-between-two-xaviers-ep-reports-quot-uphy-init-failed-for-pcie-ep-22-quot-/post/5321765/?offset=6#5322270
Summary of the changes needed by endpoint mode:
- Remove C5 rc-modein device tree
- Enable C5 ep-mode in device tree
- Change pex-refclk-sel from low to high
- Make ODMDATA=0x9191000
The document “Tegra_Linux_Driver_Package_AGX_Xavier_Adaptation_Guide_v1-1.pdf” said that:
What does “Enable PCIe endpoint mode” mean here? Does it do all the endpoint changes I list above or just the fourth one?
By the way, p2972-0000-devkit-pcie-ep is “Invalid target board” for now in JetPack 4.2. I can only find “p2972-0000-devkit”.