iMX6 PCIe for a beginner...

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX6 PCIe for a beginner...

4,671 Views
concerned12345
Contributor III

Hello,

I need to learn PCIe for the iMX6Q to communicate with an FPGA, EIM is not an option here. I am looking for some help. I know that the Kernel needs to be configured and support needs to be added for the Freescale driver in the Kernel. Where I am having trouble is how do I interact with the Freescale driver; or do I need to write my own? When looking at the pcie-imx6.c file there seems to be a lot of chip specific information as well as the .compatible being setup for the device tree.

When reading articles on Linux PCIe driver development the way a driver a written is different from the pcie-imx6.c file. Is there a simple PCIe example for the iMX6 anywhere?

Again, any help is appreciated.

Labels (3)
0 Kudos
1 Reply

1,792 Views
bpe
NXP Employee
NXP Employee

Please distinguish between root complex and endpoint drivers. What

pci-imx6.c implements is a root complex driver. It abstracts i.MX6

PCI hardware to the rest of the system allowing the standard kernel PCI

subsystem to work on i.MX6 platform. If you want to connect a custom

device to i.MX6, you neither need to re-implement the root complex driver,

nor to directly interact with it. PCI device drivers use platform-independent

Linux PCI subsystem services. It that sense, a correctly written PCI device driver

can operate on any supported hardware/platform/architecture, and any

PCI device driver can be taken as an example. For more details, refer

to i.MX Linux Reference Manual, Chapter 41 and to

Documentation/PCI/pci.txt.  Section 41.4.2 of i.MX Linux Reference Manual

mentions some peripherals tested on i.MX reference boards, look at their

drivers first.


Have a great day,
Platon

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos