Hi,
I am working on a project where I have to connect a ARM processor running Linux to an TI 6657 EVM. My Arm/Linux is not from TI but the PCI interface have proven to be working fine since I can connect a Standard off-the-shelf PCIe wifi adapter and it works seamlessly.
My 6657 is setup in PCIe Boot mode (so in EP mode) with a BAR configuration where BAR1 size is 4M. My Linux host only use the Bar0 and BAR1 since there is not enough reserved memory for the other ones.
When I boot my Linux with the 6657EVM connected I get a PCIe link up with the following BAR mapping
Region 0: Memory at 01500000 (32-bit, non-prefetchable) [size=4K]
Region 1: Memory at 01000000 (32-bit, prefetchable) [size=4M]
The problem is that whatever I do, I cannot reliably read the BAR0. I read something but it does not relate to the PCI register on the TI Side. What I read is always the same in the whole region. And the worst is that I don't read the same thing depending on the method I use (using ioread or direct memory access) .
Obviously, I cannot do anything if I cannot access the BAR0 because that is the way I will be able to configure translation for BAR1.
does anybody have ideas on what could be the problem ? To I have to fix it by playing with the PCI configuration on the RC/Linux side ? If yes that change is required for it to work ?
Thank you