I checked linux driver code there is "cpu_addr_fixup" when configuring iATU, and the git commit history recorded as below:
- The HSIO address map as viewed from system level is as shown below. address [31:24] Local address Target Address Size 5F 0 HSIO 16MB 60-6F 40-4F HSIO 256MB 70-7F 80-8F HSIO 256MB So, the cpu_addr_fixup is required to enable i.MX8QM/QXP PCIe.
https://lkml.org/lkml/2019/3/13/151
But, there is no any relevant description in the latest reference manual, Can NXP provide the detail description about this feature?
Hi Li
for i.MX8QXP HSIO PCIe address map there is description in Table 2-2. System memory map
i.MX 8DualXPlus/8QuadXPlus Applications Processor Reference Manual
address [31:24] Local address Target Address Size 5F 0 HSIO 16MB
70-7F 80-8F HSIO 256MB for i.MX8QM there is no such documentation, since it is not publicly released yet. Please apply to local marketing office for its preliminary documentation. Best regards igor ----------------------------------------------------------------------------------------------------------------------- Note: If this post answers your question, please click the Correct Answer button. Thank you! -----------------------------------------------------------------------------------------------------------------------
From i.MX 8DualXPlus/8QuadXPlus Applications Processor Reference Manual
PCIe system memory map is 0x70000000 - 0x7fffffff, but the key is, in fact, if set iATU cfg0 base register as 0x70000000, cfgRead/cfgWrite will fail, the right cpu base address is 0x80000000, so there is a
cpu_addr_fixup = 0x10000000
But the reference manual has no mention it at all .
>But the reference manual has no mention it at all
this is PREPRODUCTION part as described on below link in red and its Reference Manual
is "rev.D" - still is under development. More details will be added in future releases of Manual.
i.MX 8X Applications Processors| Arm® Cortex®-A35, Cortex-M4 | NXP
for software recommended to use latest Linux L4.14.98
linux-imx - i.MX Linux kernel
Linux L4.14.98_2.0.0 Documentation
Linux Binary Demo Files - i.MX 8QXPlus MEK
Best regards
igor