Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / sound / audio-graph-scu-card.txt
1 Audio-Graph-SCU-Card:
2
3 Audio-Graph-SCU-Card is "Audio-Graph-Card" + "ALSA DPCM".
4
5 It is based on common bindings for device graphs.
6 see ${LINUX}/Documentation/devicetree/bindings/graph.txt
7
8 Basically, Audio-Graph-SCU-Card property is same as
9 Simple-Card / Simple-SCU-Card / Audio-Graph-Card.
10 see ${LINUX}/Documentation/devicetree/bindings/sound/simple-card.txt
11     ${LINUX}/Documentation/devicetree/bindings/sound/simple-scu-card.txt
12     ${LINUX}/Documentation/devicetree/bindings/sound/audio-graph-card.txt
13
14 Below are same as Simple-Card / Audio-Graph-Card.
15
16 - label
17 - dai-format
18 - frame-master
19 - bitclock-master
20 - bitclock-inversion
21 - frame-inversion
22 - dai-tdm-slot-num
23 - dai-tdm-slot-width
24 - clocks / system-clock-frequency
25
26 Below are same as Simple-SCU-Card.
27
28 - convert-rate
29 - convert-channels
30 - prefix
31 - routing
32
33 Required properties:
34
35 - compatible                            : "audio-graph-scu-card";
36 - dais                                  : list of CPU DAI port{s}
37
38 Example 1. Sampling Rate Conversion
39
40         sound_card {
41                 compatible = "audio-graph-scu-card";
42
43                 label = "sound-card";
44                 prefix = "codec";
45                 routing = "codec Playback", "DAI0 Playback",
46                         "codec Playback", "DAI1 Playback";
47                 convert-rate = <48000>;
48
49                 dais = <&cpu_port>;
50         };
51
52         audio-codec {
53                 ...
54
55                 port {
56                         codec_endpoint: endpoint {
57                                 remote-endpoint = <&cpu_endpoint>;
58                         };
59                 };
60         };
61
62         dai-controller {
63                 ...
64                 cpu_port: port {
65                         cpu_endpoint: endpoint {
66                                 remote-endpoint = <&codec_endpoint>;
67
68                                 dai-format = "left_j";
69                                 ...
70                         };
71                 };
72         };
73
74 Example 2. 2 CPU 1 Codec (Mixing)
75
76         sound_card {
77                 compatible = "audio-graph-scu-card";
78
79                 label = "sound-card";
80                 prefix = "codec";
81                 routing = "codec Playback", "DAI0 Playback",
82                         "codec Playback", "DAI1 Playback";
83                 convert-rate = <48000>;
84
85                 dais = <&cpu_port0
86                         &cpu_port1>;
87         };
88
89         audio-codec {
90                 ...
91
92                 port {
93                         codec_endpoint0: endpoint {
94                                 remote-endpoint = <&cpu_endpoint0>;
95                         };
96                         codec_endpoint1: endpoint {
97                                 remote-endpoint = <&cpu_endpoint1>;
98                         };
99                 };
100         };
101
102         dai-controller {
103                 ...
104                 ports {
105                         cpu_port0: port {
106                                 cpu_endpoint0: endpoint {
107                                         remote-endpoint = <&codec_endpoint0>;
108
109                                         dai-format = "left_j";
110                                         ...
111                                 };
112                         };
113                         cpu_port1: port {
114                                 cpu_endpoint1: endpoint {
115                                         remote-endpoint = <&codec_endpoint1>;
116
117                                         dai-format = "left_j";
118                                         ...
119                                 };
120                         };
121                 };
122         };