ASoC updates
cover ASoC updates
The following changes since commit 6de45d5d776d2a7e7a9adc8ea49d37fe1bd45fb2:
Takashi Iwai (1):
ALSA: ASoC - Fix DAI registration in s3c2443-ac97.c
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-tiwai
Mark Brown (1):
ASoC: Fix variable name for Blackfin I2S DAI
Stanley.Miao (1):
ASoC: TWL4030: hands-free start-up sequence.
sound/soc/blackfin/bf5xx-i2s.c | 4 ++-- sound/soc/codecs/twl4030.c | 34 ++++++++++++++++++++++++++++++---- sound/soc/codecs/twl4030.h | 6 ++++++ 3 files changed, 38 insertions(+), 6 deletions(-)
PATCH 1/2 ASoC: Fix variable name for Blackfin I2S DAI
--- sound/soc/blackfin/bf5xx-i2s.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
sound/soc/blackfin/bf5xx-i2s.c +2 -2
@@ -315,13 +315,13 @@ EXPORT_SYMBOL_GPL(bf5xx_i2s_dai);static int __init bfin_i2s_init (void ) { -return snd_soc_register_dai (&bfin_i2s_dai); +return snd_soc_register_dai (&bf5xx_i2s_dai); }module_init (bfin_i2s_init); static void __exit bfin_i2s_exit(void) { -snd_soc_unregister_dai (&bfin_i2s_dai); +snd_soc_unregister_dai (&bf5xx_i2s_dai); }module_exit (bfin_i2s_exit);
Signature · 1 line
1.5.6.5
PATCH 2/2 ASoC: TWL4030: hands-free start-up sequence.
From: Stanley.Miao <[email protected]>
A special start-up sequence is required to reduce the pop-noise of Class D amplifier when enable hands-free on TWL4030.
--- sound/soc/codecs/twl4030.c | 34 ++++++++++++++++++++++++++++++---- sound/soc/codecs/twl4030.h | 6 ++++++ 2 files changed, 36 insertions(+), 4 deletions(-)
sound/soc/codecs/twl4030.c +30 -4
@@ -322,6 +322,30 @@ static int outmixer_event(struct snd_soc_dapm_widget *w,return ret; } +static int handsfree_event (struct snd_soc_dapm_widget *w, +struct snd_kcontrol *kcontrol,int event) +{ +struct soc_enum *e = (struct soc_enum *)w->kcontrols->private_value; +unsigned char hs_ctl; + + hs_ctl =twl4030_read_reg_cache (w->codec, e->reg); + +if (hs_ctl &TWL4030_HF_CTL_REF_EN ) { + hs_ctl |=TWL4030_HF_CTL_RAMP_EN ; +twl4030_write (w->codec, e->reg, hs_ctl); + hs_ctl |=TWL4030_HF_CTL_LOOP_EN ; +twl4030_write (w->codec, e->reg, hs_ctl); + hs_ctl |=TWL4030_HF_CTL_HB_EN ; +twl4030_write (w->codec, e->reg, hs_ctl); + }else { + hs_ctl &= ~(TWL4030_HF_CTL_RAMP_EN |TWL4030_HF_CTL_LOOP_EN + |TWL4030_HF_CTL_HB_EN ); +twl4030_write (w->codec, e->reg, hs_ctl); + } + +return 0 ; +} +/* * Some of the gain controls in TWL (mostly those which are associated with * the outputs) are implemented in an interesting way:
@@ -806,10 +830,12 @@ static const struct snd_soc_dapm_widget twl4030_dapm_widgets[] = {SND_SOC_DAPM_MUX ("CarkitR Mux" ,SND_SOC_NOPM ,0 ,0 , &twl4030_dapm_carkitr_control),/* HandsfreeL/R */ -SND_SOC_DAPM_MUX ("HandsfreeL Mux" ,TWL4030_REG_HFL_CTL ,5 ,0 , - &twl4030_dapm_handsfreel_control), -SND_SOC_DAPM_MUX ("HandsfreeR Mux" ,TWL4030_REG_HFR_CTL ,5 ,0 , - &twl4030_dapm_handsfreer_control), +SND_SOC_DAPM_MUX_E ("HandsfreeL Mux" ,TWL4030_REG_HFL_CTL ,5 ,0 , + &twl4030_dapm_handsfreel_control, handsfree_event, +SND_SOC_DAPM_POST_PMU |SND_SOC_DAPM_POST_PMD ), +SND_SOC_DAPM_MUX_E ("HandsfreeR Mux" ,TWL4030_REG_HFR_CTL ,5 ,0 , + &twl4030_dapm_handsfreer_control, handsfree_event, +SND_SOC_DAPM_POST_PMU |SND_SOC_DAPM_POST_PMD ),SND_SOC_DAPM_ADC ("ADCL" ,"Left Capture" ,SND_SOC_NOPM ,0 ,0 ), SND_SOC_DAPM_ADC("ADCR", "Right Capture", SND_SOC_NOPM, 0, 0),
sound/soc/codecs/twl4030.h +6 -0
@@ -191,6 +191,12 @@#define TWL4030_RAMP_DELAY_2581MS 0x1C#define TWL4030_RAMP_EN 0x02 +/* HFL_CTL (0x29, 0x2A) Fields */ +#define TWL4030_HF_CTL_HB_EN 0x04 +#define TWL4030_HF_CTL_LOOP_EN 0x08 +#define TWL4030_HF_CTL_RAMP_EN 0x10 +#define TWL4030_HF_CTL_REF_EN 0x20 +/* APLL_CTL (0x3A) Fields */ #define TWL4030_APLL_EN 0x10
Signature · 1 line
1.5.6.5
At Thu, 11 Dec 2008 16:17:52 +0000,
Quoted 8 lines · Mark Brown
The following changes since commit
6de45d5d776d2a7e7a9adc8ea49d37fe1bd45fb2:
Takashi Iwai (1):
ALSA: ASoC - Fix DAI registration ins3c2443-ac97.care available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.gitfor-tiwai
Pulled now. Thanks.
Takashi
Quoted 11 lines
Mark Brown (1):
ASoC: Fix variable name for Blackfin I2S DAIStanley.Miao (1):
ASoC: TWL4030: hands-free start-up sequence.sound/soc/blackfin/bf5xx-i2s.c | 4 ++-- sound/soc/codecs/twl4030.c | 34 ++++++++++++++++++++++++++++++---- sound/soc/codecs/twl4030.h | 6 ++++++ 3 files changed, 38 insertions(+), 6 deletions(-)