mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 04:34:11 +08:00
ASoC: rt5645: add DAC1 soft volume func control
This patch add an alsa control for DAC1 digital volume control function selection. The options are: 0: Gain update immediately 1: Gain update when a zero crossing 2: Gain update when a zero crossing with a soft ramp Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
e62ebf156f
commit
467b147982
@ -741,6 +741,14 @@ static int rt5645_spk_put_volsw(struct snd_kcontrol *kcontrol,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const char * const rt5645_dac1_vol_ctrl_mode_text[] = {
|
||||
"immediately", "zero crossing", "soft ramp"
|
||||
};
|
||||
|
||||
static SOC_ENUM_SINGLE_DECL(
|
||||
rt5645_dac1_vol_ctrl_mode, RT5645_PR_BASE,
|
||||
RT5645_DA1_ZDET_SFT, rt5645_dac1_vol_ctrl_mode_text);
|
||||
|
||||
static const struct snd_kcontrol_new rt5645_snd_controls[] = {
|
||||
/* Speaker Output Volume */
|
||||
SOC_DOUBLE("Speaker Channel Switch", RT5645_SPK_VOL,
|
||||
@ -807,6 +815,9 @@ static const struct snd_kcontrol_new rt5645_snd_controls[] = {
|
||||
SOC_SINGLE("I2S2 Func Switch", RT5645_GPIO_CTRL1, RT5645_I2S2_SEL_SFT,
|
||||
1, 1),
|
||||
RT5645_HWEQ("Speaker HWEQ"),
|
||||
|
||||
/* Digital Soft Volume Control */
|
||||
SOC_ENUM("DAC1 Digital Volume Control Func", rt5645_dac1_vol_ctrl_mode),
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -2018,6 +2018,9 @@
|
||||
|
||||
|
||||
/* Codec Private Register definition */
|
||||
/* DAC ADC Digital Volume (0x00) */
|
||||
#define RT5645_DA1_ZDET_SFT 6
|
||||
|
||||
/* 3D Speaker Control (0x63) */
|
||||
#define RT5645_3D_SPK_MASK (0x1 << 15)
|
||||
#define RT5645_3D_SPK_SFT 15
|
||||
|
Loading…
Reference in New Issue
Block a user