AnsweredAssumed Answered

imx6 solo linux kernel memory map and PCIe device?

Question asked by JOHN ADAMSON on Jun 24, 2015
Latest reply on Jul 28, 2015 by JOHN ADAMSON

I'm trying to bring up a (Yocto) linux PCIe device driver that I've used successfully under the QorIQ SDK, now porting to the imx6.

 

The driver fails when calling pci_request_regions. 

 

I'm thinking this may be because:

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

 

and lspci for my PCIe device says:

Region 0: Memory at fffc0000 (32-bit, non-prefetchable) [disabled] [size=256K]
Region 1: Memory at fffc0000 (32-bit, non-prefetchable) [disabled] [size=256K]

 

Does it make sense that the vector/fixmap memory space and the memory mapped region for the PCIe device are conflicting?  Or am I confusing memory spaces?

 

If it does, is there a (relatively) easy way to move the vector space to another address location for the imx6 in the context of Yocto and u-boot ?

 

Or must I redesign the PCIe device?

 

John

Outcomes