1
votes

There have been similar questions asked like this but non of the info seems to help. I have a Freescale iMX6 chip running Linux 3.14 and an Altera Cyclone V GT FPGA Development Kit. When I plug the kit (with Altera's demo PCIe code) into the iMX6 carrier board (PCIe connection) and enter lspci I get the memory for BAR0 and BAR1 unassigned. Doesn't matter if we change the memory type (32 bit vs. 64 bit - non-prefetchable or not). Went in and did a 'echo 1 > enable' under the device with a rescan, still nothing. On this end there is no driver implemented but other PCIe devices don't have a driver and they have resources allocated (i.e. resource0..3). Pretty much every PCIe kernel configuration setting has been added. What is it that I could be missing?

1

1 Answers

1
votes

With i.MX6 the maximum amount of memory accepted by Linux for BARx is 15MB. When the size of BAR are too large, Linux can't assign memory space and left it unassigned.

What is the size of your BAR0 and BAR1 ? I think you should reduce the size of your BARx. If you have a DDR wired on your FPGA think about span extender to allow i.MX6 -> DDR access.

I wrote a little tutorial here to explain how to plug an iMX6 with a CycloneV GX through PCIe (1 lane) if you are interested.