Lines Matching +full:8 +full:- +full:channel
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#
10 - Fabrice Gasnier <fabrice.gasnier@st.com>
11 - Olivier Moysan <olivier.moysan@st.com>
14 STM32 DFSDM ADC is a sigma delta analog-to-digital converter dedicated to
17 - Sigma delta modulators (motor control, metering...)
18 - PDM microphones (audio digital microphone)
20 It features up to 8 serial digital interfaces (SPI or Manchester) and
28 - st,stm32h7-dfsdm
29 - st,stm32mp1-dfsdm
36 - description:
39 - description: audio clock can be used as an alternate to feed CLKOUT.
43 clock-names:
45 - const: dfsdm
46 - const: audio
50 "#address-cells":
53 "#size-cells":
56 spi-max-frequency:
65 - compatible
66 - reg
67 - clocks
68 - clock-names
69 - "#address-cells"
70 - "#size-cells"
75 "^filter@[0-9]+$":
82 - st,stm32-dfsdm-adc
83 - st,stm32-dfsdm-dmic
92 st,adc-channels:
94 List of single-ended channels muxed for this ADC.
96 - For st,stm32-dfsdm-adc: up to 8 channels numbered from 0 to 7.
97 - For st,stm32-dfsdm-dmic: 1 channel numbered from 0 to 7.
98 $ref: /schemas/types.yaml#/definitions/uint32-array
103 st,adc-channel-names:
104 description: List of single-ended channel names.
105 $ref: /schemas/types.yaml#/definitions/string-array
107 st,filter-order:
110 - 0: FastSinC
111 - [1-5]: order 1 to 5.
118 "#io-channel-cells":
121 st,adc-channel-types:
123 Single-ended channel input type.
124 - "SPI_R": SPI with data on rising edge (default)
125 - "SPI_F": SPI with data on falling edge
126 - "MANCH_R": manchester codec, rising edge = logic 0, falling edge = logic 1
127 - "MANCH_F": manchester codec, rising edge = logic 1, falling edge = logic 0
130 $ref: /schemas/types.yaml#/definitions/non-unique-string-array
132 st,adc-channel-clk-src:
135 - "CLKIN": external SPI clock (CLKIN x)
136 - "CLKOUT": internal SPI clock (CLKOUT) (default)
137 - "CLKOUT_F": internal SPI clock divided by 2 (falling edge).
138 - "CLKOUT_R": internal SPI clock divided by 2 (rising edge).
141 $ref: /schemas/types.yaml#/definitions/non-unique-string-array
143 st,adc-alt-channel:
147 If not set, channel n is connected to SPI input n.
148 If set, channel n is connected to SPI input n + 1.
151 st,filter0-sync:
160 dma-names:
162 - const: rx
165 - compatible
166 - reg
167 - interrupts
168 - st,adc-channels
169 - st,adc-channel-names
170 - st,filter-order
171 - "#io-channel-cells"
174 - if:
178 const: st,stm32-dfsdm-adc
180 - then:
182 st,adc-channels:
184 maxItems: 8
186 st,adc-channel-names:
188 maxItems: 8
190 st,adc-channel-types:
192 maxItems: 8
194 st,adc-channel-clk-src:
196 maxItems: 8
198 io-channels:
201 modulator or internal ADC output to DFSDM channel.
202 This is not required for "st,stm32-dfsdm-pdm" compatibility as
206 - io-channels
208 - if:
212 const: st,stm32-dfsdm-dmic
214 - then:
216 st,adc-channels:
219 st,adc-channel-names:
222 st,adc-channel-types:
225 st,adc-channel-clk-src:
229 - dmas
230 - dma-names
233 "^dfsdm-dai+$":
238 "#sound-dai-cells":
241 io-channels:
244 modulator or internal ADC output to DFSDM channel.
247 - "#sound-dai-cells"
248 - io-channels
251 - if:
255 const: st,stm32h7-dfsdm
257 - then:
259 "^filter@[0-9]+$":
266 - if:
270 const: st,stm32mp1-dfsdm
272 - then:
274 "^filter@[0-9]+$":
282 - |
283 #include <dt-bindings/interrupt-controller/arm-gic.h>
284 #include <dt-bindings/clock/stm32mp1-clks.h>
286 compatible = "st,stm32mp1-dfsdm";
289 clock-names = "dfsdm", "audio";
290 #address-cells = <1>;
291 #size-cells = <0>;
294 compatible = "st,stm32-dfsdm-dmic";
298 dma-names = "rx";
299 #io-channel-cells = <1>;
300 st,adc-channels = <1>;
301 st,adc-channel-names = "dmic0";
302 st,adc-channel-types = "SPI_R";
303 st,adc-channel-clk-src = "CLKOUT";
304 st,filter-order = <5>;
306 asoc_pdm0: dfsdm-dai {
307 compatible = "st,stm32h7-dfsdm-dai";
308 #sound-dai-cells = <0>;
309 io-channels = <&dfsdm0 0>;
314 compatible = "st,stm32-dfsdm-adc";
318 dma-names = "rx";
319 #io-channel-cells = <1>;
320 st,adc-channels = <2 3>;
321 st,adc-channel-names = "in2", "in3";
322 st,adc-channel-types = "SPI_R", "SPI_R";
323 st,adc-channel-clk-src = "CLKOUT_F", "CLKOUT_F";
324 io-channels = <&sd_adc2 &sd_adc3>;
325 st,filter-order = <1>;