]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - Documentation/devicetree/bindings/sound/audio-graph-scu-card.txt
Merge remote-tracking branches 'asoc/topic/ac97', 'asoc/topic/ac97-mfd', 'asoc/topic...
[mirror_ubuntu-focal-kernel.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 "DAI0 Capture", "codec Capture";
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 "DAI0 Capture", "codec Capture";
84 convert-rate = <48000>;
85
86 dais = <&cpu_port0
87 &cpu_port1>;
88 };
89
90 audio-codec {
91 ...
92
93 port {
94 codec_endpoint0: endpoint {
95 remote-endpoint = <&cpu_endpoint0>;
96 };
97 codec_endpoint1: endpoint {
98 remote-endpoint = <&cpu_endpoint1>;
99 };
100 };
101 };
102
103 dai-controller {
104 ...
105 ports {
106 cpu_port0: port {
107 cpu_endpoint0: endpoint {
108 remote-endpoint = <&codec_endpoint0>;
109
110 dai-format = "left_j";
111 ...
112 };
113 };
114 cpu_port1: port {
115 cpu_endpoint1: endpoint {
116 remote-endpoint = <&codec_endpoint1>;
117
118 dai-format = "left_j";
119 ...
120 };
121 };
122 };
123 };