~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/sound/qcom,lpass-cpu.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/sound/qcom,lpass-cpu.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Qualcomm Technologies Inc. LPASS CPU dai driver
  8 
  9 maintainers:
 10   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 11   - Rohit kumar <quic_rohkumar@quicinc.com>
 12 
 13 description: |
 14   Qualcomm Technologies Inc. SOC Low-Power Audio SubSystem (LPASS) that consist
 15   of MI2S interface for audio data transfer on external codecs. LPASS cpu driver
 16   is a module to configure Low-Power Audio Interface(LPAIF) core registers
 17   across different IP versions.
 18 
 19 properties:
 20   compatible:
 21     enum:
 22       - qcom,lpass-cpu
 23       - qcom,apq8016-lpass-cpu
 24       - qcom,sc7180-lpass-cpu
 25       - qcom,sc7280-lpass-cpu
 26 
 27   reg:
 28     minItems: 1
 29     maxItems: 6
 30     description: LPAIF core registers
 31 
 32   reg-names:
 33     minItems: 1
 34     maxItems: 6
 35 
 36   clocks:
 37     minItems: 3
 38     maxItems: 10
 39 
 40   clock-names:
 41     minItems: 1
 42     maxItems: 10
 43 
 44   interrupts:
 45     minItems: 1
 46     maxItems: 4
 47     description: LPAIF DMA buffer interrupt
 48 
 49   interrupt-names:
 50     minItems: 1
 51     maxItems: 4
 52 
 53   qcom,adsp:
 54     $ref: /schemas/types.yaml#/definitions/phandle
 55     description: Phandle for the audio DSP node
 56 
 57   iommus:
 58     minItems: 2
 59     maxItems: 3
 60     description: Phandle to apps_smmu node with sid mask
 61 
 62   power-domains:
 63     maxItems: 1
 64 
 65   power-domain-names:
 66     maxItems: 1
 67 
 68   required-opps:
 69     maxItems: 1
 70 
 71   '#sound-dai-cells':
 72     const: 1
 73 
 74   '#address-cells':
 75     const: 1
 76 
 77   '#size-cells':
 78     const: 0
 79 
 80 patternProperties:
 81   "^dai-link@[0-9a-f]+$":
 82     type: object
 83     description: |
 84       LPASS CPU dai node for each I2S device or Soundwire device. Bindings of each node
 85       depends on the specific driver providing the functionality and
 86       properties.
 87     properties:
 88       reg:
 89         maxItems: 1
 90         description: Must be one of the DAI ID
 91 
 92       qcom,playback-sd-lines:
 93         $ref: /schemas/types.yaml#/definitions/uint32-array
 94         description: list of MI2S data lines for playback
 95 
 96       qcom,capture-sd-lines:
 97         $ref: /schemas/types.yaml#/definitions/uint32-array
 98         description: list of MI2S data lines for capture
 99 
