blob: 8346cab046cd82d1f57447dffaa0d2354d9746b1 [file] [log] [blame]
Kuninori Morimoto90e8e502014-03-17 19:29:55 -07001Renesas R-Car sound
2
3Required properties:
4- compatible : "renesas,rcar_sound-gen1" if generation1
5 "renesas,rcar_sound-gen2" if generation2
6- reg : Should contain the register physical address.
7 required register is
8 SRU/ADG/SSI if generation1
9 SRU/ADG/SSIU/SSI if generation2
Kuninori Morimoto8bab0dd2014-03-23 20:29:15 -070010- rcar_sound,ssi : Should contain SSI feature.
11 The number of SSI subnode should be same as HW.
12 see below for detail.
13- rcar_sound,src : Should contain SRC feature.
14 The number of SRC subnode should be same as HW.
15 see below for detail.
16- rcar_sound,dai : DAI contents.
17 The number of DAI subnode should be same as HW.
18 see below for detail.
Kuninori Morimoto90e8e502014-03-17 19:29:55 -070019
20SSI subnode properties:
21- interrupts : Should contain SSI interrupt for PIO transfer
22- shared-pin : if shared clock pin
Kuninori Morimoto199e76882014-05-22 23:25:49 -070023- pio-transfer : use PIO transfer mode
Kuninori Morimoto90e8e502014-03-17 19:29:55 -070024
Kuninori Morimoto8bab0dd2014-03-23 20:29:15 -070025SRC subnode properties:
26no properties at this point
27
Kuninori Morimoto90e8e502014-03-17 19:29:55 -070028DAI subnode properties:
29- playback : list of playback modules
30- capture : list of capture modules
31
32Example:
33
34rcar_sound: rcar_sound@0xffd90000 {
35 #sound-dai-cells = <1>;
36 compatible = "renesas,rcar_sound-gen2";
37 reg = <0 0xec500000 0 0x1000>, /* SCU */
38 <0 0xec5a0000 0 0x100>, /* ADG */
39 <0 0xec540000 0 0x1000>, /* SSIU */
40 <0 0xec541000 0 0x1280>; /* SSI */
41
42 rcar_sound,src {
43 src0: src@0 { };
44 src1: src@1 { };
45 src2: src@2 { };
46 src3: src@3 { };
47 src4: src@4 { };
48 src5: src@5 { };
49 src6: src@6 { };
50 src7: src@7 { };
51 src8: src@8 { };
52 src9: src@9 { };
53 };
54
55 rcar_sound,ssi {
56 ssi0: ssi@0 {
57 interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>;
58 };
59 ssi1: ssi@1 {
60 interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>;
61 };
62 ssi2: ssi@2 {
63 interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>;
64 };
65 ssi3: ssi@3 {
66 interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>;
67 };
68 ssi4: ssi@4 {
69 interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>;
70 };
71 ssi5: ssi@5 {
72 interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>;
73 };
74 ssi6: ssi@6 {
75 interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>;
76 };
77 ssi7: ssi@7 {
78 interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>;
79 };
80 ssi8: ssi@8 {
81 interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>;
82 };
83 ssi9: ssi@9 {
84 interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>;
85 };
86 };
87
88 rcar_sound,dai {
89 dai0 {
90 playback = <&ssi5 &src5>;
91 capture = <&ssi6>;
92 };
93 dai1 {
94 playback = <&ssi3>;
95 };
96 dai2 {
97 capture = <&ssi4>;
98 };
99 dai3 {
100 playback = <&ssi7>;
101 };
102 dai4 {
103 capture = <&ssi8>;
104 };
105 };
106};