ASoC: rt5682s: Add driver for ALC5682I-VS codec
This is an initial codec driver for Realtek ALC5682I-VS codec. Signed-off-by: Derek Fang <derek.fang@realtek.com> Signed-off-by: Derek Fang <derek.fang@realtek.com<mailto:derek.fang@realtek.com>> Link: https://lore.kernel.org/r/20210831130258.19286-1-derek.fang@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
d67bbdda25
commit
bdd229ab26
48
include/sound/rt5682s.h
Normal file
48
include/sound/rt5682s.h
Normal file
@ -0,0 +1,48 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* linux/sound/rt5682s.h -- Platform data for RT5682I-VS
|
||||
*
|
||||
* Copyright 2021 Realtek Microelectronics
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_SND_RT5682S_H
|
||||
#define __LINUX_SND_RT5682S_H
|
||||
|
||||
enum rt5682s_dmic1_data_pin {
|
||||
RT5682S_DMIC1_DATA_NULL,
|
||||
RT5682S_DMIC1_DATA_GPIO2,
|
||||
RT5682S_DMIC1_DATA_GPIO5,
|
||||
};
|
||||
|
||||
enum rt5682s_dmic1_clk_pin {
|
||||
RT5682S_DMIC1_CLK_NULL,
|
||||
RT5682S_DMIC1_CLK_GPIO1,
|
||||
RT5682S_DMIC1_CLK_GPIO3,
|
||||
};
|
||||
|
||||
enum rt5682s_jd_src {
|
||||
RT5682S_JD_NULL,
|
||||
RT5682S_JD1,
|
||||
};
|
||||
|
||||
enum rt5682s_dai_clks {
|
||||
RT5682S_DAI_WCLK_IDX,
|
||||
RT5682S_DAI_BCLK_IDX,
|
||||
RT5682S_DAI_NUM_CLKS,
|
||||
};
|
||||
|
||||
struct rt5682s_platform_data {
|
||||
|
||||
int ldo1_en; /* GPIO for LDO1_EN */
|
||||
|
||||
enum rt5682s_dmic1_data_pin dmic1_data_pin;
|
||||
enum rt5682s_dmic1_clk_pin dmic1_clk_pin;
|
||||
enum rt5682s_jd_src jd_src;
|
||||
unsigned int dmic_clk_rate;
|
||||
unsigned int dmic_delay;
|
||||
bool dmic_clk_driving_high;
|
||||
|
||||
const char *dai_clk_names[RT5682S_DAI_NUM_CLKS];
|
||||
};
|
||||
|
||||
#endif
|
@ -180,6 +180,7 @@ config SND_SOC_ALL_CODECS
|
||||
imply SND_SOC_RT5677
|
||||
imply SND_SOC_RT5682_I2C
|
||||
imply SND_SOC_RT5682_SDW
|
||||
imply SND_SOC_RT5682S
|
||||
imply SND_SOC_RT700_SDW
|
||||
imply SND_SOC_RT711_SDW
|
||||
imply SND_SOC_RT711_SDCA_SDW
|
||||
@ -1249,6 +1250,10 @@ config SND_SOC_RT5682_SDW
|
||||
select SND_SOC_RT5682
|
||||
select REGMAP_SOUNDWIRE
|
||||
|
||||
config SND_SOC_RT5682S
|
||||
tristate
|
||||
depends on I2C
|
||||
|
||||
config SND_SOC_RT700
|
||||
tristate
|
||||
|
||||
|
@ -198,6 +198,7 @@ snd-soc-rt5677-spi-objs := rt5677-spi.o
|
||||
snd-soc-rt5682-objs := rt5682.o
|
||||
snd-soc-rt5682-sdw-objs := rt5682-sdw.o
|
||||
snd-soc-rt5682-i2c-objs := rt5682-i2c.o
|
||||
snd-soc-rt5682s-objs := rt5682s.o
|
||||
snd-soc-rt700-objs := rt700.o rt700-sdw.o
|
||||
snd-soc-rt711-objs := rt711.o rt711-sdw.o
|
||||
snd-soc-rt711-sdca-objs := rt711-sdca.o rt711-sdca-sdw.o
|
||||
@ -526,6 +527,7 @@ obj-$(CONFIG_SND_SOC_RT5677_SPI) += snd-soc-rt5677-spi.o
|
||||
obj-$(CONFIG_SND_SOC_RT5682) += snd-soc-rt5682.o
|
||||
obj-$(CONFIG_SND_SOC_RT5682_I2C) += snd-soc-rt5682-i2c.o
|
||||
obj-$(CONFIG_SND_SOC_RT5682_SDW) += snd-soc-rt5682-sdw.o
|
||||
obj-$(CONFIG_SND_SOC_RT5682S) += snd-soc-rt5682s.o
|
||||
obj-$(CONFIG_SND_SOC_RT700) += snd-soc-rt700.o
|
||||
obj-$(CONFIG_SND_SOC_RT711) += snd-soc-rt711.o
|
||||
obj-$(CONFIG_SND_SOC_RT711_SDCA_SDW) += snd-soc-rt711-sdca.o
|
||||
|
3188
sound/soc/codecs/rt5682s.c
Normal file
3188
sound/soc/codecs/rt5682s.c
Normal file
File diff suppressed because it is too large
Load Diff
1455
sound/soc/codecs/rt5682s.h
Normal file
1455
sound/soc/codecs/rt5682s.h
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user