From: 邱建斌 Date: Tue, 24 May 2011 08:15:58 +0000 (+0800) Subject: rk29_phone_a22:wm8994 解决通话功放产生到噪音 X-Git-Tag: firefly_0821_release~10284 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=819bb75b377748ba5bb390a51541c985af4c3e02;p=firefly-linux-kernel-4.4.55.git rk29_phone_a22:wm8994 解决通话功放产生到噪音 --- diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c index 41c042baadf7..47543a00ef92 100755 --- a/sound/soc/codecs/wm8994.c +++ b/sound/soc/codecs/wm8994.c @@ -1383,7 +1383,7 @@ void mainMIC_to_baseband_to_speakers(void) wm8994_write(0x602, 0x0001); // wm8994_write(0x24, 0x0011); //volume - wm8994_write(0x25, 0x003F); +// wm8994_write(0x25, 0x003F); wm8994_write(0x610, 0x01C0); //DAC1 Left Volume bit0~7 wm8994_write(0x611, 0x01C0); //DAC1 Right Volume bit0~7 wm8994_set_channel_vol(); @@ -1460,7 +1460,7 @@ void BT_baseband(void) wm8994_write(0x300, 0xC010); //DSP/PCM; 16bits; ADC L channel = R channel;MODE A wm8994_write(0x200, 0x0001); //AIF2CLK use FLL2 -/* wm8994_write(0x204, 0x0000); + wm8994_write(0x204, 0x0000); msleep(WM8994_DELAY); wm8994_write(0x240, 0x0000); wm8994_write(0x241, 0x2F00);//48 @@ -1480,15 +1480,15 @@ void BT_baseband(void) wm8994_write(0x314, 0x0080); // SMbus_16inx_16dat Write 0x34 * AIF2 ADCLRCK DIV-----BCLK/128 wm8994_write(0x315, 0x0080); wm8994_write(0x310, 0x0118); //DSP/PCM; 16bits; ADC L channel = R channel;MODE A - wm8994_write(0x204, 0x00019); // SMbus_16inx_16dat Write 0x34 * AIF2 Clocking (1)(204H): 0011 AIF2CLK_SRC=10, AIF2CLK_INV=0, AIF2CLK_DIV=0, AIF2CLK_ENA=1 -*/ - + wm8994_write(0x204, 0x0019); // SMbus_16inx_16dat Write 0x34 * AIF2 Clocking (1)(204H): 0011 AIF2CLK_SRC=10, AIF2CLK_INV=0, AIF2CLK_DIV=0, AIF2CLK_ENA=1 + +/* wm8994_write(0x310, 0x0118); wm8994_write(0x204, 0x0001); wm8994_write(0x208, 0x000F); wm8994_write(0x211, 0x0009); wm8994_write(0x312, 0x7000); - wm8994_write(0x313, 0x00F0); + wm8994_write(0x313, 0x00F0); */ //GPIO wm8994_write(0x702, 0x2100); @@ -2473,6 +2473,7 @@ int snd_soc_put_route(struct snd_kcontrol *kcontrol, { case HEADSET_NORMAL: case HEADSET_INCALL: + case EARPIECE_INCALL: PA_ctrl(GPIO_LOW); break; default: @@ -2546,6 +2547,7 @@ int snd_soc_put_route(struct snd_kcontrol *kcontrol, //enable PA switch(route) { + case EARPIECE_INCALL: case HEADSET_NORMAL: case HEADSET_INCALL: case BLUETOOTH_A2DP_NORMAL: