PDM is a popular way to deliver audio from microphones to the processor in several applications, such as mobile telephones. However, current digital-audio systems use multibit audio signal (also known as multibit PCM) to represent the signal. For this purpose a set of FIR, CIC or/and Half Band filters are usually implemented on DSPs or software. This block implements the required digital interface to provide a 16-bit audio signal from a PDM microphone bitstream in a configurable output sampling rate. The implementation of this digital interface is based on the application of digital signal processing techniques in hardware. The PDM Microphone Interface architecture was designed to gate saving and minimal power consumption. It implements a bunch of filters to transform a 1-bit PDM bitstream to a 16-bit PCM signal in the audio band. To avoid aliasing frequencies in passband, the overall filter has 80 dB stopband attenuation and passband ripple less than 0.2dB. The whole module is implemented to work in a multichannel mode. All channels have the same configuration but each input channel could be turned on/off independently. Cosmin-Gabriel Samoila (2): ASoC: micfil: Add bindings for MICFIL DAI ASoC: Add MICFIL SoC Digital Audio Interface driver. .../devicetree/bindings/sound/fsl,micfil.txt | 38 + sound/soc/fsl/Kconfig | 9 + sound/soc/fsl/Makefile | 2 + sound/soc/fsl/fsl_micfil.c | 2451 ++++++++++++++++++++ sound/soc/fsl/fsl_micfil.h | 317 +++ 5 files changed, 2817 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/fsl,micfil.txt create mode 100644 sound/soc/fsl/fsl_micfil.c create mode 100644 sound/soc/fsl/fsl_micfil.h -- 2.7.4