Other Parts Discussed in Thread: SYSCONFIG
Is it possible to communicate TMDS64GPEVM (Root complex) and TMDS243GPEVM (Endpoint) via PCIe?
(We have extension cable and confirmed everything works. Just wonder is there any obstacle to do that?)
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Is it possible to communicate TMDS64GPEVM (Root complex) and TMDS243GPEVM (Endpoint) via PCIe?
(We have extension cable and confirmed everything works. Just wonder is there any obstacle to do that?)
Mr Prasad.
I didn't ask "Does AM243 Support EP"
Yes Of course I know, I can see what it supports in the SDK/Documentation/Sources codes.
But I am asking that do you see any impediment to communicating between AM64(RC) and AM24(EP) via PCIe?
Because after trying couple of days to accomplish something like this, Everytime I came accross some "magics" in Texas Instruments SDK/platforms to see my works useless.
Hi Onur,
Both RC and EP are supported by the MCU+ SDK for AM243x/AM64x. Please refer to the two examples under C:\ti\mcu_plus_sdk_am243x_08_03_00_18\examples\drivers\pcie\pcie_buf_transfer.
If you have AM64x GP EVM run pcie_buf_transfer_rc and the AM243x GP EVM run pcie_buf_transfer_ep. It should be able to verify the RC and EP support.
There may be a catch here. You may have to run the pcie_buf_transfer_rc on AM64x GP EVM first, the run the pcie_buf_transfer_ep on AM243x.
Best regards,
Ming
MCU+ SDK for AM64X (mcu_plus_sdk_am64x_08_02_00_31) doesn't contain any PCI source codes/example or library.
Also SysConfig for AM64X doesn't have PCIe section. I am using RC Linux Driver for AM64X. (pci_endpoint_test)
My question is there anybody know "Is communicating between AM64X(RC/OR EP Linux) and AM24X(Baremetal) possible via PCIe? AM64X pci_endpoint_test driver cannot see AM24X(RC) as a PCIe function (/dev/pci-endpoint-test.0 cannot be created)
Hi Onur,
Sorry for confusion. Understand your query now.
After confirming from multiple experts across Linux and RTOS and also as Ming mentioned above, we don't see any issues in connecting the AM64x RC to AM24 EP via PCIE.
Our Linux SDK tests actually use AM64x to AM64x set up so this is flow flushed in our test flow as well.
Regards,
Prasad
Thank you for your politeness and giving a time to us.
Linux SDK PCIe works for AM64x to AM64x but it is not work between AM64x(linux pcie-rc) and AM24x(baremetal pcie-ep)
I initialized AM24x as EP and here AM64x(RC) kernel messages.
root@am64xx-evm:/sys/bus/pci/devices/0000:01:00.0# modprobe pci_endpoint_test root@am64xx-evm:/sys/bus/pci/devices/0000:01:00.0# [ 1326.996027] pci-endpoint-test 0000:01:00.0: assign IRQ: got 43 [ 1326.996103] pci-endpoint-test 0000:01:00.0: Cannot enable PCI device [ 1326.996129] pci-endpoint-test: probe of 0000:01:00.0 failed with error -22
Please I just need a few advice to figure out if the problem originate from Texas SDK.
I mean, which subject should I focus to achieve PCIe transfer between AM24x and AM64x if there is not any impediment/magic/obstacle to do that.
Hi Onur,
It looks like the Linux PCIe RC does not recognize the RTOS/baremetal PCIe EP.
The logical next step is to check the RTOS/baremetal PCIe RC and EP together. If it works, then the problem is the difference between the Linux RC vs the RTOS/baremetal RC. If it does not work, then the RTOS/baremetal EP implementation is incorrect.
Best regards,
Ming
Hi Ming,
Yes. Linux PCIe(AM64X) does not recognize PCIe EP(AM24X) which we see in the kernel messages(pci-endpoint-test 0000:01:00.0: Cannot enable PCI device)
I already check the PCIe communication between (two baremetal) PCIe RC(AM24X) and EP(AM24X) it works.
This problem I face occurs only if I try to communicate Linux PCIe and baremetal PCIe.
So how I will solve?
Hi Onur,
OK. at least we have narrow it down to that the problem is caused by the difference between the Linux RC vs the RTOS/baremetal RC. The next step is that we need to involve the developer of the RTOS/baremetal PCIe driver and the expert of the Linux PCIe driver to figure out the features which is in Linux PCIe driver but not implemented in RTOS/baremetal PCIe driver.
I will initiate the internal discussion with the involved parties today. We will get back to you as soon as we have conclusion.
Best regards,
Ming
Mr. Wei,
Is there any progress?
I think I just need an example of "example.syscfg" which defines Address Translation Regions.
Could you please make me a favor and ask the engineer for this?
Root complex is Linux (AM64) and End point (AM243) so I just need an initial example for CCS (MCU+SDK AM243)
Hi Onur,
The PCIe driver in MCU+SDK is a driver with minimal functionality.
The Linux EP test is no expected to work straight away with Baremetal EP as the functions of EP is not a part of RTOS driver and is expected to be part of application code.
Regards,
Anoop