Merge remote-tracking branches 'asoc/topic/wm5100', 'asoc/topic/wm8523', 'asoc/topic/wm8731', 'asoc/topic/wm8737', 'asoc/topic/wm8741', 'asoc/topic/wm8753', 'asoc/topic/wm8903', 'asoc/topic/wm8904', 'asoc/topic/wm8940' and 'asoc/topic/wm8955' into asoc-next
This commit is contained in:
parent
ba67761c1a
0224ba6a01
fed08d94bf
9e74b14ad5
ca275811fd
70bad2c780
48b5e1fb88
a21bc5c5bd
d12bfd62fa
47ef34271b
54db41c116
commit
543f190ace
|
@ -506,21 +506,21 @@ static const char *wm5100_lhpf_mode_text[] = {
|
|||
"Low-pass", "High-pass"
|
||||
};
|
||||
|
||||
static const struct soc_enum wm5100_lhpf1_mode =
|
||||
SOC_ENUM_SINGLE(WM5100_HPLPF1_1, WM5100_LHPF1_MODE_SHIFT, 2,
|
||||
wm5100_lhpf_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(wm5100_lhpf1_mode,
|
||||
WM5100_HPLPF1_1, WM5100_LHPF1_MODE_SHIFT,
|
||||
wm5100_lhpf_mode_text);
|
||||
|
||||
static const struct soc_enum wm5100_lhpf2_mode =
|
||||
SOC_ENUM_SINGLE(WM5100_HPLPF2_1, WM5100_LHPF2_MODE_SHIFT, 2,
|
||||
wm5100_lhpf_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(wm5100_lhpf2_mode,
|
||||
WM5100_HPLPF2_1, WM5100_LHPF2_MODE_SHIFT,
|
||||
wm5100_lhpf_mode_text);
|
||||
|
||||
static const struct soc_enum wm5100_lhpf3_mode =
|
||||
SOC_ENUM_SINGLE(WM5100_HPLPF3_1, WM5100_LHPF3_MODE_SHIFT, 2,
|
||||
wm5100_lhpf_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(wm5100_lhpf3_mode,
|
||||
WM5100_HPLPF3_1, WM5100_LHPF3_MODE_SHIFT,
|
||||
wm5100_lhpf_mode_text);
|
||||
|
||||
static const struct soc_enum wm5100_lhpf4_mode =
|
||||
SOC_ENUM_SINGLE(WM5100_HPLPF4_1, WM5100_LHPF4_MODE_SHIFT, 2,
|
||||
wm5100_lhpf_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(wm5100_lhpf4_mode,
|
||||
WM5100_HPLPF4_1, WM5100_LHPF4_MODE_SHIFT,
|
||||
wm5100_lhpf_mode_text);
|
||||
|
||||
static const struct snd_kcontrol_new wm5100_snd_controls[] = {
|
||||
SOC_SINGLE("IN1 High Performance Switch", WM5100_IN1L_CONTROL,
|
||||
|
|
|
@ -75,8 +75,8 @@ static const char *wm8523_zd_count_text[] = {
|
|||
"2048",
|
||||
};
|
||||
|
||||
static const struct soc_enum wm8523_zc_count =
|
||||
SOC_ENUM_SINGLE(WM8523_ZERO_DETECT, 0, 2, wm8523_zd_count_text);
|
||||
static SOC_ENUM_SINGLE_DECL(wm8523_zc_count, WM8523_ZERO_DETECT, 0,
|
||||
wm8523_zd_count_text);
|
||||
|
||||
static const struct snd_kcontrol_new wm8523_controls[] = {
|
||||
SOC_DOUBLE_R_TLV("Playback Volume", WM8523_DAC_GAINL, WM8523_DAC_GAINR,
|
||||
|
|
|
@ -83,8 +83,8 @@ static bool wm8731_writeable(struct device *dev, unsigned int reg)
|
|||
|
||||
static const char *wm8731_input_select[] = {"Line In", "Mic"};
|
||||
|
||||
static const struct soc_enum wm8731_insel_enum =
|
||||
SOC_ENUM_SINGLE(WM8731_APANA, 2, 2, wm8731_input_select);
|
||||
static SOC_ENUM_SINGLE_DECL(wm8731_insel_enum,
|
||||
WM8731_APANA, 2, wm8731_input_select);
|
||||
|
||||
static int wm8731_deemph[] = { 0, 32000, 44100, 48000 };
|
||||
|
||||
|
|
|
@ -99,29 +99,29 @@ static const char *micbias_enum_text[] = {
|
|||
"100%",
|
||||
};
|
||||
|
||||
static const struct soc_enum micbias_enum =
|
||||
SOC_ENUM_SINGLE(WM8737_MIC_PREAMP_CONTROL, 0, 4, micbias_enum_text);
|
||||
static SOC_ENUM_SINGLE_DECL(micbias_enum,
|
||||
WM8737_MIC_PREAMP_CONTROL, 0, micbias_enum_text);
|
||||
|
||||
static const char *low_cutoff_text[] = {
|
||||
"Low", "High"
|
||||
};
|
||||
|
||||
static const struct soc_enum low_3d =
|
||||
SOC_ENUM_SINGLE(WM8737_3D_ENHANCE, 6, 2, low_cutoff_text);
|
||||
static SOC_ENUM_SINGLE_DECL(low_3d,
|
||||
WM8737_3D_ENHANCE, 6, low_cutoff_text);
|
||||
|
||||
static const char *high_cutoff_text[] = {
|
||||
"High", "Low"
|
||||
};
|
||||
|
||||
static const struct soc_enum high_3d =
|
||||
SOC_ENUM_SINGLE(WM8737_3D_ENHANCE, 5, 2, high_cutoff_text);
|
||||
static SOC_ENUM_SINGLE_DECL(high_3d,
|
||||
WM8737_3D_ENHANCE, 5, high_cutoff_text);
|
||||
|
||||
static const char *alc_fn_text[] = {
|
||||
"Disabled", "Right", "Left", "Stereo"
|
||||
};
|
||||
|
||||
static const struct soc_enum alc_fn =
|
||||
SOC_ENUM_SINGLE(WM8737_ALC1, 7, 4, alc_fn_text);
|
||||
static SOC_ENUM_SINGLE_DECL(alc_fn,
|
||||
WM8737_ALC1, 7, alc_fn_text);
|
||||
|
||||
static const char *alc_hold_text[] = {
|
||||
"0", "2.67ms", "5.33ms", "10.66ms", "21.32ms", "42.64ms", "85.28ms",
|
||||
|
@ -129,24 +129,24 @@ static const char *alc_hold_text[] = {
|
|||
"10.916s", "21.832s", "43.691s"
|
||||
};
|
||||
|
||||
static const struct soc_enum alc_hold =
|
||||
SOC_ENUM_SINGLE(WM8737_ALC2, 0, 16, alc_hold_text);
|
||||
static SOC_ENUM_SINGLE_DECL(alc_hold,
|
||||
WM8737_ALC2, 0, alc_hold_text);
|
||||
|
||||
static const char *alc_atk_text[] = {
|
||||
"8.4ms", "16.8ms", "33.6ms", "67.2ms", "134.4ms", "268.8ms", "537.6ms",
|
||||
"1.075s", "2.15s", "4.3s", "8.6s"
|
||||
};
|
||||
|
||||
static const struct soc_enum alc_atk =
|
||||
SOC_ENUM_SINGLE(WM8737_ALC3, 0, 11, alc_atk_text);
|
||||
static SOC_ENUM_SINGLE_DECL(alc_atk,
|
||||
WM8737_ALC3, 0, alc_atk_text);
|
||||
|
||||
static const char *alc_dcy_text[] = {
|
||||
"33.6ms", "67.2ms", "134.4ms", "268.8ms", "537.6ms", "1.075s", "2.15s",
|
||||
"4.3s", "8.6s", "17.2s", "34.41s"
|
||||
};
|
||||
|
||||
static const struct soc_enum alc_dcy =
|
||||
SOC_ENUM_SINGLE(WM8737_ALC3, 4, 11, alc_dcy_text);
|
||||
static SOC_ENUM_SINGLE_DECL(alc_dcy,
|
||||
WM8737_ALC3, 4, alc_dcy_text);
|
||||
|
||||
static const struct snd_kcontrol_new wm8737_snd_controls[] = {
|
||||
SOC_DOUBLE_R_TLV("Mic Boost Volume", WM8737_AUDIO_PATH_L, WM8737_AUDIO_PATH_R,
|
||||
|
@ -191,8 +191,8 @@ static const char *linsel_text[] = {
|
|||
"LINPUT1", "LINPUT2", "LINPUT3", "LINPUT1 DC",
|
||||
};
|
||||
|
||||
static const struct soc_enum linsel_enum =
|
||||
SOC_ENUM_SINGLE(WM8737_AUDIO_PATH_L, 7, 4, linsel_text);
|
||||
static SOC_ENUM_SINGLE_DECL(linsel_enum,
|
||||
WM8737_AUDIO_PATH_L, 7, linsel_text);
|
||||
|
||||
static const struct snd_kcontrol_new linsel_mux =
|
||||
SOC_DAPM_ENUM("LINSEL", linsel_enum);
|
||||
|
@ -202,8 +202,8 @@ static const char *rinsel_text[] = {
|
|||
"RINPUT1", "RINPUT2", "RINPUT3", "RINPUT1 DC",
|
||||
};
|
||||
|
||||
static const struct soc_enum rinsel_enum =
|
||||
SOC_ENUM_SINGLE(WM8737_AUDIO_PATH_R, 7, 4, rinsel_text);
|
||||
static SOC_ENUM_SINGLE_DECL(rinsel_enum,
|
||||
WM8737_AUDIO_PATH_R, 7, rinsel_text);
|
||||
|
||||
static const struct snd_kcontrol_new rinsel_mux =
|
||||
SOC_DAPM_ENUM("RINSEL", rinsel_enum);
|
||||
|
@ -212,15 +212,15 @@ static const char *bypass_text[] = {
|
|||
"Direct", "Preamp"
|
||||
};
|
||||
|
||||
static const struct soc_enum lbypass_enum =
|
||||
SOC_ENUM_SINGLE(WM8737_MIC_PREAMP_CONTROL, 2, 2, bypass_text);
|
||||
static SOC_ENUM_SINGLE_DECL(lbypass_enum,
|
||||
WM8737_MIC_PREAMP_CONTROL, 2, bypass_text);
|
||||
|
||||
static const struct snd_kcontrol_new lbypass_mux =
|
||||
SOC_DAPM_ENUM("Left Bypass", lbypass_enum);
|
||||
|
||||
|
||||
static const struct soc_enum rbypass_enum =
|
||||
SOC_ENUM_SINGLE(WM8737_MIC_PREAMP_CONTROL, 3, 2, bypass_text);
|
||||
static SOC_ENUM_SINGLE_DECL(rbypass_enum,
|
||||
WM8737_MIC_PREAMP_CONTROL, 3, bypass_text);
|
||||
|
||||
static const struct snd_kcontrol_new rbypass_mux =
|
||||
SOC_DAPM_ENUM("Left Bypass", rbypass_enum);
|
||||
|
@ -644,7 +644,7 @@ static const struct regmap_config wm8737_regmap = {
|
|||
.volatile_reg = wm8737_volatile,
|
||||
};
|
||||
|
||||
#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
|
||||
#if IS_ENABLED(CONFIG_I2C)
|
||||
static int wm8737_i2c_probe(struct i2c_client *i2c,
|
||||
const struct i2c_device_id *id)
|
||||
{
|
||||
|
@ -758,7 +758,7 @@ static struct spi_driver wm8737_spi_driver = {
|
|||
static int __init wm8737_modinit(void)
|
||||
{
|
||||
int ret;
|
||||
#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
|
||||
#if IS_ENABLED(CONFIG_I2C)
|
||||
ret = i2c_add_driver(&wm8737_i2c_driver);
|
||||
if (ret != 0) {
|
||||
printk(KERN_ERR "Failed to register WM8737 I2C driver: %d\n",
|
||||
|
@ -781,7 +781,7 @@ static void __exit wm8737_exit(void)
|
|||
#if defined(CONFIG_SPI_MASTER)
|
||||
spi_unregister_driver(&wm8737_spi_driver);
|
||||
#endif
|
||||
#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
|
||||
#if IS_ENABLED(CONFIG_I2C)
|
||||
i2c_del_driver(&wm8737_i2c_driver);
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ struct wm8741_priv {
|
|||
struct regmap *regmap;
|
||||
struct regulator_bulk_data supplies[WM8741_NUM_SUPPLIES];
|
||||
unsigned int sysclk;
|
||||
struct snd_pcm_hw_constraint_list *sysclk_constraints;
|
||||
const struct snd_pcm_hw_constraint_list *sysclk_constraints;
|
||||
};
|
||||
|
||||
static const struct reg_default wm8741_reg_defaults[] = {
|
||||
|
@ -122,74 +122,74 @@ static struct {
|
|||
{ 6, 768 },
|
||||
};
|
||||
|
||||
static unsigned int rates_11289[] = {
|
||||
static const unsigned int rates_11289[] = {
|
||||
44100, 88235,
|
||||
};
|
||||
|
||||
static struct snd_pcm_hw_constraint_list constraints_11289 = {
|
||||
static const struct snd_pcm_hw_constraint_list constraints_11289 = {
|
||||
.count = ARRAY_SIZE(rates_11289),
|
||||
.list = rates_11289,
|
||||
};
|
||||
|
||||
static unsigned int rates_12288[] = {
|
||||
static const unsigned int rates_12288[] = {
|
||||
32000, 48000, 96000,
|
||||
};
|
||||
|
||||
static struct snd_pcm_hw_constraint_list constraints_12288 = {
|
||||
static const struct snd_pcm_hw_constraint_list constraints_12288 = {
|
||||
.count = ARRAY_SIZE(rates_12288),
|
||||
.list = rates_12288,
|
||||
};
|
||||
|
||||
static unsigned int rates_16384[] = {
|
||||
static const unsigned int rates_16384[] = {
|
||||
32000,
|
||||
};
|
||||
|
||||
static struct snd_pcm_hw_constraint_list constraints_16384 = {
|
||||
static const struct snd_pcm_hw_constraint_list constraints_16384 = {
|
||||
.count = ARRAY_SIZE(rates_16384),
|
||||
.list = rates_16384,
|
||||
};
|
||||
|
||||
static unsigned int rates_16934[] = {
|
||||
static const unsigned int rates_16934[] = {
|
||||
44100, 88235,
|
||||
};
|
||||
|
||||
static struct snd_pcm_hw_constraint_list constraints_16934 = {
|
||||
static const struct snd_pcm_hw_constraint_list constraints_16934 = {
|
||||
.count = ARRAY_SIZE(rates_16934),
|
||||
.list = rates_16934,
|
||||
};
|
||||
|
||||
static unsigned int rates_18432[] = {
|
||||
static const unsigned int rates_18432[] = {
|
||||
48000, 96000,
|
||||
};
|
||||
|
||||
static struct snd_pcm_hw_constraint_list constraints_18432 = {
|
||||
static const struct snd_pcm_hw_constraint_list constraints_18432 = {
|
||||
.count = ARRAY_SIZE(rates_18432),
|
||||
.list = rates_18432,
|
||||
};
|
||||
|
||||
static unsigned int rates_22579[] = {
|
||||
static const unsigned int rates_22579[] = {
|
||||
44100, 88235, 1764000
|
||||
};
|
||||
|
||||
static struct snd_pcm_hw_constraint_list constraints_22579 = {
|
||||
static const struct snd_pcm_hw_constraint_list constraints_22579 = {
|
||||
.count = ARRAY_SIZE(rates_22579),
|
||||
.list = rates_22579,
|
||||
};
|
||||
|
||||
static unsigned int rates_24576[] = {
|
||||
static const unsigned int rates_24576[] = {
|
||||
32000, 48000, 96000, 192000
|
||||
};
|
||||
|
||||
static struct snd_pcm_hw_constraint_list constraints_24576 = {
|
||||
static const struct snd_pcm_hw_constraint_list constraints_24576 = {
|
||||
.count = ARRAY_SIZE(rates_24576),
|
||||
.list = rates_24576,
|
||||
};
|
||||
|
||||
static unsigned int rates_36864[] = {
|
||||
static const unsigned int rates_36864[] = {
|
||||
48000, 96000, 19200
|
||||
};
|
||||
|
||||
static struct snd_pcm_hw_constraint_list constraints_36864 = {
|
||||
static const struct snd_pcm_hw_constraint_list constraints_36864 = {
|
||||
.count = ARRAY_SIZE(rates_36864),
|
||||
.list = rates_36864,
|
||||
};
|
||||
|
|
|
@ -1440,7 +1440,6 @@ static void wm8753_work(struct work_struct *work)
|
|||
static int wm8753_suspend(struct snd_soc_codec *codec)
|
||||
{
|
||||
wm8753_set_bias_level(codec, SND_SOC_BIAS_OFF);
|
||||
codec->cache_sync = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -489,28 +489,28 @@ static const char *hpf_mode_text[] = {
|
|||
"Hi-fi", "Voice 1", "Voice 2", "Voice 3"
|
||||
};
|
||||
|
||||
static const struct soc_enum hpf_mode =
|
||||
SOC_ENUM_SINGLE(WM8903_ADC_DIGITAL_0, 5, 4, hpf_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(hpf_mode,
|
||||
WM8903_ADC_DIGITAL_0, 5, hpf_mode_text);
|
||||
|
||||
static const char *osr_text[] = {
|
||||
"Low power", "High performance"
|
||||
};
|
||||
|
||||
static const struct soc_enum adc_osr =
|
||||
SOC_ENUM_SINGLE(WM8903_ANALOGUE_ADC_0, 0, 2, osr_text);
|
||||
static SOC_ENUM_SINGLE_DECL(adc_osr,
|
||||
WM8903_ANALOGUE_ADC_0, 0, osr_text);
|
||||
|
||||
static const struct soc_enum dac_osr =
|
||||
SOC_ENUM_SINGLE(WM8903_DAC_DIGITAL_1, 0, 2, osr_text);
|
||||
static SOC_ENUM_SINGLE_DECL(dac_osr,
|
||||
WM8903_DAC_DIGITAL_1, 0, osr_text);
|
||||
|
||||
static const char *drc_slope_text[] = {
|
||||
"1", "1/2", "1/4", "1/8", "1/16", "0"
|
||||
};
|
||||
|
||||
static const struct soc_enum drc_slope_r0 =
|
||||
SOC_ENUM_SINGLE(WM8903_DRC_2, 3, 6, drc_slope_text);
|
||||
static SOC_ENUM_SINGLE_DECL(drc_slope_r0,
|
||||
WM8903_DRC_2, 3, drc_slope_text);
|
||||
|
||||
static const struct soc_enum drc_slope_r1 =
|
||||
SOC_ENUM_SINGLE(WM8903_DRC_2, 0, 6, drc_slope_text);
|
||||
static SOC_ENUM_SINGLE_DECL(drc_slope_r1,
|
||||
WM8903_DRC_2, 0, drc_slope_text);
|
||||
|
||||
static const char *drc_attack_text[] = {
|
||||
"instantaneous",
|
||||
|
@ -518,125 +518,125 @@ static const char *drc_attack_text[] = {
|
|||
"46.4ms", "92.8ms", "185.6ms"
|
||||
};
|
||||
|
||||
static const struct soc_enum drc_attack =
|
||||
SOC_ENUM_SINGLE(WM8903_DRC_1, 12, 11, drc_attack_text);
|
||||
static SOC_ENUM_SINGLE_DECL(drc_attack,
|
||||
WM8903_DRC_1, 12, drc_attack_text);
|
||||
|
||||
static const char *drc_decay_text[] = {
|
||||
"186ms", "372ms", "743ms", "1.49s", "2.97s", "5.94s", "11.89s",
|
||||
"23.87s", "47.56s"
|
||||
};
|
||||
|
||||
static const struct soc_enum drc_decay =
|
||||
SOC_ENUM_SINGLE(WM8903_DRC_1, 8, 9, drc_decay_text);
|
||||
static SOC_ENUM_SINGLE_DECL(drc_decay,
|
||||
WM8903_DRC_1, 8, drc_decay_text);
|
||||
|
||||
static const char *drc_ff_delay_text[] = {
|
||||
"5 samples", "9 samples"
|
||||
};
|
||||
|
||||
static const struct soc_enum drc_ff_delay =
|
||||
SOC_ENUM_SINGLE(WM8903_DRC_0, 5, 2, drc_ff_delay_text);
|
||||
static SOC_ENUM_SINGLE_DECL(drc_ff_delay,
|
||||
WM8903_DRC_0, 5, drc_ff_delay_text);
|
||||
|
||||
static const char *drc_qr_decay_text[] = {
|
||||
"0.725ms", "1.45ms", "5.8ms"
|
||||
};
|
||||
|
||||
static const struct soc_enum drc_qr_decay =
|
||||
SOC_ENUM_SINGLE(WM8903_DRC_1, 4, 3, drc_qr_decay_text);
|
||||
static SOC_ENUM_SINGLE_DECL(drc_qr_decay,
|
||||
WM8903_DRC_1, 4, drc_qr_decay_text);
|
||||
|
||||
static const char *drc_smoothing_text[] = {
|
||||
"Low", "Medium", "High"
|
||||
};
|
||||
|
||||
static const struct soc_enum drc_smoothing =
|
||||
SOC_ENUM_SINGLE(WM8903_DRC_0, 11, 3, drc_smoothing_text);
|
||||
static SOC_ENUM_SINGLE_DECL(drc_smoothing,
|
||||
WM8903_DRC_0, 11, drc_smoothing_text);
|
||||
|
||||
static const char *soft_mute_text[] = {
|
||||
"Fast (fs/2)", "Slow (fs/32)"
|
||||
};
|
||||
|
||||
static const struct soc_enum soft_mute =
|
||||
SOC_ENUM_SINGLE(WM8903_DAC_DIGITAL_1, 10, 2, soft_mute_text);
|
||||
static SOC_ENUM_SINGLE_DECL(soft_mute,
|
||||
WM8903_DAC_DIGITAL_1, 10, soft_mute_text);
|
||||
|
||||
static const char *mute_mode_text[] = {
|
||||
"Hard", "Soft"
|
||||
};
|
||||
|
||||
static const struct soc_enum mute_mode =
|
||||
SOC_ENUM_SINGLE(WM8903_DAC_DIGITAL_1, 9, 2, mute_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(mute_mode,
|
||||
WM8903_DAC_DIGITAL_1, 9, mute_mode_text);
|
||||
|
||||
static const char *companding_text[] = {
|
||||
"ulaw", "alaw"
|
||||
};
|
||||
|
||||
static const struct soc_enum dac_companding =
|
||||
SOC_ENUM_SINGLE(WM8903_AUDIO_INTERFACE_0, 0, 2, companding_text);
|
||||
static SOC_ENUM_SINGLE_DECL(dac_companding,
|
||||
WM8903_AUDIO_INTERFACE_0, 0, companding_text);
|
||||
|
||||
static const struct soc_enum adc_companding =
|
||||
SOC_ENUM_SINGLE(WM8903_AUDIO_INTERFACE_0, 2, 2, companding_text);
|
||||
static SOC_ENUM_SINGLE_DECL(adc_companding,
|
||||
WM8903_AUDIO_INTERFACE_0, 2, companding_text);
|
||||
|
||||
static const char *input_mode_text[] = {
|
||||
"Single-Ended", "Differential Line", "Differential Mic"
|
||||
};
|
||||
|
||||
static const struct soc_enum linput_mode_enum =
|
||||
SOC_ENUM_SINGLE(WM8903_ANALOGUE_LEFT_INPUT_1, 0, 3, input_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(linput_mode_enum,
|
||||
WM8903_ANALOGUE_LEFT_INPUT_1, 0, input_mode_text);
|
||||
|
||||
static const struct soc_enum rinput_mode_enum =
|
||||
SOC_ENUM_SINGLE(WM8903_ANALOGUE_RIGHT_INPUT_1, 0, 3, input_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(rinput_mode_enum,
|
||||
WM8903_ANALOGUE_RIGHT_INPUT_1, 0, input_mode_text);
|
||||
|
||||
static const char *linput_mux_text[] = {
|
||||
"IN1L", "IN2L", "IN3L"
|
||||
};
|
||||
|
||||
static const struct soc_enum linput_enum =
|
||||
SOC_ENUM_SINGLE(WM8903_ANALOGUE_LEFT_INPUT_1, 2, 3, linput_mux_text);
|
||||
static SOC_ENUM_SINGLE_DECL(linput_enum,
|
||||
WM8903_ANALOGUE_LEFT_INPUT_1, 2, linput_mux_text);
|
||||
|
||||
static const struct soc_enum linput_inv_enum =
|
||||
SOC_ENUM_SINGLE(WM8903_ANALOGUE_LEFT_INPUT_1, 4, 3, linput_mux_text);
|
||||
static SOC_ENUM_SINGLE_DECL(linput_inv_enum,
|
||||
WM8903_ANALOGUE_LEFT_INPUT_1, 4, linput_mux_text);
|
||||
|
||||
static const char *rinput_mux_text[] = {
|
||||
"IN1R", "IN2R", "IN3R"
|
||||
};
|
||||
|
||||
static const struct soc_enum rinput_enum =
|
||||
SOC_ENUM_SINGLE(WM8903_ANALOGUE_RIGHT_INPUT_1, 2, 3, rinput_mux_text);
|
||||
static SOC_ENUM_SINGLE_DECL(rinput_enum,
|
||||
WM8903_ANALOGUE_RIGHT_INPUT_1, 2, rinput_mux_text);
|
||||
|
||||
static const struct soc_enum rinput_inv_enum =
|
||||
SOC_ENUM_SINGLE(WM8903_ANALOGUE_RIGHT_INPUT_1, 4, 3, rinput_mux_text);
|
||||
static SOC_ENUM_SINGLE_DECL(rinput_inv_enum,
|
||||
WM8903_ANALOGUE_RIGHT_INPUT_1, 4, rinput_mux_text);
|
||||
|
||||
|
||||
static const char *sidetone_text[] = {
|
||||
"None", "Left", "Right"
|
||||
};
|
||||
|
||||
static const struct soc_enum lsidetone_enum =
|
||||
SOC_ENUM_SINGLE(WM8903_DAC_DIGITAL_0, 2, 3, sidetone_text);
|
||||
static SOC_ENUM_SINGLE_DECL(lsidetone_enum,
|
||||
WM8903_DAC_DIGITAL_0, 2, sidetone_text);
|
||||
|
||||
static const struct soc_enum rsidetone_enum =
|
||||
SOC_ENUM_SINGLE(WM8903_DAC_DIGITAL_0, 0, 3, sidetone_text);
|
||||
static SOC_ENUM_SINGLE_DECL(rsidetone_enum,
|
||||
WM8903_DAC_DIGITAL_0, 0, sidetone_text);
|
||||
|
||||
static const char *adcinput_text[] = {
|
||||
"ADC", "DMIC"
|
||||
};
|
||||
|
||||
static const struct soc_enum adcinput_enum =
|
||||
SOC_ENUM_SINGLE(WM8903_CLOCK_RATE_TEST_4, 9, 2, adcinput_text);
|
||||
static SOC_ENUM_SINGLE_DECL(adcinput_enum,
|
||||
WM8903_CLOCK_RATE_TEST_4, 9, adcinput_text);
|
||||
|
||||
static const char *aif_text[] = {
|
||||
"Left", "Right"
|
||||
};
|
||||
|
||||
static const struct soc_enum lcapture_enum =
|
||||
SOC_ENUM_SINGLE(WM8903_AUDIO_INTERFACE_0, 7, 2, aif_text);
|
||||
static SOC_ENUM_SINGLE_DECL(lcapture_enum,
|
||||
WM8903_AUDIO_INTERFACE_0, 7, aif_text);
|
||||
|
||||
static const struct soc_enum rcapture_enum =
|
||||
SOC_ENUM_SINGLE(WM8903_AUDIO_INTERFACE_0, 6, 2, aif_text);
|
||||
static SOC_ENUM_SINGLE_DECL(rcapture_enum,
|
||||
WM8903_AUDIO_INTERFACE_0, 6, aif_text);
|
||||
|
||||
static const struct soc_enum lplay_enum =
|
||||
SOC_ENUM_SINGLE(WM8903_AUDIO_INTERFACE_0, 5, 2, aif_text);
|
||||
static SOC_ENUM_SINGLE_DECL(lplay_enum,
|
||||
WM8903_AUDIO_INTERFACE_0, 5, aif_text);
|
||||
|
||||
static const struct soc_enum rplay_enum =
|
||||
SOC_ENUM_SINGLE(WM8903_AUDIO_INTERFACE_0, 4, 2, aif_text);
|
||||
static SOC_ENUM_SINGLE_DECL(rplay_enum,
|
||||
WM8903_AUDIO_INTERFACE_0, 4, aif_text);
|
||||
|
||||
static const struct snd_kcontrol_new wm8903_snd_controls[] = {
|
||||
|
||||
|
|
|
@ -552,18 +552,20 @@ static const char *input_mode_text[] = {
|
|||
"Single-Ended", "Differential Line", "Differential Mic"
|
||||
};
|
||||
|
||||
static const struct soc_enum lin_mode =
|
||||
SOC_ENUM_SINGLE(WM8904_ANALOGUE_LEFT_INPUT_1, 0, 3, input_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(lin_mode,
|
||||
WM8904_ANALOGUE_LEFT_INPUT_1, 0,
|
||||
input_mode_text);
|
||||
|
||||
static const struct soc_enum rin_mode =
|
||||
SOC_ENUM_SINGLE(WM8904_ANALOGUE_RIGHT_INPUT_1, 0, 3, input_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(rin_mode,
|
||||
WM8904_ANALOGUE_RIGHT_INPUT_1, 0,
|
||||
input_mode_text);
|
||||
|
||||
static const char *hpf_mode_text[] = {
|
||||
"Hi-fi", "Voice 1", "Voice 2", "Voice 3"
|
||||
};
|
||||
|
||||
static const struct soc_enum hpf_mode =
|
||||
SOC_ENUM_SINGLE(WM8904_ADC_DIGITAL_0, 5, 4, hpf_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(hpf_mode, WM8904_ADC_DIGITAL_0, 5,
|
||||
hpf_mode_text);
|
||||
|
||||
static int wm8904_adc_osr_put(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
|
@ -611,8 +613,7 @@ static const char *drc_path_text[] = {
|
|||
"ADC", "DAC"
|
||||
};
|
||||
|
||||
static const struct soc_enum drc_path =
|
||||
SOC_ENUM_SINGLE(WM8904_DRC_0, 14, 2, drc_path_text);
|
||||
static SOC_ENUM_SINGLE_DECL(drc_path, WM8904_DRC_0, 14, drc_path_text);
|
||||
|
||||
static const struct snd_kcontrol_new wm8904_dac_snd_controls[] = {
|
||||
SOC_SINGLE_TLV("Digital Playback Boost Volume",
|
||||
|
@ -858,14 +859,14 @@ static const char *lin_text[] = {
|
|||
"IN1L", "IN2L", "IN3L"
|
||||
};
|
||||
|
||||
static const struct soc_enum lin_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_ANALOGUE_LEFT_INPUT_1, 2, 3, lin_text);
|
||||
static SOC_ENUM_SINGLE_DECL(lin_enum, WM8904_ANALOGUE_LEFT_INPUT_1, 2,
|
||||
lin_text);
|
||||
|
||||
static const struct snd_kcontrol_new lin_mux =
|
||||
SOC_DAPM_ENUM("Left Capture Mux", lin_enum);
|
||||
|
||||
static const struct soc_enum lin_inv_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_ANALOGUE_LEFT_INPUT_1, 4, 3, lin_text);
|
||||
static SOC_ENUM_SINGLE_DECL(lin_inv_enum, WM8904_ANALOGUE_LEFT_INPUT_1, 4,
|
||||
lin_text);
|
||||
|
||||
static const struct snd_kcontrol_new lin_inv_mux =
|
||||
SOC_DAPM_ENUM("Left Capture Inveting Mux", lin_inv_enum);
|
||||
|
@ -874,14 +875,14 @@ static const char *rin_text[] = {
|
|||
"IN1R", "IN2R", "IN3R"
|
||||
};
|
||||
|
||||
static const struct soc_enum rin_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_ANALOGUE_RIGHT_INPUT_1, 2, 3, rin_text);
|
||||
static SOC_ENUM_SINGLE_DECL(rin_enum, WM8904_ANALOGUE_RIGHT_INPUT_1, 2,
|
||||
rin_text);
|
||||
|
||||
static const struct snd_kcontrol_new rin_mux =
|
||||
SOC_DAPM_ENUM("Right Capture Mux", rin_enum);
|
||||
|
||||
static const struct soc_enum rin_inv_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_ANALOGUE_RIGHT_INPUT_1, 4, 3, rin_text);
|
||||
static SOC_ENUM_SINGLE_DECL(rin_inv_enum, WM8904_ANALOGUE_RIGHT_INPUT_1, 4,
|
||||
rin_text);
|
||||
|
||||
static const struct snd_kcontrol_new rin_inv_mux =
|
||||
SOC_DAPM_ENUM("Right Capture Inveting Mux", rin_inv_enum);
|
||||
|
@ -890,26 +891,26 @@ static const char *aif_text[] = {
|
|||
"Left", "Right"
|
||||
};
|
||||
|
||||
static const struct soc_enum aifoutl_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_AUDIO_INTERFACE_0, 7, 2, aif_text);
|
||||
static SOC_ENUM_SINGLE_DECL(aifoutl_enum, WM8904_AUDIO_INTERFACE_0, 7,
|
||||
aif_text);
|
||||
|
||||
static const struct snd_kcontrol_new aifoutl_mux =
|
||||
SOC_DAPM_ENUM("AIFOUTL Mux", aifoutl_enum);
|
||||
|
||||
static const struct soc_enum aifoutr_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_AUDIO_INTERFACE_0, 6, 2, aif_text);
|
||||
static SOC_ENUM_SINGLE_DECL(aifoutr_enum, WM8904_AUDIO_INTERFACE_0, 6,
|
||||
aif_text);
|
||||
|
||||
static const struct snd_kcontrol_new aifoutr_mux =
|
||||
SOC_DAPM_ENUM("AIFOUTR Mux", aifoutr_enum);
|
||||
|
||||
static const struct soc_enum aifinl_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_AUDIO_INTERFACE_0, 5, 2, aif_text);
|
||||
static SOC_ENUM_SINGLE_DECL(aifinl_enum, WM8904_AUDIO_INTERFACE_0, 5,
|
||||
aif_text);
|
||||
|
||||
static const struct snd_kcontrol_new aifinl_mux =
|
||||
SOC_DAPM_ENUM("AIFINL Mux", aifinl_enum);
|
||||
|
||||
static const struct soc_enum aifinr_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_AUDIO_INTERFACE_0, 4, 2, aif_text);
|
||||
static SOC_ENUM_SINGLE_DECL(aifinr_enum, WM8904_AUDIO_INTERFACE_0, 4,
|
||||
aif_text);
|
||||
|
||||
static const struct snd_kcontrol_new aifinr_mux =
|
||||
SOC_DAPM_ENUM("AIFINR Mux", aifinr_enum);
|
||||
|
@ -991,26 +992,26 @@ static const char *out_mux_text[] = {
|
|||
"DAC", "Bypass"
|
||||
};
|
||||
|
||||
static const struct soc_enum hpl_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_ANALOGUE_OUT12_ZC, 3, 2, out_mux_text);
|
||||
static SOC_ENUM_SINGLE_DECL(hpl_enum, WM8904_ANALOGUE_OUT12_ZC, 3,
|
||||
out_mux_text);
|
||||
|
||||
static const struct snd_kcontrol_new hpl_mux =
|
||||
SOC_DAPM_ENUM("HPL Mux", hpl_enum);
|
||||
|
||||
static const struct soc_enum hpr_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_ANALOGUE_OUT12_ZC, 2, 2, out_mux_text);
|
||||
static SOC_ENUM_SINGLE_DECL(hpr_enum, WM8904_ANALOGUE_OUT12_ZC, 2,
|
||||
out_mux_text);
|
||||
|
||||
static const struct snd_kcontrol_new hpr_mux =
|
||||
SOC_DAPM_ENUM("HPR Mux", hpr_enum);
|
||||
|
||||
static const struct soc_enum linel_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_ANALOGUE_OUT12_ZC, 1, 2, out_mux_text);
|
||||
static SOC_ENUM_SINGLE_DECL(linel_enum, WM8904_ANALOGUE_OUT12_ZC, 1,
|
||||
out_mux_text);
|
||||
|
||||
static const struct snd_kcontrol_new linel_mux =
|
||||
SOC_DAPM_ENUM("LINEL Mux", linel_enum);
|
||||
|
||||
static const struct soc_enum liner_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_ANALOGUE_OUT12_ZC, 0, 2, out_mux_text);
|
||||
static SOC_ENUM_SINGLE_DECL(liner_enum, WM8904_ANALOGUE_OUT12_ZC, 0,
|
||||
out_mux_text);
|
||||
|
||||
static const struct snd_kcontrol_new liner_mux =
|
||||
SOC_DAPM_ENUM("LINER Mux", liner_enum);
|
||||
|
@ -1019,14 +1020,14 @@ static const char *sidetone_text[] = {
|
|||
"None", "Left", "Right"
|
||||
};
|
||||
|
||||
static const struct soc_enum dacl_sidetone_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_DAC_DIGITAL_0, 2, 3, sidetone_text);
|
||||
static SOC_ENUM_SINGLE_DECL(dacl_sidetone_enum, WM8904_DAC_DIGITAL_0, 2,
|
||||
sidetone_text);
|
||||
|
||||
static const struct snd_kcontrol_new dacl_sidetone_mux =
|
||||
SOC_DAPM_ENUM("Left Sidetone Mux", dacl_sidetone_enum);
|
||||
|
||||
static const struct soc_enum dacr_sidetone_enum =
|
||||
SOC_ENUM_SINGLE(WM8904_DAC_DIGITAL_0, 0, 3, sidetone_text);
|
||||
static SOC_ENUM_SINGLE_DECL(dacr_sidetone_enum, WM8904_DAC_DIGITAL_0, 0,
|
||||
sidetone_text);
|
||||
|
||||
static const struct snd_kcontrol_new dacr_sidetone_mux =
|
||||
SOC_DAPM_ENUM("Right Sidetone Mux", dacr_sidetone_enum);
|
||||
|
|
|
@ -154,22 +154,22 @@ static const struct reg_default wm8940_reg_defaults[] = {
|
|||
};
|
||||
|
||||
static const char *wm8940_companding[] = { "Off", "NC", "u-law", "A-law" };
|
||||
static const struct soc_enum wm8940_adc_companding_enum
|
||||
= SOC_ENUM_SINGLE(WM8940_COMPANDINGCTL, 1, 4, wm8940_companding);
|
||||
static const struct soc_enum wm8940_dac_companding_enum
|
||||
= SOC_ENUM_SINGLE(WM8940_COMPANDINGCTL, 3, 4, wm8940_companding);
|
||||
static SOC_ENUM_SINGLE_DECL(wm8940_adc_companding_enum,
|
||||
WM8940_COMPANDINGCTL, 1, wm8940_companding);
|
||||
static SOC_ENUM_SINGLE_DECL(wm8940_dac_companding_enum,
|
||||
WM8940_COMPANDINGCTL, 3, wm8940_companding);
|
||||
|
||||
static const char *wm8940_alc_mode_text[] = {"ALC", "Limiter"};
|
||||
static const struct soc_enum wm8940_alc_mode_enum
|
||||
= SOC_ENUM_SINGLE(WM8940_ALC3, 8, 2, wm8940_alc_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(wm8940_alc_mode_enum,
|
||||
WM8940_ALC3, 8, wm8940_alc_mode_text);
|
||||
|
||||
static const char *wm8940_mic_bias_level_text[] = {"0.9", "0.65"};
|
||||
static const struct soc_enum wm8940_mic_bias_level_enum
|
||||
= SOC_ENUM_SINGLE(WM8940_INPUTCTL, 8, 2, wm8940_mic_bias_level_text);
|
||||
static SOC_ENUM_SINGLE_DECL(wm8940_mic_bias_level_enum,
|
||||
WM8940_INPUTCTL, 8, wm8940_mic_bias_level_text);
|
||||
|
||||
static const char *wm8940_filter_mode_text[] = {"Audio", "Application"};
|
||||
static const struct soc_enum wm8940_filter_mode_enum
|
||||
= SOC_ENUM_SINGLE(WM8940_ADC, 7, 2, wm8940_filter_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(wm8940_filter_mode_enum,
|
||||
WM8940_ADC, 7, wm8940_filter_mode_text);
|
||||
|
||||
static DECLARE_TLV_DB_SCALE(wm8940_spk_vol_tlv, -5700, 100, 1);
|
||||
static DECLARE_TLV_DB_SCALE(wm8940_att_tlv, -1000, 1000, 0);
|
||||
|
|
|
@ -416,22 +416,21 @@ static const char *bass_mode_text[] = {
|
|||
"Linear", "Adaptive",
|
||||
};
|
||||
|
||||
static const struct soc_enum bass_mode =
|
||||
SOC_ENUM_SINGLE(WM8955_BASS_CONTROL, 7, 2, bass_mode_text);
|
||||
static SOC_ENUM_SINGLE_DECL(bass_mode, WM8955_BASS_CONTROL, 7, bass_mode_text);
|
||||
|
||||
static const char *bass_cutoff_text[] = {
|
||||
"Low", "High"
|
||||
};
|
||||
|
||||
static const struct soc_enum bass_cutoff =
|
||||
SOC_ENUM_SINGLE(WM8955_BASS_CONTROL, 6, 2, bass_cutoff_text);
|
||||
static SOC_ENUM_SINGLE_DECL(bass_cutoff, WM8955_BASS_CONTROL, 6,
|
||||
bass_cutoff_text);
|
||||
|
||||
static const char *treble_cutoff_text[] = {
|
||||
"High", "Low"
|
||||
};
|
||||
|
||||
static const struct soc_enum treble_cutoff =
|
||||
SOC_ENUM_SINGLE(WM8955_TREBLE_CONTROL, 6, 2, treble_cutoff_text);
|
||||
static SOC_ENUM_SINGLE_DECL(treble_cutoff, WM8955_TREBLE_CONTROL, 2,
|
||||
treble_cutoff_text);
|
||||
|
||||
static const DECLARE_TLV_DB_SCALE(digital_tlv, -12750, 50, 1);
|
||||
static const DECLARE_TLV_DB_SCALE(atten_tlv, -600, 600, 0);
|
||||
|
|
Loading…
Reference in New Issue