From 7ffa5b7ca5a61613c3cfdc11dca29d0d5c4fb516 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=82=B1=E5=BB=BA=E6=96=8C?= Date: Mon, 4 Jul 2011 17:47:36 +0800 Subject: [PATCH] =?utf8?q?rk29=5Fphone:1=E3=80=81Changes=20began=20to=20cl?= =?utf8?q?ose=20the=20codec's=20strategy=20to=20control=20android=20=202?= =?utf8?q?=E3=80=81Modify=20i2c=20stop=20delay=2070us=20=203=E3=80=81Lower?= =?utf8?q?=20SPK=20volume=20to=20-26DB?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- arch/arm/mach-rk29/board-rk29-a22.c | 2 +- drivers/i2c/busses/i2c-rk29.c | 2 +- sound/soc/codecs/wm8994.c | 23 +---------------------- 3 files changed, 3 insertions(+), 24 deletions(-) diff --git a/arch/arm/mach-rk29/board-rk29-a22.c b/arch/arm/mach-rk29/board-rk29-a22.c index 92f023d996ca..e058a65e6ea4 100755 --- a/arch/arm/mach-rk29/board-rk29-a22.c +++ b/arch/arm/mach-rk29/board-rk29-a22.c @@ -1543,7 +1543,7 @@ struct wm8994_pdata wm8994_platdata = { .speaker_incall_vol = 0, .speaker_incall_mic_vol = -9, - .speaker_normal_vol = 6, + .speaker_normal_vol = -26, .earpiece_incall_vol = 0, .headset_incall_vol = 6, .headset_incall_mic_vol = -6, diff --git a/drivers/i2c/busses/i2c-rk29.c b/drivers/i2c/busses/i2c-rk29.c index a2b5b30d3d51..e4b4b157b664 100755 --- a/drivers/i2c/busses/i2c-rk29.c +++ b/drivers/i2c/busses/i2c-rk29.c @@ -38,7 +38,7 @@ /*max ACK delay time = RK29_I2C_ACK_TIMEOUT_COUNT * RK29_UDELAY_TIME(scl_rate) us */ #define RK29_I2C_ACK_TIMEOUT_COUNT (100 * 1000) /*max STOP delay time = RK29_I2C_STOP_TIMEOUT_COUNT * RK29_UDELAY_TIME(scl_rate) us */ -#define RK29_I2C_STOP_TIMEOUT_COUNT 1000 +#define RK29_I2C_STOP_TIMEOUT_COUNT 70//1000 /*max START delay time = RK29_I2C_START_TIMEOUT_COUNT * RK29_UDELAY_TIME(scl_rate) us */ #define RK29_I2C_START_TIMEOUT_COUNT 1000 diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c index 36d12acb5426..ea2a29015084 100755 --- a/sound/soc/codecs/wm8994.c +++ b/sound/soc/codecs/wm8994.c @@ -148,7 +148,6 @@ struct wm8994_priv { struct delayed_work wm8994_delayed_work; int work_type; - char First_Poweron; unsigned int playback_active:1; unsigned int capture_active:1; @@ -2695,14 +2694,7 @@ int snd_soc_put_route(struct snd_kcontrol *kcontrol, char route = kcontrol->private_value & 0xff; mutex_lock(&wm8994->route_lock); wm8994->kcontrol = kcontrol;//save rount - - if(wm8994->First_Poweron == 1 && route == SPEAKER_NORMAL ) - {//First start & Poweron mast disable wm8994 - PA_ctrl(GPIO_LOW); - wm8994_write(0,0); - msleep(50); - goto out; - } + //before set the route -- disable PA switch(route) { @@ -3044,18 +3036,6 @@ static void wm8994_work_fun(struct work_struct *work) mutex_unlock(&wm8994->route_lock); break; case SNDRV_PCM_TRIGGER_START: - if(wm8994->First_Poweron == 1) - { - DBG("wm8994 First_Poweron shutup\n"); - wm8994->First_Poweron = 0; - if(wm8994->kcontrol->private_value != SPEAKER_NORMAL) - { - // DBG("wm8994->kcontrol->private_value != SPEAKER_NORMAL\n"); - return; - } - wm8994_current_mode = null; - snd_soc_put_route(wm8994->kcontrol,NULL); - } break; case SNDRV_PCM_TRIGGER_RESUME: msleep(100); @@ -3543,7 +3523,6 @@ static int wm8994_i2c_probe(struct i2c_client *i2c, wm8994->RW_status = TRUE;//add wm8994->capture_active = 0; wm8994->playback_active = 0; - wm8994->First_Poweron = 1; wm8994->call_vol = call_maxvol; wm8994->BT_call_vol = BT_call_maxvol; INIT_DELAYED_WORK(&wm8994->wm8994_delayed_work, wm8994_work_fun); -- 2.34.1