]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Bindings/sound/qcom,q6afe.txt
Import latest DTS files from Linux 4.18
[FreeBSD/FreeBSD.git] / Bindings / sound / qcom,q6afe.txt
1 Qualcomm Audio Front End (Q6AFE) binding
2
3 AFE is one of the APR audio service on Q6DSP
4 Please refer to qcom,apr.txt for details of the common apr service bindings
5 used by all apr services. Must contain the following properties.
6
7 - compatible:
8         Usage: required
9         Value type: <stringlist>
10         Definition: must be "qcom,q6afe-v<MAJOR-NUMBER>.<MINOR-NUMBER>"
11                   Or "qcom,q6afe" where the version number can be queried
12                   from DSP.
13                   example "qcom,q6afe"
14
15 = AFE DAIs (Digial Audio Interface)
16 "dais" subnode of the AFE node. It represents afe dais, each afe dai is a
17 subnode of "dais" representing board specific dai setup.
18 "dais" node should have following properties followed by dai children.
19
20 - #sound-dai-cells
21         Usage: required
22         Value type: <u32>
23         Definition: Must be 1
24
25 - #address-cells
26         Usage: required
27         Value type: <u32>
28         Definition: Must be 1
29
30 - #size-cells
31         Usage: required
32         Value type: <u32>
33         Definition: Must be 0
34
35 == AFE DAI is subnode of "dais" and represent a dai, it includes board specific
36 configuration of each dai. Must contain the following properties.
37
38 - reg
39         Usage: required
40         Value type: <u32>
41         Definition: Must be dai id
42
43 - qcom,sd-lines
44         Usage: required for mi2s interface
45         Value type: <prop-encoded-array>
46         Definition: Must be list of serial data lines used by this dai.
47         should be one or more of the 1-4 sd lines.
48
49  - qcom,tdm-sync-mode:
50         Usage: required for tdm interface
51         Value type: <prop-encoded-array>
52         Definition: Synchronization mode.
53                 0 - Short sync bit mode
54                 1 - Long sync mode
55                 2 - Short sync slot mode
56
57  - qcom,tdm-sync-src:
58         Usage: required for tdm interface
59         Value type: <prop-encoded-array>
60         Definition: Synchronization source.
61                 0 - External source
62                 1 - Internal source
63
64  - qcom,tdm-data-out:
65         Usage: required for tdm interface
66         Value type: <prop-encoded-array>
67         Definition: Data out signal to drive with other masters.
68                 0 - Disable
69                 1 - Enable
70
71  - qcom,tdm-invert-sync:
72         Usage: required for tdm interface
73         Value type: <prop-encoded-array>
74         Definition: Invert the sync.
75                 0 - Normal
76                 1 - Invert
77
78  - qcom,tdm-data-delay:
79         Usage: required for tdm interface
80         Value type: <prop-encoded-array>
81         Definition: Number of bit clock to delay data
82                 with respect to sync edge.
83                 0 - 0 bit clock cycle
84                 1 - 1 bit clock cycle
85                 2 - 2 bit clock cycle
86
87  - qcom,tdm-data-align:
88         Usage: required for tdm interface
89         Value type: <prop-encoded-array>
90         Definition: Indicate how data is packed
91                 within the slot. For example, 32 slot width in case of
92                 sample bit width is 24.
93                 0 - MSB
94                 1 - LSB
95
96 = EXAMPLE
97
98 q6afe@4 {
99         compatible = "qcom,q6afe";
100         reg = <APR_SVC_AFE>;
101
102         dais {
103                 #sound-dai-cells = <1>;
104                 #address-cells = <1>;
105                 #size-cells = <0>;
106
107                 hdmi@1 {
108                         reg = <1>;
109                 };
110
111                 tdm@24 {
112                         reg = <24>;
113                         qcom,tdm-sync-mode = <1>:
114                         qcom,tdm-sync-src = <1>;
115                         qcom,tdm-data-out = <0>;
116                         qcom,tdm-invert-sync = <1>;
117                         qcom,tdm-data-delay = <1>;
118                         qcom,tdm-data-align = <0>;
119
120                 };
121
122                 tdm@25 {
123                         reg = <25>;
124                         qcom,tdm-sync-mode = <1>:
125                         qcom,tdm-sync-src = <1>;
126                         qcom,tdm-data-out = <0>;
127                         qcom,tdm-invert-sync = <1>;
128                         qcom,tdm-data-delay <1>:
129                         qcom,tdm-data-align = <0>;
130                 };
131
132                 prim-mi2s-rx@16 {
133                         reg = <16>;
134                         qcom,sd-lines = <1 3>;
135                 };
136
137                 prim-mi2s-tx@17 {
138                         reg = <17>;
139                         qcom,sd-lines = <2>;
140                 };
141
142                 sec-mi2s-rx@18 {
143                         reg = <18>;
144                         qcom,sd-lines = <1 4>;
145                 };
146
147                 sec-mi2s-tx@19 {
148                         reg = <19>;
149                         qcom,sd-lines = <2>;
150                 };
151
152                 tert-mi2s-rx@20 {
153                         reg = <20>;
154                         qcom,sd-lines = <2 4>;
155                 };
156
157                 tert-mi2s-tx@21 {
158                         reg = <21>;
159                         qcom,sd-lines = <1>;
160                 };
161
162                 quat-mi2s-rx@22 {
163                         reg = <22>;
164                         qcom,sd-lines = <1>;
165                 };
166
167                 quat-mi2s-tx@23 {
168                         reg = <23>;
169                         qcom,sd-lines = <2>;
170                 };
171         };
172 };