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 -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html