apq8064: MBHC single button detection not working

Modify MBHC Button values to make MBHC button detect work

Change-Id: I6eeefed49124c876946677b02902fa1fd675a40a
Signed-off-by: Swaminathan Sathappan <Swami@codeaurora.org>
This commit is contained in:
Swaminathan Sathappan
2012-02-29 12:55:55 -08:00
committed by Linux Build Service Account
parent 54a02757a5
commit 4ea7f1a00a

View File

@@ -55,7 +55,7 @@
#define TABLA_EXT_CLK_RATE 12288000
#define TABLA_MBHC_DEF_BUTTONS 3
#define TABLA_MBHC_DEF_BUTTONS 8
#define TABLA_MBHC_DEF_RLOADS 5
static u32 top_spk_pamp_gpio = PM8921_GPIO_PM_TO_SYS(18);
@@ -604,7 +604,7 @@ static void *def_tabla_mbhc_cal(void)
void *tabla_cal;
struct tabla_mbhc_btn_detect_cfg *btn_cfg;
u16 *btn_low, *btn_high;
u8 *n_cic, *gain;
u8 *n_ready, *n_cic, *gain;
tabla_cal = kzalloc(TABLA_MBHC_CAL_SIZE(TABLA_MBHC_DEF_BUTTONS,
TABLA_MBHC_DEF_RLOADS),
@@ -625,25 +625,21 @@ static void *def_tabla_mbhc_cal(void)
S(mic_current, TABLA_PID_MIC_5_UA);
S(hph_current, TABLA_PID_MIC_5_UA);
S(t_mic_pid, 100);
S(t_ins_complete, 1000);
S(t_ins_complete, 250);
S(t_ins_retry, 200);
#undef S
#define S(X, Y) ((TABLA_MBHC_CAL_PLUG_TYPE_PTR(tabla_cal)->X) = (Y))
S(v_no_mic, 30);
S(v_hs_max, 1450);
S(v_hs_max, 1550);
#undef S
#define S(X, Y) ((TABLA_MBHC_CAL_BTN_DET_PTR(tabla_cal)->X) = (Y))
S(c[0], 6);
S(c[1], 10);
S(c[2], 10);
S(c[3], 14);
S(c[4], 14);
S(c[5], 16);
S(c[6], 0);
S(c[7], 0);
S(nc, 5);
S(n_meas, 11);
S(c[0], 62);
S(c[1], 124);
S(nc, 1);
S(n_meas, 3);
S(mbhc_nsc, 11);
S(n_btn_meas, 1);
S(n_btn_con, 2);
S(num_btn, TABLA_MBHC_DEF_BUTTONS);
S(v_btn_press_delta_sta, 100);
S(v_btn_press_delta_cic, 50);
@@ -651,15 +647,28 @@ static void *def_tabla_mbhc_cal(void)
btn_cfg = TABLA_MBHC_CAL_BTN_DET_PTR(tabla_cal);
btn_low = tabla_mbhc_cal_btn_det_mp(btn_cfg, TABLA_BTN_DET_V_BTN_LOW);
btn_high = tabla_mbhc_cal_btn_det_mp(btn_cfg, TABLA_BTN_DET_V_BTN_HIGH);
btn_low[0] = 0;
btn_high[0] = 40;
btn_low[1] = 60;
btn_high[1] = 140;
btn_low[2] = 160;
btn_high[2] = 240;
btn_low[0] = -50;
btn_high[0] = 10;
btn_low[1] = 11;
btn_high[1] = 38;
btn_low[2] = 39;
btn_high[2] = 64;
btn_low[3] = 65;
btn_high[3] = 91;
btn_low[4] = 92;
btn_high[4] = 115;
btn_low[5] = 116;
btn_high[5] = 141;
btn_low[6] = 142;
btn_high[6] = 163;
btn_low[7] = 164;
btn_high[7] = 250;
n_ready = tabla_mbhc_cal_btn_det_mp(btn_cfg, TABLA_BTN_DET_N_READY);
n_ready[0] = 48;
n_ready[1] = 38;
n_cic = tabla_mbhc_cal_btn_det_mp(btn_cfg, TABLA_BTN_DET_N_CIC);
n_cic[0] = 120;
n_cic[1] = 94;
n_cic[0] = 60;
n_cic[1] = 47;
gain = tabla_mbhc_cal_btn_det_mp(btn_cfg, TABLA_BTN_DET_GAIN);
gain[0] = 11;
gain[1] = 9;
@@ -777,7 +786,7 @@ static int msm_audrx_init(struct snd_soc_pcm_runtime *rtd)
}
err = snd_soc_jack_new(codec, "Button Jack",
SND_JACK_BTN_0, &button_jack);
TABLA_JACK_BUTTON_MASK, &button_jack);
if (err) {
pr_err("failed to create new jack\n");
return err;