Is there a binding for IORESOURCE_DMA population?

Shawn Guo shawn.guo at freescale.com
Sun Jul 17 17:18:08 EST 2011


On Sat, Jul 16, 2011 at 10:38:11PM +0800, Tabi Timur-B04825 wrote:
> Shawn Guo wrote:
> > It's not about virtual or physical channel.  I'm asking suggestion on
> > how we bind the channel number for each dma client device in device
> > tree and how they will get the number from device tree when they get
> > probed.
> 
> I guess I'm still confused.  Why do we need to bind the channel number? 
> It's just a resource that can be owned by the driver without needing a 
> device tree.

I should have said it's about how we bind sdma event number for each
client device and how the client device drivers retrieve the number
from device tree.  To be clear, the sdma event number is a sdma client
device specific resource, which is defined by soc.  You may ask why
this virtual number matters, since physical channel number is
dynamically assigned to the client device.  It's related to sdma
hardware design.  sdma is a custom RISC core with SRAM inside.  It
executes firmware to move data between peripheral and system memory.
The sdma event number is actually used to identify the peripheral by
sdma core and firmware.  So whenever a peripheral (sdma client device)
requests sdma service, it has to tell sdma its event number to let
sdma identify it.

For existing non-dt case, the sdma event number is being passed into
sdma client device driver by platform code as resource of
IORESOURCE_DMA.  But the approach is not working for dt case.

-- 
Regards,
Shawn



More information about the devicetree-discuss mailing list