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.

Linux/AM5728: How to configure TI Processor SDK Linux (Arago) for AM57xx PCIe Root Complex

Part Number: AM5728

Tool/software: Linux

Hello,

 I'm looking for a guide on how to configure a build of TI SDK Linux for AM57xx,
 to provide a PCIe Root Complex functionality.
 We are using the TI Arago project 5.2.0.10, running bitbake to build arago-base-tisdk-image (respective the arago-core-tisdk-image).

 We would like to implement PCIe x1 endpoint (EP) inside FPGA, which would connect directly to AM57xx.
 No other PCIe devices are to be connected.
 The FPGA will run our custom HDL code, and we would like to provide a bidirectional channel / interrupt system,
 to transfer messages between AM57xx Linux user-space application, via PCIe, to FPGA, and vice-versa.

 1] Are there any specific HW related requirements (f.ex. clock lane routing), that we shall follow ?
 We'd like to connect Sitara to a bigger Xilinx FPGA.

 2] I do assume it is based on a custom TI Kernel  Driver, within the TI Processor SDK Linux.
 Do we need to reconfigure it, or is it by default included in the base/core image (recipe) ?

 3] Also, is there a user-space example application, which would show how to talk to our EP via the PCIe RC TI Kernel Driver ?
 We would need this as well.

 I'm browsing the TI Wiki and E2E forum, but it seems the information is split through many places.
 Not sure which is actual and what not.

 Could you point me to a proper link (wiki etc) ?
 That would be very appreciated.

thanks,
 a.

  • Hi, Adam,

    TI supports PCIe RC configuration on AM57xx platforms. Please take a look at the dra7.dtsi for its configuration, and also refer to PCIe RC Chapter of Linux ProcSDK Developer Guide in
    software-dl.ti.com/.../Foundational_Components_Kernel_Drivers.html

    For user space example, you may want to take a look at how we test EP functionality in PCIe Endpoint Chapter of the Developer Guide to get the idea. There is also a documentation in linux/Documentation/PCI/endpoint/pci-test-howto.txt. The test code is in linux/tools/pci/pcitest.c.

    For hardware requirement, please see AM57x TRM, www.ti.com/.../AM5728. In the ProcSDK release, the dts file also has PCIe clock configuration.

    Rex