Is there a binding for IORESOURCE_DMA population?

Tabi Timur-B04825 B04825 at freescale.com
Sun Jul 17 06:54:21 EST 2011


Arnd Bergmann wrote:
> But that would mean that the code interpreting that property has to
> know about the specific dmaengine implementation, and needs to be
> changed every time we add a new one.

And like I said, the SSI driver will already need to know the specifics of 
the DMA controller.  The PowerPC device tree node for the SSI already 
works this way:

             ssi at 15000 {
                     compatible = "fsl,mpc8610-ssi";
                     cell-index = <0>;
                     reg = <0x15000 0x100>;
                     interrupts = <75 2 0 0>;
                     fsl,mode = "i2s-slave";
                     codec-handle = <&wm8776>;
                     fsl,playback-dma = <&dma00>;
                     fsl,capture-dma = <&dma01>;
                     fsl,fifo-depth = <15>;
                     fsl,ssi-asynchronous;
              };

On PowerPC, the SSI driver knows that "fsl,playback-dma" points to a 
Freescale e500 DMA controller channel node.  The driver currently does not 
work with any other DMA controller.  This is what needs to be fixed.

> Alternatively, you'd end up with the device drivers having to
> read the properties themselves to get to the number and pass
> that to the common dmaengine code.

The SSI won't be able to use any common DMA engine code, because DMA needs 
to be set up in a very specific way for audio.

-- 
Timur Tabi
Linux kernel developer at Freescale


More information about the devicetree-discuss mailing list