[PATCH 2/9] arm: mach-mvebu: add header
Nicolas Pitre
nico at fluxnic.net
Mon Jul 2 23:48:42 EDT 2012
On Mon, 2 Jul 2012, Andrew Lunn wrote:
> It would also be nice if Marvell ASIC engineers didn't randomly move
> things around in the address space....
They didn't. The _software_ engineers did.
As you might know, the Orion and Kirkwood SOCs have programmable
physical windows for most things, including PCI IO window, PCI mem
window, SDRAM window, NAND controller window, bridge peripheral window,
etc.
So you can change your physical address space as you wish. This was
made to accommodate whether you are a PCI host or a PCI client (think
wifi cards which are in the later category but still with this window
control block). This is also how the various SDRAM banks are remapped to
appear as a contiguous chunk of physical memory regardless of the
populated memory size in each bank.
Most of this is being partly set up (or set again) in the various
addr-map.c files.
Now it seems that all the u-Boot implementations for Orion/Kirkwood out
there have always moved the window containing the serial ports from its
default 0xd0000000 address to 0xf1000000. Why they did that I have no
idea. And Linux simply took those remapped physical addresses as
authoritative.
And whether or not Armada 370/XP still have this physical remap ability
I don't know. And if it does, then why didn't it follow the same
0xf1000000 tradition as all the other mvebu targets before them I don't
know either. Maybe this could be considered?
Nicolas
More information about the linux-arm-kernel
mailing list