void speedy_snddev_hs_spk_pamp_on(int en) { pr_info("%s %d\n", __func__, en); if (en) { vreg_ncp_enable(1); pm8058_spkr_gpio_cfg(1); mdelay(30); set_speaker_headset_amp(1); } else { set_speaker_headset_amp(0); pm8058_spkr_gpio_cfg(0); vreg_ncp_enable(0); } }
void doubleshot_snddev_hs_spk_pamp_on(int en) { pr_info("%s %d\n", __func__, en); if (en) { /* enable rx route */ switch (system_rev) { case XA_DEV: gpio_set_value(PM8058_GPIO_PM_TO_SYS(DOUBLESHOT_AUD_SPK_ENO), 1); gpio_set_value(PM8058_GPIO_PM_TO_SYS(DOUBLESHOT_AUD_HANDSET_ENO), 1); break; case XB_DEV: case XC_DEV: default: gpio_set_value(PM8058_GPIO_PM_TO_SYS(DOUBLESHOT_AUD_HANDSET_ENO), 1); msleep(50); set_speaker_headset_amp(1); break; } if (!atomic_read(&aic3254_ctl)) { curr_rx_mode |= BIT_SPEAKER; curr_rx_mode |= BIT_HEADSET; } } else { /* disable rx route */ switch (system_rev) { case XA_DEV: gpio_set_value(PM8058_GPIO_PM_TO_SYS(DOUBLESHOT_AUD_SPK_ENO), 0); gpio_set_value(PM8058_GPIO_PM_TO_SYS(DOUBLESHOT_AUD_HANDSET_ENO), 0); break; case XB_DEV: case XC_DEV: default: set_speaker_headset_amp(0); gpio_set_value(PM8058_GPIO_PM_TO_SYS(DOUBLESHOT_AUD_HANDSET_ENO), 0); break; } if (!atomic_read(&aic3254_ctl)) { curr_rx_mode &= ~BIT_SPEAKER; curr_rx_mode &= ~BIT_HEADSET; } } }
void holiday_snddev_hs_spk_pamp_on(int en) { pr_aud_info("%s %d\n", __func__, en); if (en) { gpio_set_value(PM8058_GPIO_PM_TO_SYS(HOLIDAY_AUD_HANDSET_ENO), 1); msleep(50); set_speaker_headset_amp(1); if (!atomic_read(&aic3254_ctl)) { curr_rx_mode |= BIT_SPEAKER; curr_rx_mode |= BIT_HEADSET; } } else { set_speaker_headset_amp(0); gpio_set_value(PM8058_GPIO_PM_TO_SYS(HOLIDAY_AUD_HANDSET_ENO), 0); if (!atomic_read(&aic3254_ctl)) { curr_rx_mode &= ~BIT_SPEAKER; curr_rx_mode &= ~BIT_HEADSET; } } }
void rider_snddev_hs_spk_pamp_on(int en) { rider_snddev_poweramp_on(en); if (en) { /* enable rx route */ msleep(30); gpio_set_value(PM8058_GPIO_PM_TO_SYS(RIDER_AUD_HANDSET_ENO), 1); set_speaker_headset_amp(1); if (!atomic_read(&aic3254_ctl)) curr_rx_mode |= BIT_HEADSET; msleep(5); } else { /* disable rx route */ set_speaker_headset_amp(0); gpio_set_value(PM8058_GPIO_PM_TO_SYS(RIDER_AUD_HANDSET_ENO), 0); if (!atomic_read(&aic3254_ctl)) curr_rx_mode &= ~BIT_HEADSET; } }
void doubleshot_snddev_hs_spk_pamp_on(int en) { pr_aud_info("%s %d\n", __func__, en); if (en) { msleep(50); gpio_direction_output(PM8058_GPIO_PM_TO_SYS(DOUBLESHOT_AUD_HP_EN), 1); set_speaker_headset_amp(1); if (!atomic_read(&aic3254_ctl)) { curr_rx_mode |= BIT_SPEAKER; curr_rx_mode |= BIT_HEADSET; } } else { set_speaker_headset_amp(0); gpio_direction_output(PM8058_GPIO_PM_TO_SYS(DOUBLESHOT_AUD_HP_EN), 0); if (!atomic_read(&aic3254_ctl)) { curr_rx_mode &= ~BIT_SPEAKER; curr_rx_mode &= ~BIT_HEADSET; } } }