I’m trying to use PCIe to communication between two xaviers. One is in the default mode (root complex). Another is configured as endpoint mode.
The software of rc-xavier is “JetPack-4.1”.
The software of ep-xavier is “JetPack-4.2”.
Ep-xavier is started up firstly and I typed the following commands:
cd /sys/kernel/config/pci_ep/ mkdir functions/pci_epf_nv_test/func1 echo 0x104c > functions/pci_epf_nv_test/func1/vendorid echo 0xb500 > functions/pci_epf_nv_test/func1/deviceid echo 16 > functions/pci_epf_nv_test/func1/msi_interrupts ln -s functions/pci_epf_nv_test/func1 controllers/141a0000.pcie_ep/ echo 1 > controllers/141a0000.pcie_ep/start
Rc-xavier is started up after the ep-xavier. Ep-xavier can be found as pcie device:
Before I try to use “tegra-pcie-ep-mem.c” to test the endpoint deivce, I realize that the deviceid I gave ep-xavier isn’t matched to the one in tegra-pcie-ep-mem.c. Then I change the deviceid from 0xb500 to 0x1ad4 in ep-xavier.
The problem is that “/sys/kernel/debug/tegra_pcie_ep” can’t be found in the system, which means ep_test_dma_probe() in tegra-pcie-ep-mem.c isn’t probed as expected. Is it correct that all the regions are disabled?
If I change the software of ep-xaiver back to “JetPack-4.1”. “/sys/kernel/debug/tegra_pcie_ep” is created correctly and “Kernel driver in use: tegra_ep_mem” is printed in command “lspci”:
So why it doesn’t work in JetPack-4.2?