On Wed, Feb 1, 2017 at 12:11 PM, Arnd Bergmann <arnd@xxxxxxxx> wrote: > On Saturday, January 28, 2017 9:48:37 PM CET Linus Walleij wrote: >> + /* No clue what these do */ >> + pcibios_min_io = 0x100; >> + pcibios_min_mem = 0; > > Don't touch these OK I have a clue why this is there now, atleast the first one. The first 0x100 in the IOspace is actually configuration registers for the bridge. That is why we have this: reg = <0x50000000 0x100>; (...) /* PCI ranges mappings */ ranges = /* 1MiB I/O space 0x50000000-0x500fffff */ <0x01000000 0 0 0x50000000 0 0x00100000>, This is in all the vendor code I have located too. So the pcibios_min_io is manipulated to avoid touching that sensitive area. But I also see that arch/arm/mm/iomap.c sets it to 0x1000, according to the commit because you said it's the only valid value :D I tried setting the IO range to <0x50000100 0x000FFF00> instead of <0x50000000 0x00100000> but predictably that doesn't work. Maybe it should, I don't know really. Yours, Linus Walleij