Merge remote-tracking branches 'asoc/topic/sh', 'asoc/topic/sigmadsp', 'asoc/topic...
[firefly-linux-kernel-4.4.55.git] / Documentation / devicetree / bindings / sound / renesas,rsnd.txt
1 Renesas R-Car sound
2
3 Required properties:
4 - compatible                    : "renesas,rcar_sound-<soctype>", fallbacks
5                                   "renesas,rcar_sound-gen1" if generation1, and
6                                   "renesas,rcar_sound-gen2" if generation2
7                                   Examples with soctypes are:
8                                     - "renesas,rcar_sound-r8a7790" (R-Car H2)
9                                     - "renesas,rcar_sound-r8a7791" (R-Car M2-W)
10 - reg                           : Should contain the register physical address.
11                                   required register is
12                                    SRU/ADG/SSI      if generation1
13                                    SRU/ADG/SSIU/SSI if generation2
14 - rcar_sound,ssi                : Should contain SSI feature.
15                                   The number of SSI subnode should be same as HW.
16                                   see below for detail.
17 - rcar_sound,src                : Should contain SRC feature.
18                                   The number of SRC subnode should be same as HW.
19                                   see below for detail.
20 - rcar_sound,dvc                : Should contain DVC feature.
21                                   The number of DVC subnode should be same as HW.
22                                   see below for detail.
23 - rcar_sound,dai                : DAI contents.
24                                   The number of DAI subnode should be same as HW.
25                                   see below for detail.
26
27 SSI subnode properties:
28 - interrupts                    : Should contain SSI interrupt for PIO transfer
29 - shared-pin                    : if shared clock pin
30 - pio-transfer                  : use PIO transfer mode
31 - no-busif                      : BUSIF is not ussed when [mem -> SSI] via DMA case
32
33 SRC subnode properties:
34 no properties at this point
35
36 DAI subnode properties:
37 - playback                      : list of playback modules
38 - capture                       : list of capture  modules
39
40 Example:
41
42 rcar_sound: rcar_sound@ec500000 {
43         #sound-dai-cells = <1>;
44         compatible = "renesas,rcar_sound-r8a7791", "renesas,rcar_sound-gen2";
45         reg =   <0 0xec500000 0 0x1000>, /* SCU */
46                 <0 0xec5a0000 0 0x100>,  /* ADG */
47                 <0 0xec540000 0 0x1000>, /* SSIU */
48                 <0 0xec541000 0 0x1280>; /* SSI */
49
50         rcar_sound,dvc {
51                 dvc0: dvc@0 { };
52                 dvc1: dvc@1 { };
53         };
54
55         rcar_sound,src {
56                 src0: src@0 { };
57                 src1: src@1 { };
58                 src2: src@2 { };
59                 src3: src@3 { };
60                 src4: src@4 { };
61                 src5: src@5 { };
62                 src6: src@6 { };
63                 src7: src@7 { };
64                 src8: src@8 { };
65                 src9: src@9 { };
66         };
67
68         rcar_sound,ssi {
69                 ssi0: ssi@0 {
70                         interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>;
71                 };
72                 ssi1: ssi@1 {
73                         interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>;
74                 };
75                 ssi2: ssi@2 {
76                         interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>;
77                 };
78                 ssi3: ssi@3 {
79                         interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>;
80                 };
81                 ssi4: ssi@4 {
82                         interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>;
83                 };
84                 ssi5: ssi@5 {
85                         interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>;
86                 };
87                 ssi6: ssi@6 {
88                         interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>;
89                 };
90                 ssi7: ssi@7 {
91                         interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>;
92                 };
93                 ssi8: ssi@8 {
94                         interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>;
95                 };
96                 ssi9: ssi@9 {
97                         interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>;
98                 };
99         };
100
101         rcar_sound,dai {
102                 dai0 {
103                         playback = <&ssi5 &src5>;
104                         capture  = <&ssi6>;
105                 };
106                 dai1 {
107                         playback = <&ssi3>;
108                 };
109                 dai2 {
110                         capture  = <&ssi4>;
111                 };
112                 dai3 {
113                         playback = <&ssi7>;
114                 };
115                 dai4 {
116                         capture  = <&ssi8>;
117                 };
118         };
119 };