[PATCH] ARM: vexpress: initial device tree support

Pawel Moll pawel.moll at arm.com
Wed Sep 21 12:01:17 EDT 2011


On Wed, 2011-09-21 at 15:57 +0100, Grant Likely wrote:
> On Wed, Sep 21, 2011 at 7:24 AM, Rob Herring <robherring2 at gmail.com> wrote:
> > On 09/21/2011 04:19 AM, Dave Martin wrote:
> >>       * arm,amba-bus -- widely used by other boards and patchsets, but
> >>         seems not to be documented.
> >>
> >
> > This should be dropped. There's not really any bus component to an amba
> > bus. All the probing info is within the primecell peripherals.
> 
> No, if it is an AMBA bus, then it is entirely appropriate to declare
> it as an amba bus, but to also be compatible with "simple-bus".  In
> fact, it would be better to use a compatible string that specifies the
> specific implementation of AMBA bus since there are several versions
> of the spec.

Dave asked me about details of the VE implementation. It's
sort-of-complicated... ;-)

1. Core talks to Static Memory Controller via AMBA (AXI)

   SOC { core --AXI--> SMC }

2. SMC generates transaction on Static Memory Bus talking to the IO FPGA

   tile/motherboard connector { SMC --SMB--> IOFPGA }

3. Now, depending on the device being accessed:

a) Transactions accessing SMSC9118, ISP1761, NOR Flash and PSRAM are
routed directly to the devices

   IOFPGA { SMB --> SMSC9118 et al. }

b) The rest of the traffic is converted back to AMBA (AHB/APB)
transactions and sent to the devices connected to internal AMBA matrix.

   IOFPGA { SMB --> AHB/APB bus master --AHB/APB--> PL180 }

I don't believe, though, that the DTS must reflect such level of
details. That's why I think that:

+       motherboard {
+               compatible = "simple-bus";

and

+               peripherals at 7,00000000 {
+                       compatible = "arm,amba-bus", "simple-bus";

is the best description of the reality :-)

Cheers!

Paweł





More information about the linux-arm-kernel mailing list