I am trying to resize the PCIE windows (in file imx8qm-ss-hsio.dtsi), so that, PCIEA becomes larger with 256MB MEM window plus default IO window, while shortening PCIEB in order to release space for PCIEA, like so:
pciea: pcie@0x5f000000 {
reg = <0x5f000000 0x10000>, /* Controller reg */
<0x70000000 0x80000>, /* PCI cfg space */
<0x5f080000 0xf0000>; /* lpcg, csr, msic, gpio */
reg-names = "dbi", "config", "hsio";
...
ranges = <0x81000000 0 0x00000000 0x70080000 0 0x00010000 /* downstream I/O */
0x82000000 0 0x60000000 0x60000000 0 0x10000000>; /* non-prefetchable memory */
...
and PCIEB to:
pcieb: pcie@0x5f010000 {
reg = <0x5f010000 0x10000>, /* Controller reg */
<0x7ff00000 0x80000>, /* PCI cfg space */
<0x5f080000 0xf0000>; /* lpcg, csr, msic, gpio */
reg-names = "dbi", "config", "hsio";
...
ranges = <0x81000000 0 0x00000000 0x7ff80000 0 0x00010000 /* downstream I/O */
0x82000000 0 0x71000000 0x71000000 0 0x0ef00000>; /* non-prefetchable memory */
But when I do this, the Linux kernel is not able to setup the windows and the WiFI card is not detected on PCIEB, nor any card on PCIEA.
Even if I simply modify PCIEB leaving PCIEA unchanged, is enough for the PCIEB window not to be properly configured.
What am I doing wrong? How can I resize the PCIE windows?
Solved! Go to Solution.
@lmendes
Hello,
You mentioned about PCIEA larger with 256MB MEM window - according to
Table 2-2 (System memory map) of the preliminary i.MX8QM RM, only 256MB are
reserved in system memory for PCIe0 and 256MB - for PCIe1.
Regards,
Yuri.
Hi Yuri,
Thanks for your reply.
Is it possible to change the Linux memory mappings to extend the PCIe size? I would need one PCIe with 256MB memory BAR excluding the IO BAR size, but I only need 256MB memory BAR on one PCIe and the other PCIe can be shrinked, so that in total the overall 512MB of the PCIe interfaces isn't exceeded. Unfortunately I don't have access yet to the i.MX8QM RM, or at least was unable to find it.
Regards,
Luís
Hi Yuri,
I've the same problem, could you share your comments?
Thanks,
Joerg