Hello ,
Im working on PCI Express in the C6678 DSP of Texas Instruments ,
in routing methods of the packet , there is ID Routing based on Bus number , Device number and Function Number
Can i have some examples of Functions ?
Thanks
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.
Hello ,
Im working on PCI Express in the C6678 DSP of Texas Instruments ,
in routing methods of the packet , there is ID Routing based on Bus number , Device number and Function Number
Can i have some examples of Functions ?
Thanks
You can download the Multicore Software Development Kit (MCSDK) for 6678 from http://www.ti.com/tool/bioslinuxmcsdk
Once you install MCSDK, look at pdk_C6678_x_x_x_x/packages/ti/drv/pcie/example for a PCIe example that tests the PCIe driver for C6678
This application note should also be helpful http://www.ti.com/lit/an/sprabk8/sprabk8.pdf
The PCIe example in the MCSDK is good for memory transactions, which is based on packet routing.
PCIe module in C6678 can be configured as Root Complex (RC) or Endpoint (EP) and it is a single function device for EP.
For ID routing, it is typically used for configuration transactions. Only RC is allowed to initialize the configuration transactions to EPs. The C6678 PCIe module in RC mode will generate the configuration transactions automatically when accessing the remote configuration space in EP.
If you need some more information like bus enumeration/initialization, you could refer to some open source drivers in the OS, like Linux PCI/PCIe drivers. PCIe configuration space is back-compatible with PCI, so the software used for PCI configuration is also applicable to PCIe, although some new features in PCIe may not be addressed in the old software driver.
Sincerely,
Steven