Unable to write on root port when two Xavier boards use PCIe to communicate, always get 0xFFFFFFFF


I am having an issue to write at the first address(shown by “lspci -v”) on the root port.

  1. My system:

  2. I did the instructions as mentioned on this site

-> Flashing PCIe endpoint [Done]
-> Connecting and configuring the system [Done]
-> Test bidirectional communication [Failed]

Details about failure:

  1. I can read/write on endpoint device using busybox
  2. when I try to write on the root port device, it is always 0xFFFFFFFF. Details are shown below

The address I used is based on “lspci -v” on root port, which is 0x1f40400000

Then I tried the following on root port:

As shown above, no matter what I wrote, it is always 0xFFFFFFFF

Then I tried “dmesg|grep pci” to check any related errors. But didnt find any related error messages. The two dmesg output files for root port and endpoint have been attached.endpoint.txt (6.7 KB) root_port.txt (8.4 KB)

And the TX-RX switch board also can cause the issue.

So not sure how to narrow down where the issue might be and debug.

Any suggestions would be appreciated!

It is not clear if the device driver for the endpoint (i.e. AGX-EP) is being binded with the device on the root port. Could you please attach the ‘sudo lspci -vvvv’ output on the host machine? If you don’t see something like “Kernel driver in use: tegra_ep_mem” for the endpoint device in host machine, then, there is something wrong with your setup.
without the device driver, the memory/IO window and also BME (Bus Master Enable) bits in the configuration space of the EP device (i.e. AGX-EP) wouldn’t have been enabled by anyone hence you observe 0xF response for any read to the BAR.