aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimur Tabi <timur@freescale.com>2008-08-06 12:48:25 -0400
committerKumar Gala <galak@kernel.crashing.org>2008-09-17 16:01:20 -0400
commitc2fe59444e1827ecd2713a1e6ecfd1ab1fc548ae (patch)
tree14c89e9b288c5d77614d1bec907ba26aa16fb544
parentf1eaf16a9e843aa915b86594b60ec6cd66c9eac7 (diff)
powerpc: add SSI-to-DMA properties to Freescale MPC8610 HPCD device tree
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>
-rw-r--r--Documentation/powerpc/dts-bindings/fsl/ssi.txt15
-rw-r--r--arch/powerpc/boot/dts/mpc8610_hpcd.dts8
2 files changed, 20 insertions, 3 deletions
diff --git a/Documentation/powerpc/dts-bindings/fsl/ssi.txt b/Documentation/powerpc/dts-bindings/fsl/ssi.txt
index d100555d488a..5d9841303cae 100644
--- a/Documentation/powerpc/dts-bindings/fsl/ssi.txt
+++ b/Documentation/powerpc/dts-bindings/fsl/ssi.txt
@@ -24,6 +24,12 @@ Required properties:
24 "rj-master" - r.j., SSI is clock master 24 "rj-master" - r.j., SSI is clock master
25 "ac97-slave" - AC97 mode, SSI is clock slave 25 "ac97-slave" - AC97 mode, SSI is clock slave
26 "ac97-master" - AC97 mode, SSI is clock master 26 "ac97-master" - AC97 mode, SSI is clock master
27- fsl,playback-dma: phandle to a DMA node for the DMA channel to use for
28 playback of audio. This is typically dictated by SOC
29 design. See the notes below.
30- fsl,capture-dma: phandle to a DMA node for the DMA channel to use for
31 capture (recording) of audio. This is typically dictated
32 by SOC design. See the notes below.
27 33
28Optional properties: 34Optional properties:
29- codec-handle : phandle to a 'codec' node that defines an audio 35- codec-handle : phandle to a 'codec' node that defines an audio
@@ -36,3 +42,12 @@ Child 'codec' node required properties:
36Child 'codec' node optional properties: 42Child 'codec' node optional properties:
37- clock-frequency : The frequency of the input clock, which typically 43- clock-frequency : The frequency of the input clock, which typically
38 comes from an on-board dedicated oscillator. 44 comes from an on-board dedicated oscillator.
45
46Notes on fsl,playback-dma and fsl,capture-dma:
47
48On SOCs that have an SSI, specific DMA channels are hard-wired for playback
49and capture. On the MPC8610, for example, SSI1 must use DMA channel 0 for
50playback and DMA channel 1 for capture. SSI2 must use DMA channel 2 for
51playback and DMA channel 3 for capture. The developer can choose which
52DMA controller to use, but the channels themselves are hard-wired. The
53purpose of these two properties is to represent this hardware design.
diff --git a/arch/powerpc/boot/dts/mpc8610_hpcd.dts b/arch/powerpc/boot/dts/mpc8610_hpcd.dts
index 3b3a1062cb25..0f3a36e0ea6d 100644
--- a/arch/powerpc/boot/dts/mpc8610_hpcd.dts
+++ b/arch/powerpc/boot/dts/mpc8610_hpcd.dts
@@ -207,7 +207,7 @@
207 reg = <0xe4000 0x100>; 207 reg = <0xe4000 0x100>;
208 }; 208 };
209 209
210 i2s@16000 { 210 ssi@16000 {
211 compatible = "fsl,mpc8610-ssi"; 211 compatible = "fsl,mpc8610-ssi";
212 cell-index = <0>; 212 cell-index = <0>;
213 reg = <0x16000 0x100>; 213 reg = <0x16000 0x100>;
@@ -215,6 +215,8 @@
215 interrupts = <62 2>; 215 interrupts = <62 2>;
216 fsl,mode = "i2s-slave"; 216 fsl,mode = "i2s-slave";
217 codec-handle = <&cs4270>; 217 codec-handle = <&cs4270>;
218 fsl,playback-dma = <&dma00>;
219 fsl,capture-dma = <&dma01>;
218 }; 220 };
219 221
220 ssi@16100 { 222 ssi@16100 {
@@ -233,7 +235,7 @@
233 reg = <0x21300 0x4>; /* DMA general status register */ 235 reg = <0x21300 0x4>; /* DMA general status register */
234 ranges = <0x0 0x21100 0x200>; 236 ranges = <0x0 0x21100 0x200>;
235 237
236 dma-channel@0 { 238 dma00: dma-channel@0 {
237 compatible = "fsl,mpc8610-dma-channel", 239 compatible = "fsl,mpc8610-dma-channel",
238 "fsl,eloplus-dma-channel"; 240 "fsl,eloplus-dma-channel";
239 cell-index = <0>; 241 cell-index = <0>;
@@ -241,7 +243,7 @@
241 interrupt-parent = <&mpic>; 243 interrupt-parent = <&mpic>;
242 interrupts = <20 2>; 244 interrupts = <20 2>;
243 }; 245 };
244 dma-channel@1 { 246 dma01: dma-channel@1 {
245 compatible = "fsl,mpc8610-dma-channel", 247 compatible = "fsl,mpc8610-dma-channel",
246 "fsl,eloplus-dma-channel"; 248 "fsl,eloplus-dma-channel";
247 cell-index = <1>; 249 cell-index = <1>;