コード例 #1
0
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);
	}
}
コード例 #2
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;
		}
	}
}
コード例 #4
0
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;
	}
}
コード例 #5
0
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;
		}
	}
}