[RFC 0/2] Add MICFIL DAI support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux