mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
a71615792d
Add bindings that describes audio settings to support Digital Filter for pulse density modulation(PDM) microphone. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Mark Brown <broonie@kernel.org>
64 lines
1.5 KiB
Plaintext
64 lines
1.5 KiB
Plaintext
STMicroelectronics Audio Digital Filter Sigma Delta modulators(DFSDM)
|
|
|
|
The DFSDM allows PDM microphones capture through SPI interface. The Audio
|
|
interface is seems as a sub block of the DFSDM device.
|
|
For details on DFSDM bindings refer to ../iio/adc/st,stm32-dfsdm-adc.txt
|
|
|
|
Required properties:
|
|
- compatible: "st,stm32h7-dfsdm-dai".
|
|
|
|
- #sound-dai-cells : Must be equal to 0
|
|
|
|
- io-channels : phandle to iio dfsdm instance node.
|
|
|
|
Example of a sound card using audio DFSDM node.
|
|
|
|
sound_card {
|
|
compatible = "audio-graph-card";
|
|
|
|
dais = <&cpu_port>;
|
|
};
|
|
|
|
dfsdm: dfsdm@40017000 {
|
|
compatible = "st,stm32h7-dfsdm";
|
|
reg = <0x40017000 0x400>;
|
|
clocks = <&rcc DFSDM1_CK>;
|
|
clock-names = "dfsdm";
|
|
#interrupt-cells = <1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
dfsdm_adc0: filter@0 {
|
|
compatible = "st,stm32-dfsdm-dmic";
|
|
reg = <0>;
|
|
interrupts = <110>;
|
|
dmas = <&dmamux1 101 0x400 0x00>;
|
|
dma-names = "rx";
|
|
st,adc-channels = <1>;
|
|
st,adc-channel-names = "dmic0";
|
|
st,adc-channel-types = "SPI_R";
|
|
st,adc-channel-clk-src = "CLKOUT";
|
|
st,filter-order = <5>;
|
|
|
|
dfsdm_dai0: dfsdm-dai {
|
|
compatible = "st,stm32h7-dfsdm-dai";
|
|
#sound-dai-cells = <0>;
|
|
io-channels = <&dfsdm_adc0 0>;
|
|
cpu_port: port {
|
|
dfsdm_endpoint: endpoint {
|
|
remote-endpoint = <&dmic0_endpoint>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
dmic0: dmic@0 {
|
|
compatible = "dmic-codec";
|
|
#sound-dai-cells = <0>;
|
|
port {
|
|
dmic0_endpoint: endpoint {
|
|
remote-endpoint = <&dfsdm_endpoint>;
|
|
};
|
|
};
|
|
};
|