Lines Matching +full:stm32 +full:- +full:dfsdm +full:- +full:dmic

1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/iio/adc/st,stm32-dfsdm-adc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: STMicroelectronics STM32 DFSDM ADC device driver
10 - Fabrice Gasnier <fabrice.gasnier@foss.st.com>
11 - Olivier Moysan <olivier.moysan@foss.st.com>
14 STM32 DFSDM ADC is a sigma delta analog-to-digital converter dedicated to
15 interface external sigma delta modulators to STM32 micro controllers.
17 - Sigma delta modulators (motor control, metering...)
18 - PDM microphones (audio digital microphone)
28 - st,stm32h7-dfsdm
29 - st,stm32mp1-dfsdm
36 - description:
37 Internal clock used for DFSDM digital processing and control blocks.
38 dfsdm clock can also feed CLKOUT, when CLKOUT is used.
39 - description: audio clock can be used as an alternate to feed CLKOUT.
42 clock-names:
44 - const: dfsdm
45 - const: audio
48 "#address-cells":
51 "#size-cells":
54 spi-max-frequency:
62 access-controllers:
67 - compatible
68 - reg
69 - clocks
70 - clock-names
71 - "#address-cells"
72 - "#size-cells"
77 "^filter@[0-9]+$":
85 - st,stm32-dfsdm-adc
86 - st,stm32-dfsdm-dmic
89 description: Specifies the DFSDM filter instance used.
95 st,adc-channels:
97 List of single-ended channels muxed for this ADC.
99 - For st,stm32-dfsdm-adc: up to 8 channels numbered from 0 to 7.
100 - For st,stm32-dfsdm-dmic: 1 channel numbered from 0 to 7.
101 $ref: /schemas/types.yaml#/definitions/uint32-array
107 st,adc-channel-names:
108 description: List of single-ended channel names.
111 st,filter-order:
114 - 0: FastSinC
115 - [1-5]: order 1 to 5.
120 "#io-channel-cells":
123 '#address-cells':
126 '#size-cells':
129 st,adc-channel-types:
131 Single-ended channel input type.
132 - "SPI_R": SPI with data on rising edge (default)
133 - "SPI_F": SPI with data on falling edge
134 - "MANCH_R": manchester codec, rising edge = logic 0, falling edge = logic 1
135 - "MANCH_F": manchester codec, rising edge = logic 1, falling edge = logic 0
138 $ref: /schemas/types.yaml#/definitions/non-unique-string-array
141 st,adc-channel-clk-src:
144 - "CLKIN": external SPI clock (CLKIN x)
145 - "CLKOUT": internal SPI clock (CLKOUT) (default)
146 - "CLKOUT_F": internal SPI clock divided by 2 (falling edge).
147 - "CLKOUT_R": internal SPI clock divided by 2 (rising edge).
150 $ref: /schemas/types.yaml#/definitions/non-unique-string-array
153 st,adc-alt-channel:
162 st,filter0-sync:
164 Set to 1 to synchronize with DFSDM filter instance 0.
171 dma-names:
173 - const: rx
176 - compatible
177 - reg
178 - interrupts
179 - st,filter-order
180 - "#io-channel-cells"
183 "^channel@[0-7]$":
187 description: Represents the external channels which are connected to the DFSDM.
197 st,adc-channel-type:
199 Single-ended channel input type.
200 - "SPI_R": SPI with data on rising edge (default)
201 - "SPI_F": SPI with data on falling edge
202 - "MANCH_R": manchester codec, rising edge = logic 0, falling edge = logic 1
203 - "MANCH_F": manchester codec, rising edge = logic 1, falling edge = logic 0
207 st,adc-channel-clk-src:
210 - "CLKIN": external SPI clock (CLKIN x)
211 - "CLKOUT": internal SPI clock (CLKOUT) (default)
212 - "CLKOUT_F": internal SPI clock divided by 2 (falling edge).
213 - "CLKOUT_R": internal SPI clock divided by 2 (rising edge).
217 st,adc-alt-channel:
225 io-backends:
227 Used to pipe external sigma delta modulator or internal ADC backend to DFSDM channel.
231 - reg
234 - if:
238 const: st,stm32-dfsdm-adc
242 st,adc-channels:
246 st,adc-channel-names:
250 st,adc-channel-types:
254 st,adc-channel-clk-src:
258 io-channels:
261 modulator or internal ADC output to DFSDM channel.
266 - st,adc-channels
269 - io-channels
272 "^channel@[0-7]$":
274 - io-backends
276 - if:
280 const: st,stm32-dfsdm-dmic
284 st,adc-channels:
287 st,adc-channel-names:
290 st,adc-channel-types:
293 st,adc-channel-clk-src:
297 - dmas
298 - dma-names
301 "^dfsdm-dai+$":
309 - st,stm32h7-dfsdm-dai
311 "#sound-dai-cells":
314 io-channels:
317 modulator or internal ADC output to DFSDM channel.
320 $ref: /schemas/sound/audio-graph-port.yaml#
324 - compatible
325 - "#sound-dai-cells"
326 - io-channels
329 - if:
333 const: st,stm32h7-dfsdm
337 "^filter@[0-9]+$":
344 - if:
348 const: st,stm32mp1-dfsdm
352 "^filter@[0-9]+$":
360 - |
361 #include <dt-bindings/interrupt-controller/arm-gic.h>
362 #include <dt-bindings/clock/stm32mp1-clks.h>
363 dfsdm: dfsdm@4400d000 {
364 compatible = "st,stm32mp1-dfsdm";
367 clock-names = "dfsdm", "audio";
368 #address-cells = <1>;
369 #size-cells = <0>;
373 compatible = "st,stm32-dfsdm-dmic";
377 dma-names = "rx";
378 #io-channel-cells = <1>;
379 #address-cells = <1>;
380 #size-cells = <0>;
381 st,filter-order = <5>;
386 st,adc-channel-type = "SPI_R";
387 st,adc-channel-clk-src = "CLKOUT";
388 st,adc-alt-channel;
391 asoc_pdm0: dfsdm-dai {
392 compatible = "st,stm32h7-dfsdm-dai";
393 #sound-dai-cells = <0>;
394 io-channels = <&dfsdm0 0>;
400 compatible = "st,stm32-dfsdm-adc";
404 dma-names = "rx";
405 st,filter-order = <1>;
406 #io-channel-cells = <1>;
407 #address-cells = <1>;
408 #size-cells = <0>;
413 st,adc-channel-type = "SPI_F";
414 st,adc-channel-clk-src = "CLKOUT";
415 st,adc-alt-channel;
416 io-backends = <&sd_adc2>;
422 st,adc-channel-type = "SPI_R";
423 st,adc-channel-clk-src = "CLKOUT";
424 io-backends = <&sd_adc3>;