mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
ASoC: Add ADAU1373 codec support
This patch adds support for the Analog Devices ADAU1373 audio codec. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
f0b182b003
commit
ddd7a26094
34
include/sound/adau1373.h
Normal file
34
include/sound/adau1373.h
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Analog Devices ADAU1373 Audio Codec drive
|
||||
*
|
||||
* Copyright 2011 Analog Devices Inc.
|
||||
* Author: Lars-Peter Clausen <lars@metafoo.de>
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef __SOUND_ADAU1373_H__
|
||||
#define __SOUND_ADAU1373_H__
|
||||
|
||||
enum adau1373_micbias_voltage {
|
||||
ADAU1373_MICBIAS_2_9V = 0,
|
||||
ADAU1373_MICBIAS_2_2V = 1,
|
||||
ADAU1373_MICBIAS_2_6V = 2,
|
||||
ADAU1373_MICBIAS_1_8V = 3,
|
||||
};
|
||||
|
||||
#define ADAU1373_DRC_SIZE 13
|
||||
|
||||
struct adau1373_platform_data {
|
||||
bool input_differential[4];
|
||||
bool lineout_differential;
|
||||
bool lineout_ground_sense;
|
||||
|
||||
unsigned int num_drc;
|
||||
uint8_t drc_setting[3][ADAU1373_DRC_SIZE];
|
||||
|
||||
enum adau1373_micbias_voltage micbias1;
|
||||
enum adau1373_micbias_voltage micbias2;
|
||||
};
|
||||
|
||||
#endif
|
@ -17,6 +17,7 @@ config SND_SOC_ALL_CODECS
|
||||
select SND_SOC_AD193X if SND_SOC_I2C_AND_SPI
|
||||
select SND_SOC_AD1980 if SND_SOC_AC97_BUS
|
||||
select SND_SOC_AD73311
|
||||
select SND_SOC_ADAU1373 if I2C
|
||||
select SND_SOC_ADAV80X
|
||||
select SND_SOC_ADS117X
|
||||
select SND_SOC_AK4104 if SPI_MASTER
|
||||
@ -139,6 +140,9 @@ config SND_SOC_ADAU1701
|
||||
select SIGMA
|
||||
tristate
|
||||
|
||||
config SND_SOC_ADAU1373
|
||||
tristate
|
||||
|
||||
config SND_SOC_ADAV80X
|
||||
tristate
|
||||
|
||||
|
@ -5,6 +5,7 @@ snd-soc-ad193x-objs := ad193x.o
|
||||
snd-soc-ad1980-objs := ad1980.o
|
||||
snd-soc-ad73311-objs := ad73311.o
|
||||
snd-soc-adau1701-objs := adau1701.o
|
||||
snd-soc-adau1373-objs := adau1373.o
|
||||
snd-soc-adav80x-objs := adav80x.o
|
||||
snd-soc-ads117x-objs := ads117x.o
|
||||
snd-soc-ak4104-objs := ak4104.o
|
||||
@ -100,6 +101,7 @@ obj-$(CONFIG_SND_SOC_AD1836) += snd-soc-ad1836.o
|
||||
obj-$(CONFIG_SND_SOC_AD193X) += snd-soc-ad193x.o
|
||||
obj-$(CONFIG_SND_SOC_AD1980) += snd-soc-ad1980.o
|
||||
obj-$(CONFIG_SND_SOC_AD73311) += snd-soc-ad73311.o
|
||||
obj-$(CONFIG_SND_SOC_ADAU1373) += snd-soc-adau1373.o
|
||||
obj-$(CONFIG_SND_SOC_ADAU1701) += snd-soc-adau1701.o
|
||||
obj-$(CONFIG_SND_SOC_ADAV80X) += snd-soc-adav80x.o
|
||||
obj-$(CONFIG_SND_SOC_ADS117X) += snd-soc-ads117x.o
|
||||
|
1414
sound/soc/codecs/adau1373.c
Normal file
1414
sound/soc/codecs/adau1373.c
Normal file
File diff suppressed because it is too large
Load Diff
29
sound/soc/codecs/adau1373.h
Normal file
29
sound/soc/codecs/adau1373.h
Normal file
@ -0,0 +1,29 @@
|
||||
#ifndef __ADAU1373_H__
|
||||
#define __ADAU1373_H__
|
||||
|
||||
enum adau1373_pll_src {
|
||||
ADAU1373_PLL_SRC_MCLK1 = 0,
|
||||
ADAU1373_PLL_SRC_BCLK1 = 1,
|
||||
ADAU1373_PLL_SRC_BCLK2 = 2,
|
||||
ADAU1373_PLL_SRC_BCLK3 = 3,
|
||||
ADAU1373_PLL_SRC_LRCLK1 = 4,
|
||||
ADAU1373_PLL_SRC_LRCLK2 = 5,
|
||||
ADAU1373_PLL_SRC_LRCLK3 = 6,
|
||||
ADAU1373_PLL_SRC_GPIO1 = 7,
|
||||
ADAU1373_PLL_SRC_GPIO2 = 8,
|
||||
ADAU1373_PLL_SRC_GPIO3 = 9,
|
||||
ADAU1373_PLL_SRC_GPIO4 = 10,
|
||||
ADAU1373_PLL_SRC_MCLK2 = 11,
|
||||
};
|
||||
|
||||
enum adau1373_pll {
|
||||
ADAU1373_PLL1 = 0,
|
||||
ADAU1373_PLL2 = 1,
|
||||
};
|
||||
|
||||
enum adau1373_clk_src {
|
||||
ADAU1373_CLK_SRC_PLL1 = 0,
|
||||
ADAU1373_CLK_SRC_PLL2 = 1,
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user