ADAU7002
ADAU7002 Stereo PDM to I2S or TDM Conversion IC Linux Driver.
Supported Devices
Evaluation Boards
Description
The ADAU7002 converts a stereo PDM bit stream into a PCM output. The source for the PDM data can be two microphones or other PDM sources. The PCM audio data is output on a serial audio interface port in either I2S or TDM format.
Source Code
Status
Files
Function |
File |
|---|---|
driver |
|
devicetree |
Devicetree bindings
The ADAU7002 driver is fully devicetree compatible.
Required properties:
compatible: Must be
adi,adau7002
Optional properties:
IOVDD-supply: Phandle and specifier for the power supply providing the IOVDD supply as covered in Documentation/devicetree/bindings/regulator/regulator.txt If this property is not present it is assumed that the supply pin is hardwired to always on.
Example device initialization
For compile time configuration, it’s common Linux practice to keep board- and application-specific configuration out of the main driver file, instead putting it into the board support file.
For devices on custom boards, as typical of embedded and SoC-(system-on-chip)
based hardware, Linux uses platform_data to point to board-specific structures
describing devices and how they are connected to the SoC. This can include
available ports, chip variants, preferred modes, default initialization,
additional pin roles, and so on. This shrinks the board-support packages (BSPs)
and minimizes board and application specific #ifdefs in drivers.
Devicetree
adau7002: pdm-to-i2s {
compatible = "adi,adau7002";
IOVDD-supply = <&supply>;
};
Kernel configuration
Device Drivers --->
<*> Sound card support --->
<*> Advanced Linux Sound Architecture --->
<*> ALSA for SoC audio support --->
<*> CODEC drivers --->
<*> Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter
ASoC DAPM widgets
Name |
Description |
|---|---|
PDM |
PDM signal input |
ALSA controls
This device has no controls.
DAI Configuration
The driver registers one DAI called ``adau7002``.
Supported DAI formats
Name |
Supported by driver |
Description |
|---|---|---|
SND_SOC_DAIFMT_I2S |
yes* |
I2S mode |
SND_SOC_DAIFMT_RIGHT_J |
no |
Right Justified mode |
SND_SOC_DAIFMT_LEFT_J |
no |
Left Justified mode |
SND_SOC_DAIFMT_DSP_A |
yes* |
data MSB after FRM LRC |
SND_SOC_DAIFMT_DSP_B |
no |
data MSB during FRM LRC |
SND_SOC_DAIFMT_AC97 |
no |
AC97 mode |
SND_SOC_DAIFMT_PDM |
no |
Pulse density modulation |
SND_SOC_DAIFMT_NB_NF |
yes |
Normal bit- and frameclock |
SND_SOC_DAIFMT_NB_IF |
no |
Normal bitclock, inverted frameclock |
SND_SOC_DAIFMT_IB_NF |
no |
Inverted frameclock, normal bitclock |
SND_SOC_DAIFMT_IB_IF |
no |
Inverted bit- and frameclock |
SND_SOC_DAIFMT_CBM_CFM |
yes |
Codec bit- and frameclock master |
SND_SOC_DAIFMT_CBS_CFM |
no |
Codec bitclock slave, frameclock master |
SND_SOC_DAIFMT_CBM_CFS |
no |
Codec bitclock master, frameclock slave |
SND_SOC_DAIFMT_CBS_CFS |
no |
Codec bit- and frameclock slave |
* The supported DAI format depends on the configuration of the CONFIG pin. When tied to IOVDD only SND_SOC_DAIFMT_I2S is supported, for all other settings only SND_SOC_DAIFMT_DSP_A is supported
More information
Need Help?