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