[GIT PULL] omap changes for v2.6.39 merge window
catalin.marinas at arm.com
Wed Apr 6 04:41:44 EDT 2011
On Wed, 2011-04-06 at 00:19 +0100, Linus Walleij wrote:
> 2011/4/1 Linus Torvalds <torvalds at linux-foundation.org>:
> > If you have discoverable hardware, use it.
> > But by "discoverable hardware" I mean something like PCI config
> > cycles. IOW, real hardware features.
> The ARM AMBA architecture actually has such a thing, or a
> little of it, found in drivers/amba/bus.c.
> Basically it requires you to get the physical address and size of
> each peripheral, then at offset -0x10 from the end address (usually
> at even 4K pages), if you find the magic number 0xB105F00D
> (ARM has a sense of humour, obviously) you can find something
> alike the PCI IDs at offset -0x20, manufacturer ID, version number
> and revision of the hardware.
I don't think this was ever part of the AMBA specification. It was just
some convention used within ARM for the PrimeCell peripherals. Other
AMBA licensees did something else so it's not a reliable mechanism (I
think ARM gave up on this as well in recent peripherals).
> IMO the world would have been much better off if
> ARM mandated that all vendors *must* use this scheme
> for their hardware blocks if they are to license the AMBA
> bus incarnations, but they don't.
As you said, it had limitations like not providing IRQ or DMA
information, so not entirely useful.
FDT may have its problems but so far is a more generic approach for
specifying such information.
More information about the linux-arm-kernel