• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Audio-Graph-SCU-Card:
2
3Audio-Graph-SCU-Card is "Audio-Graph-Card" + "ALSA DPCM".
4
5It is based on common bindings for device graphs.
6see ${LINUX}/Documentation/devicetree/bindings/graph.txt
7
8Basically, Audio-Graph-SCU-Card property is same as
9Simple-Card / Simple-SCU-Card / Audio-Graph-Card.
10see ${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
14Below 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
26Below are same as Simple-SCU-Card.
27
28- convert-rate
29- convert-channels
30- prefix
31- routing
32
33Required properties:
34
35- compatible				: "audio-graph-scu-card";
36- dais					: list of CPU DAI port{s}
37
38Example 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
74Example 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	};
124