Dear Mitch Bradley, On Sat, 09 Mar 2013 19:04:51 -1000, Mitch Bradley wrote: > As stated in my recent reply to Jason, I thing the correct property is > "ranges". "Ranges" translates mappable child address space addresses > into parent addresses, and that is exactly what is going on. A specific > subset of config addresses is mappable into parent MMIO space. The PCI configuration space is *not* mapped in the MMIO space on Marvell hardware. In the MMIO space of each PCIe interface, there are many registers, only *two* of which are dedicated to accessing the PCI configuration space: * One register to set the offset in the PCI configuration space. * One register to read or write a value in the PCI configuration, at the offset specified in the first register. See the implementation of mvebu_pcie_hw_rd_conf() and mvebu_pcie_hw_wr_conf() in the driver. So really, the values specified in the reg = <...> property are *not* the PCI configuration spaces mapped in the MMIO space. They represent a bunch of per PCIe interface registers used to configure them, get the status of the link... and access, through an indirect mechanism, the PCI configuration space. Does this helps? Thanks, Thomas -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html