AnsweredAssumed Answered

i.MX6 PCIe: supporting devices larger than 16MB

Question asked by Charles Powe on Dec 18, 2012
Latest reply on Jun 6, 2018 by Travis Rothlisberger
Branched to a new discussion

Has anyone been able to enumerate PCIe devices summing to more than 14MB (and use them)?  Is it possible?


Freescale's BSP allocates 14MB (0x0110_0000 - 0x01DF_FFFF) to the PCIe root controller.  See linux/arch/arm/mach-mx6/pcie.c, imx_pcie_setup().  Our design includes an FPGA that wants to use 256MB of PCIe memory.  In order to get Linux to enumerate the large device I allocated an additional 256MB resource block to PCI.  I arbitrarily chose the address range 0x8000_0000 - 0x8FFF_FFFF: 


if (pp->index == 0) {
    pp->res[2].start = 0x80000000;
    pp->res[2].end = pp->res[2].start + SZ_256M - 1;
pp->res[2].flags = IORESOURCE_MEM;
if (request_resource(&iomem_resource, &pp->res[2]))
    panic("Request PCIe FPGA resource failed\n");
sys->resource[2] = &pp->res[2];


I expect that I need to somehow associate this address range with PCIe so AXI accesses are routed to the PCIe core.  Right now we don't see any PCIe traffic from the i.MX6 to the FPGA.


Anyone have any ideas?