aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/sound/qcom,q6afe.txt
blob: 14335a08b963a1df5cca310d90107fc70dc68883 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
Qualcomm Audio Front End (Q6AFE) binding

AFE is one of the APR audio service on Q6DSP
Please refer to qcom,apr.txt for details of the common apr service bindings
used by all apr services. Must contain the following properties.

- compatible:
	Usage: required
	Value type: <stringlist>
	Definition: must be "qcom,q6afe-v<MAJOR-NUMBER>.<MINOR-NUMBER>"
		  Or "qcom,q6afe" where the version number can be queried
		  from DSP.
		  example "qcom,q6afe"

= AFE DAIs (Digial Audio Interface)
"dais" subnode of the AFE node. It represents afe dais, each afe dai is a
subnode of "dais" representing board specific dai setup.
"dais" node should have following properties followed by dai children.

- #sound-dai-cells
	Usage: required
	Value type: <u32>
	Definition: Must be 1

- #address-cells
	Usage: required
	Value type: <u32>
	Definition: Must be 1

- #size-cells
	Usage: required
	Value type: <u32>
	Definition: Must be 0

== AFE DAI is subnode of "dais" and represent a dai, it includes board specific
configuration of each dai. Must contain the following properties.

- reg
	Usage: required
	Value type: <u32>
	Definition: Must be dai id

- qcom,sd-lines
	Usage: required for mi2s interface
	Value type: <prop-encoded-array>
	Definition: Must be list of serial data lines used by this dai.
	should be one or more of the 1-4 sd lines.

= EXAMPLE

q6afe@4 {
	compatible = "qcom,q6afe";
	reg = <APR_SVC_AFE>;

	dais {
		#sound-dai-cells = <1>;
		#address-cells = <1>;
		#size-cells = <0>;

		hdmi@1 {
			reg = <1>;
		};

		prim-mi2s-rx@16 {
			reg = <16>;
			qcom,sd-lines = <1 3>;
		};

		prim-mi2s-tx@17 {
			reg = <17>;
			qcom,sd-lines = <2>;
		};

		sec-mi2s-rx@18 {
			reg = <18>;
			qcom,sd-lines = <1 4>;
		};

		sec-mi2s-tx@19 {
			reg = <19>;
			qcom,sd-lines = <2>;
		};

		tert-mi2s-rx@20 {
			reg = <20>;
			qcom,sd-lines = <2 4>;
		};

		tert-mi2s-tx@21 {
			reg = <21>;
			qcom,sd-lines = <1>;
		};

		quat-mi2s-rx@22 {
			reg = <22>;
			qcom,sd-lines = <1>;
		};

		quat-mi2s-tx@23 {
			reg = <23>;
			qcom,sd-lines = <2>;
		};
	};
};