powerpc: add SSI-to-DMA properties to Freescale MPC8610 HPCD device tree
authorTimur Tabi <timur@freescale.com>
Wed, 6 Aug 2008 16:48:25 +0000 (11:48 -0500)
committerKumar Gala <galak@kernel.crashing.org>
Wed, 17 Sep 2008 20:01:20 +0000 (15:01 -0500)
Add the fsl,playback-dma and fsl,capture-dma properties to the Freescale
MPC8610 HPCD device tree.  These properties connect the SSI nodes to the
DMA nodes for the DMA channels that the SSI should use.  Also update the
ssi.txt documentation.

These properties will be needed when the ASoC V2 version of the Freescale
MPC8610 device drivers are merged into the mainline.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Documentation/powerpc/dts-bindings/fsl/ssi.txt
arch/powerpc/boot/dts/mpc8610_hpcd.dts

index d100555d488a32e722cf4ae3f6640159018e9a83..5d9841303cae6ee29e383d5ee16cd71f5a843e32 100644 (file)
@@ -24,6 +24,12 @@ Required properties:
                    "rj-master" - r.j., SSI is clock master
                    "ac97-slave" - AC97 mode, SSI is clock slave
                    "ac97-master" - AC97 mode, SSI is clock master
+- fsl,playback-dma: phandle to a DMA node for the DMA channel to use for
+                   playback of audio.  This is typically dictated by SOC
+                   design.  See the notes below.
+- fsl,capture-dma:  phandle to a DMA node for the DMA channel to use for
+                   capture (recording) of audio.  This is typically dictated
+                   by SOC design.  See the notes below.
 
 Optional properties:
 - codec-handle   : phandle to a 'codec' node that defines an audio
@@ -36,3 +42,12 @@ Child 'codec' node required properties:
 Child 'codec' node optional properties:
 - clock-frequency  : The frequency of the input clock, which typically
                      comes from an on-board dedicated oscillator.
+
+Notes on fsl,playback-dma and fsl,capture-dma:
+
+On SOCs that have an SSI, specific DMA channels are hard-wired for playback
+and capture.  On the MPC8610, for example, SSI1 must use DMA channel 0 for
+playback and DMA channel 1 for capture.  SSI2 must use DMA channel 2 for
+playback and DMA channel 3 for capture.  The developer can choose which
+DMA controller to use, but the channels themselves are hard-wired.  The
+purpose of these two properties is to represent this hardware design.
index 3b3a1062cb250886e7d056169ab5e343afe14d5d..0f3a36e0ea6d3d674f898cb7d4f2ffbd6fd63cfc 100644 (file)
                        reg = <0xe4000 0x100>;
                };
 
-               i2s@16000 {
+               ssi@16000 {
                        compatible = "fsl,mpc8610-ssi";
                        cell-index = <0>;
                        reg = <0x16000 0x100>;
                        interrupts = <62 2>;
                        fsl,mode = "i2s-slave";
                        codec-handle = <&cs4270>;
+                       fsl,playback-dma = <&dma00>;
+                       fsl,capture-dma = <&dma01>;
                };
 
                ssi@16100 {
                        reg = <0x21300 0x4>; /* DMA general status register */
                        ranges = <0x0 0x21100 0x200>;
 
-                       dma-channel@0 {
+                       dma00: dma-channel@0 {
                                compatible = "fsl,mpc8610-dma-channel",
                                        "fsl,eloplus-dma-channel";
                                cell-index = <0>;
                                interrupt-parent = <&mpic>;
                                interrupts = <20 2>;
                        };
-                       dma-channel@1 {
+                       dma01: dma-channel@1 {
                                compatible = "fsl,mpc8610-dma-channel",
                                        "fsl,eloplus-dma-channel";
                                cell-index = <1>;