7c6d33f297968d656ac82bfd7fb26da12cc6f2e1
[platform/kernel/linux-stable.git] / Documentation / devicetree / bindings / sound / renesas,rsnd.txt
1 Renesas R-Car sound
2
3 Required 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
10 - rcar_sound,ssi                : SSI subnode
11 - rcar_sound,scu                : SCU subnode
12 - rcar_sound,dai                : DAI subnode
13
14 SSI subnode properties:
15 - interrupts                    : Should contain SSI interrupt for PIO transfer
16 - shared-pin                    : if shared clock pin
17
18 DAI subnode properties:
19 - playback                      : list of playback modules
20 - capture                       : list of capture  modules
21
22 Example:
23
24 rcar_sound: rcar_sound@0xffd90000 {
25         #sound-dai-cells = <1>;
26         compatible = "renesas,rcar_sound-gen2";
27         reg =   <0 0xec500000 0 0x1000>, /* SCU */
28                 <0 0xec5a0000 0 0x100>,  /* ADG */
29                 <0 0xec540000 0 0x1000>, /* SSIU */
30                 <0 0xec541000 0 0x1280>; /* SSI */
31
32         rcar_sound,src {
33                 src0: src@0 { };
34                 src1: src@1 { };
35                 src2: src@2 { };
36                 src3: src@3 { };
37                 src4: src@4 { };
38                 src5: src@5 { };
39                 src6: src@6 { };
40                 src7: src@7 { };
41                 src8: src@8 { };
42                 src9: src@9 { };
43         };
44
45         rcar_sound,ssi {
46                 ssi0: ssi@0 {
47                         interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>;
48                 };
49                 ssi1: ssi@1 {
50                         interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>;
51                 };
52                 ssi2: ssi@2 {
53                         interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>;
54                 };
55                 ssi3: ssi@3 {
56                         interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>;
57                 };
58                 ssi4: ssi@4 {
59                         interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>;
60                 };
61                 ssi5: ssi@5 {
62                         interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>;
63                 };
64                 ssi6: ssi@6 {
65                         interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>;
66                 };
67                 ssi7: ssi@7 {
68                         interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>;
69                 };
70                 ssi8: ssi@8 {
71                         interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>;
72                 };
73                 ssi9: ssi@9 {
74                         interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>;
75                 };
76         };
77
78         rcar_sound,dai {
79                 dai0 {
80                         playback = <&ssi5 &src5>;
81                         capture  = <&ssi6>;
82                 };
83                 dai1 {
84                         playback = <&ssi3>;
85                 };
86                 dai2 {
87                         capture  = <&ssi4>;
88                 };
89                 dai3 {
90                         playback = <&ssi7>;
91                 };
92                 dai4 {
93                         capture  = <&ssi8>;
94                 };
95         };
96 };