[PATCH v3 2/3] arm64: dts: Add APM X-Gene DMA device and DMA clock DTS nodes

Arnd Bergmann arnd at arndb.de
Mon Jan 19 07:17:39 PST 2015


On Monday 19 January 2015 20:11:22 Rameshwar Sahu wrote:
> 
> >
> > The value should be
> >
> >         dma-ranges = <0x40 0x0 0x40 0x0 0x200 0>;
> >
> 
> then it should be :
> 
> dma-ranges = <0x40 0x0 0x40 0x0 0x400 0>;
> 
> 
> to say that any DMA to physical addresses from 0 to 0x3f.ffffffff

No, the property above is for a bus that extends from
0x40.00000000 to 0x43f.ffffffff

The first tuple is the address that is used for the local
bus, the second one is the address that it gets translated to
on the parent bus, and the third tuple is the length.

> > is disallowed and dma to physical addresses from 0x40.00000000
> > to 0x23f.ffffffff is allowed and gets translated using an
> > identity mapping.
> >
> > I also see that on Mustang, all memory is outside of this range,
> >
> 
> Do you mean all other device controller node in DT here??
> Basically these are all device controller memory, as what I understood is
> dma-ranges tells about DDR ranges like start address of DDR
> and length.

It has absolutely nothing to do with where the DDR memory resides,
only which addresses are valid on a particular bus, like the
ranges property for the opposite direction. This is usually set
up in some control register for the bus, and you should use the
same value here.

	Arnd



More information about the linux-arm-kernel mailing list