• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Audio Graph Card:
2
3Audio Graph Card specifies audio DAI connections of SoC <-> codec.
4It is based on common bindings for device graphs.
5see ${LINUX}/Documentation/devicetree/bindings/graph.txt
6
7Basically, Audio Graph Card property is same as Simple Card.
8see ${LINUX}/Documentation/devicetree/bindings/sound/simple-card.txt
9
10Below are same as Simple-Card.
11
12- label
13- widgets
14- routing
15- dai-format
16- frame-master
17- bitclock-master
18- bitclock-inversion
19- frame-inversion
20- mclk-fs
21- hp-det-gpio
22- mic-det-gpio
23- dai-tdm-slot-num
24- dai-tdm-slot-width
25- clocks / system-clock-frequency
26
27Required properties:
28
29- compatible				: "audio-graph-card";
30- dais					: list of CPU DAI port{s}
31
32Optional properties:
33- pa-gpios: GPIO used to control external amplifier.
34
35Example: Single DAI case
36
37	sound_card {
38		compatible = "audio-graph-card";
39
40		dais = <&cpu_port>;
41	};
42
43	dai-controller {
44		...
45		cpu_port: port {
46			cpu_endpoint: endpoint {
47				remote-endpoint = <&codec_endpoint>;
48
49				dai-format = "left_j";
50				...
51			};
52		};
53	};
54
55	audio-codec {
56		...
57		port {
58			codec_endpoint: endpoint {
59				remote-endpoint = <&cpu_endpoint>;
60			};
61		};
62	};
63
64Example: Multi DAI case
65
66	sound-card {
67		compatible = "audio-graph-card";
68
69		label = "sound-card";
70
71		dais = <&cpu_port0
72			&cpu_port1
73			&cpu_port2>;
74	};
75
76	audio-codec@0 {
77		...
78		port {
79			codec0_endpoint: endpoint {
80				remote-endpoint = <&cpu_endpoint0>;
81			};
82		};
83	};
84
85	audio-codec@1 {
86		...
87		port {
88			codec1_endpoint: endpoint {
89				remote-endpoint = <&cpu_endpoint1>;
90			};
91		};
92	};
93
94	audio-codec@2 {
95		...
96		port {
97			codec2_endpoint: endpoint {
98				remote-endpoint = <&cpu_endpoint2>;
99			};
100		};
101	};
102
103	dai-controller {
104		...
105		ports {
106			cpu_port0: port@0 {
107				cpu_endpoint0: endpoint {
108					remote-endpoint = <&codec0_endpoint>;
109
110					dai-format = "left_j";
111					...
112				};
113			};
114			cpu_port1: port@1 {
115				cpu_endpoint1: endpoint {
116					remote-endpoint = <&codec1_endpoint>;
117
118					dai-format = "i2s";
119					...
120				};
121			};
122			cpu_port2: port@2 {
123				cpu_endpoint2: endpoint {
124					remote-endpoint = <&codec2_endpoint>;
125
126					dai-format = "i2s";
127					...
128				};
129			};
130		};
131	};
132
133