[PATCH 1/5] dmaengine: dw_dmac: move to generic DMA binding
From: arnd@arndb.de (Arnd Bergmann)
Date: 2013-01-29 13:31:48
Also in:
linux-devicetree
On Tuesday 29 January 2013, Viresh Kumar wrote:
You can still keep fargs as is and just fill them as:
fargs.cfg_lo = 0;
if (DMA_TO_DEV)
// dest is periph
fargs.cfg_hi = be32_to_cpup(dma_spec->args+0) << 11;
else if (DEV_TO_DMA)
// src is periph
fargs.cfg_hi = be32_to_cpup(dma_spec->args+0) << 7;
The field size is 4 bits.
Ah, good. So I guess the "dma-requests" property should actually
be "16" then.
Does this mean that an implicit zero request line means memory?
Could we have device-to-device DMAs with this controller, and if
we can, should we have both 'src' and 'dst' fields? Are the
two number ranges sharing the same address space, i.e. is
request '7' as the destination guaranteed to be the same device
as request '7' in the source?
If we need two lines, we could interleave them with the bus
master numbers:
dmas = <&dwdma0 // controller
7 // source request 7
1 // source master 1
0 // dest request 0
0>, // dest master 1
<&dwdma0
0 // source request 0
0 // source master 0
8 // dest request 8
1>; // dest master 1
In theory, we could use bit-stuffing to put them all into
a single 32 bit word I guess, but generally people don't
seem to like that for new bindings.
quoted
Thanks a lot for the input. When I fix the above, are actually able to test the changes, or have you lost access to the hardware when leaving ST?I don't have any sort of access for testing these :( But, Vipul might try these at his end.
Ok, I see. Arnd