100     required:
101       - reg
102 
103     additionalProperties: false
104 
105 required:
106   - compatible
107   - reg
108   - reg-names
109   - clocks
110   - clock-names
111   - interrupts
112   - interrupt-names
113   - '#sound-dai-cells'
114 
115 unevaluatedProperties: false
116 
117 allOf:
118   - $ref: dai-common.yaml#
119   - if:
120       properties:
121         compatible:
122           contains:
123             const: qcom,lpass-cpu
124 
125     then:
126       properties:
127         clocks:
128           maxItems: 3
129         clock-names:
130           items:
131             - const: ahbix-clk
132             - const: mi2s-osr-clk
133             - const: mi2s-bit-clk
134 
135   - if:
136       properties:
137         compatible:
138           contains:
139             const: qcom,apq8016-lpass-cpu
140 
141     then:
142       properties:
143         clocks:
144           minItems: 7
145           maxItems: 7
146         clock-names:
147           items:
148             - const: ahbix-clk
149             - const: mi2s-bit-clk0
150             - const: mi2s-bit-clk1
151             - const: mi2s-bit-clk2
152             - const: mi2s-bit-clk3
153             - const: pcnoc-mport-clk
154             - const: pcnoc-sway-clk
155 
156   - if:
157       properties:
158         compatible:
159           contains:
160             const: qcom,sc7180-lpass-cpu
161 
162     then:
163       properties:
164         clocks:
165           minItems: 6
166           maxItems: 6
167         clock-names:
168           items:
169             - const: pcnoc-sway-clk
170             - const: audio-core
171             - const: mclk0
172             - const: pcnoc-mport-clk
173             - const: mi2s-bit-clk0
174             - const: mi2s-bit-clk1
175         reg:
176           minItems: 2
177           maxItems: 2
178         reg-names:
179           items:
180             - const: lpass-hdmiif
181             - const: lpass-lpaif
182         interrupts:
183           minItems: 2
184           maxItems: 2
185         interrupt-names:
186           items:
187             - const: lpass-irq-lpaif
188             - const: lpass-irq-hdmi
189       required:
190         - iommus
191         - power-domains
192 
193   - if:
194       properties:
195         compatible:
196           contains:
197             const: qcom,sc7280-lpass-cpu
198 
199     then:
200       properties:
201         clocks:
202           minItems: 10
203           maxItems: 10
204         clock-names:
205           items:
206             - const: aon_cc_audio_hm_h
207             - const: audio_cc_ext_mclk0
208             - const: core_cc_sysnoc_mport_core
209             - const: core_cc_ext_if0_ibit
210             - const: core_cc_ext_if1_ibit
211             - const: audio_cc_codec_mem
212             - const: audio_cc_codec_mem0
213             - const: audio_cc_codec_mem1
214             - const: audio_cc_codec_mem2
215             - const: aon_cc_va_mem0
216         reg:
217           minItems: 6
218           maxItems: 6
219         reg-names:
220           items:
221             - const: lpass-hdmiif
222             - const: lpass-lpaif
223             - const: lpass-rxtx-cdc-dma-lpm
224             - const: lpass-rxtx-lpaif
225             - const: lpass-va-lpaif
226             - const: lpass-va-cdc-dma-lpm
227         interrupts:
228           minItems: 4
229           maxItems: 4
230         interrupt-names:
231           items:
232             - const: lpass-irq-lpaif
233             - const: lpass-irq-hdmi
234             - const: lpass-irq-vaif
235             - const: lpass-irq-rxtxif
236         power-domain-names:
237           items:
238             - const: lcx
239 
240       required:
241         - iommus
242         - power-domains
243 
244 examples:
245   - |
246     #include <dt-bindings/sound/sc7180-lpass.h>
247 
248     soc {
249         #address-cells = <2>;
250         #size-cells = <2>;
251         lpass@62d80000 {
252             compatible = "qcom,sc7180-lpass-cpu";
253 
254             reg = <0 0x62d87000 0 0x68000>,
255                   <0 0x62f00000 0 0x29000>;
256             reg-names = "lpass-hdmiif",
257                         "lpass-lpaif";
258             iommus = <&apps_smmu 0x1020 0>,
259                      <&apps_smmu 0x1032 0>;
260             power-domains = <&lpass_hm 0>;
261 
262             clocks = <&gcc 131>,
263                  <&lpasscorecc 6>,
264                  <&lpasscorecc 7>,
265                  <&lpasscorecc 10>,
266                  <&lpasscorecc 8>,
267                  <&lpasscorecc 9>;
268 
269             clock-names = "pcnoc-sway-clk", "audio-core",
270                           "mclk0", "pcnoc-mport-clk",
271                           "mi2s-bit-clk0", "mi2s-bit-clk1";
272 
273             interrupts = <0 160 1>,
274                          <0 268 1>;
275             interrupt-names = "lpass-irq-lpaif",
276                               "lpass-irq-hdmi";
277             #sound-dai-cells = <1>;
278 
279             #address-cells = <1>;
280             #size-cells = <0>;
281             /* Optional to set different MI2S SD lines */
282             dai-link@0 {
283                 reg = <MI2S_PRIMARY>;
284                 qcom,playback-sd-lines = <1>;
285                 qcom,capture-sd-lines = <0>;
286             };
287         };
288     };
289 
290 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php