xref: /freebsd/sys/contrib/device-tree/Bindings/sound/st,stm32-adfsdm.txt (revision ebacd8013fe5f7fdf9f6a5b286f6680dd2891036)
1STMicroelectronics Audio Digital Filter Sigma Delta modulators(DFSDM)
2
3The DFSDM allows PDM microphones capture through SPI interface. The Audio
4interface is seems as a sub block of the DFSDM device.
5For details on DFSDM bindings refer to ../iio/adc/st,stm32-dfsdm-adc.txt
6
7Required properties:
8  - compatible: "st,stm32h7-dfsdm-dai".
9
10  - #sound-dai-cells : Must be equal to 0
11
12  - io-channels : phandle to iio dfsdm instance node.
13
14Example of a sound card using audio DFSDM node.
15
16	sound_card {
17		compatible = "audio-graph-card";
18
19		dais = <&cpu_port>;
20	};
21
22	dfsdm: dfsdm@40017000 {
23		compatible = "st,stm32h7-dfsdm";
24		reg = <0x40017000 0x400>;
25		clocks = <&rcc DFSDM1_CK>;
26		clock-names = "dfsdm";
27		#interrupt-cells = <1>;
28		#address-cells = <1>;
29		#size-cells = <0>;
30
31		dfsdm_adc0: filter@0 {
32			compatible = "st,stm32-dfsdm-dmic";
33			reg = <0>;
34			interrupts = <110>;
35			dmas = <&dmamux1 101 0x400 0x00>;
36			dma-names = "rx";
37			st,adc-channels = <1>;
38			st,adc-channel-names = "dmic0";
39			st,adc-channel-types = "SPI_R";
40			st,adc-channel-clk-src = "CLKOUT";
41			st,filter-order = <5>;
42
43			dfsdm_dai0: dfsdm-dai {
44				compatible = "st,stm32h7-dfsdm-dai";
45				#sound-dai-cells = <0>;
46				io-channels = <&dfsdm_adc0 0>;
47				cpu_port: port {
48				dfsdm_endpoint: endpoint {
49					remote-endpoint = <&dmic0_endpoint>;
50				};
51			};
52		};
53	};
54
55	dmic0: dmic@0 {
56		compatible = "dmic-codec";
57		#sound-dai-cells = <0>;
58		port {
59			dmic0_endpoint: endpoint {
60				remote-endpoint = <&dfsdm_endpoint>;
61			};
62		};
63	};
64