1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: "http://devicetree.org/schemas/sound/qcom,q6dsp-lpass-ports.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7 title: Qualcomm DSP LPASS(Low Power Audio SubSystem) Audio Ports binding
8
9 maintainers:
10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11
12 description: |
13 This binding describes the Qualcomm DSP LPASS Audio ports
14
15 properties:
16 compatible:
17 enum:
18 - qcom,q6afe-dais
19 - qcom,q6apm-lpass-dais
20
21 reg:
22 maxItems: 1
23
24 '#sound-dai-cells':
25 const: 1
26
27 '#address-cells':
28 const: 1
29
30 '#size-cells':
31 const: 0
32
33 #Digital Audio Interfaces
34 patternProperties:
35 '^dai@[0-9]+$':
36 type: object
37 description:
38 Q6DSP Digital Audio Interfaces.
39
40 properties:
41 reg:
42 description:
43 Digital Audio Interface ID
44
45 qcom,sd-lines:
46 $ref: /schemas/types.yaml#/definitions/uint32-array
47 description:
48 List of serial data lines used by this dai.should be one or more of the 0-3 sd lines.
49 minItems: 1
50 maxItems: 4
51 uniqueItems: true
52 items:
53 minimum: 0
54 maximum: 3
55
56 qcom,tdm-sync-mode:
57 $ref: /schemas/types.yaml#/definitions/uint32
58 enum: [0, 1, 2]
59 description:
60 TDM Synchronization mode
61 0 = Short sync bit mode
62 1 = Long sync mode
63 2 = Short sync slot mode
64
65 qcom,tdm-sync-src:
66 $ref: /schemas/types.yaml#/definitions/uint32
67 enum: [0, 1]
68 description:
69 TDM Synchronization source
70 0 = External source
71 1 = Internal source
72
73 qcom,tdm-data-out:
74 $ref: /schemas/types.yaml#/definitions/uint32
75 enum: [0, 1]
76 description:
77 TDM Data out signal to drive with other masters
78 0 = Disable
79 1 = Enable
80
81 qcom,tdm-invert-sync:
82 $ref: /schemas/types.yaml#/definitions/uint32
83 enum: [0, 1]
84 description:
85 TDM Invert the sync
86 0 = Normal
87 1 = Invert
88
89 qcom,tdm-data-delay:
90 $ref: /schemas/types.yaml#/definitions/uint32
91 enum: [0, 1, 2]
92 description:
93 TDM Number of bit clock to delay data
94 0 = 0 bit clock cycle
95 1 = 1 bit clock cycle
96 2 = 2 bit clock cycle
97
98 qcom,tdm-data-align:
99 $ref: /schemas/types.yaml#/definitions/uint32
100 enum: [0, 1]
101 description:
102 Indicate how data is packed within the slot. For example, 32 slot
103 width in case of sample bit width is 24TDM Invert the sync.
104 0 = MSB
105 1 = LSB
106
107 required:
108 - reg
109
110 allOf:
111 - if:
112 properties:
113 reg:
114 contains:
115 # TDM DAI ID range from PRIMARY_TDM_RX_0 - QUINARY_TDM_TX_7
116 items:
117 minimum: 24
118 maximum: 103
119 then:
120 required:
121 - qcom,tdm-sync-mode
122 - qcom,tdm-sync-src
123 - qcom,tdm-data-out
124 - qcom,tdm-invert-sync
125 - qcom,tdm-data-delay
126 - qcom,tdm-data-align
127
128 - if:
129 properties:
130 reg:
131 contains:
132 # MI2S DAI ID range PRIMARY_MI2S_RX - QUATERNARY_MI2S_TX and
133 # QUINARY_MI2S_RX - QUINARY_MI2S_TX
134 items:
135 oneOf:
136 - minimum: 16
137 maximum: 23
138 - minimum: 127
139 maximum: 128
140 then:
141 required:
142 - qcom,sd-lines
143
144 additionalProperties: false
145
146 required:
147 - compatible
148 - reg
149 - "#sound-dai-cells"
150 - "#address-cells"
151 - "#size-cells"
152
153 additionalProperties: false
154
155 examples:
156 - |
157 #include <dt-bindings/soc/qcom,apr.h>
158 #include <dt-bindings/sound/qcom,q6afe.h>
159 apr {
160 #address-cells = <1>;
161 #size-cells = <0>;
162 apr-service@4 {
163 reg = <APR_SVC_AFE>;
164 #address-cells = <1>;
165 #size-cells = <0>;
166 q6afedai@1 {
167 compatible = "qcom,q6afe-dais";
168 reg = <1>;
169 #address-cells = <1>;
170 #size-cells = <0>;
171 #sound-dai-cells = <1>;
172
173 dai@22 {
174 reg = <QUATERNARY_MI2S_RX>;
175 qcom,sd-lines = <0 1 2 3>;
176 };
177 };
178 };
179 };
180 - |
181 #include <dt-bindings/soc/qcom,gpr.h>
182 gpr {
183 compatible = "qcom,gpr";
184 #address-cells = <1>;
185 #size-cells = <0>;
186 qcom,domain = <GPR_DOMAIN_ID_ADSP>;
187 service@1 {
188 compatible = "qcom,q6apm";
189 reg = <GPR_APM_MODULE_IID>;
190 #address-cells = <1>;
191 #size-cells = <0>;
192 q6apmdai@1 {
193 compatible = "qcom,q6apm-lpass-dais";
194 reg = <1>;
195 #address-cells = <1>;
196 #size-cells = <0>;
197 #sound-dai-cells = <1>;
198
199 dai@22 {
200 reg = <QUATERNARY_MI2S_RX>;
201 qcom,sd-lines = <0 1 2 3>;
202 };
203 };
204 };
205 };
Cache object: 36d3b89ff1f637f23348c6f0d7a605e5
|