void mecha_snddev_receiver_pamp_on(int en)
{
	pr_info("%s %d\n", __func__, en);
	if (en) {
		mdelay(20);
		gpio_set_value(MECHA_GPIO_AUD_AMP_EN, 1);
		set_handset_amp(1);
		if (!atomic_read(&aic3254_ctl))
			curr_rx_mode |= BIT_RECEIVER;
	} else {
		set_handset_amp(0);
		gpio_set_value(MECHA_GPIO_AUD_AMP_EN, 0);
		if (!atomic_read(&aic3254_ctl))
			curr_rx_mode &= ~BIT_RECEIVER;
	}
}
void runnymede_snddev_receiver_pamp_on(int en)
{
	pr_aud_info("%s %d\n", __func__, en);
	if (en) {
		gpio_set_value(PM8058_GPIO_PM_TO_SYS(runnymede_AUD_AMP_EN), 1);
		mdelay(20);
		set_handset_amp(1);
		if (!atomic_read(&aic3254_ctl))
			curr_rx_mode |= BIT_RECEIVER;
	} else {
		set_handset_amp(0);
		gpio_set_value(PM8058_GPIO_PM_TO_SYS(runnymede_AUD_AMP_EN), 0);
		if (!atomic_read(&aic3254_ctl))
			curr_rx_mode &= ~BIT_RECEIVER;
	}
}
void rider_snddev_receiver_pamp_on(int en)
{
	pr_aud_info("%s %d\n", __func__, en);
	if (en) {
		/* enable rx route */
		gpio_set_value(PM8058_GPIO_PM_TO_SYS(RIDER_AUD_HANDSET_ENO), 1);
		set_handset_amp(1);
		if (!atomic_read(&aic3254_ctl))
			curr_rx_mode |= BIT_RECEIVER;
	} else {
		/* disable rx route */
		set_handset_amp(0);
		gpio_set_value(PM8058_GPIO_PM_TO_SYS(RIDER_AUD_HANDSET_ENO), 0);
		if (!atomic_read(&aic3254_ctl))
			curr_rx_mode &= ~BIT_RECEIVER;
	}
}
void doubleshot_snddev_receiver_pamp_on(int en)
{
	pr_aud_info("%s %d\n", __func__, en);
	if (en) {
		/* enable rx route */
		if (system_rev == XA_DEV) {
			set_handset_amp(1);
			gpio_set_value(PM8058_GPIO_PM_TO_SYS(DOUBLESHOT_AUD_HANDSET_ENO), 1);
		}
		if (!atomic_read(&aic3254_ctl))
			curr_rx_mode |= BIT_RECEIVER;
	} else {
		/* disable rx route */
		if (system_rev == XA_DEV) {
			set_handset_amp(0);
			gpio_set_value(PM8058_GPIO_PM_TO_SYS(DOUBLESHOT_AUD_HANDSET_ENO), 0);
		}
		if (!atomic_read(&aic3254_ctl))
			curr_rx_mode &= ~BIT_RECEIVER;
	}
}
void shooter_u_snddev_receiver_pamp_on(int en)
{
	pr_aud_info("%s %d\n", __func__, en);
	if (en) {
		/* enable rx route */
		gpio_request(PM8058_GPIO_PM_TO_SYS(SHOOTER_U_AUD_HP_EN),
						"AUD_HP_EN");
		gpio_direction_output(PM8058_GPIO_PM_TO_SYS(SHOOTER_U_AUD_HP_EN), 1);
		set_handset_amp(1);
		if (!atomic_read(&aic3254_ctl))
			curr_rx_mode |= BIT_RECEIVER;
	} else {
		/* disable rx route */
		set_handset_amp(0);
		gpio_request(PM8058_GPIO_PM_TO_SYS(SHOOTER_U_AUD_HP_EN),
						"AUD_HP_EN");
		gpio_direction_output(PM8058_GPIO_PM_TO_SYS(SHOOTER_U_AUD_HP_EN), 0);
		if (!atomic_read(&aic3254_ctl))
			curr_rx_mode &= ~BIT_RECEIVER;
	}
}
void mecha_snddev_receiver_pamp_on(int en)
{
	pr_aud_info("%s %d\n", __func__, en);
	if (en) {
		mdelay(20);
		/*gpio_set_value(MECHA_GPIO_AUD_AMP_EN, 1);*/
		gpio_request(MECHA_GPIO_AUD_AMP_EN,"HP_AMP_EN");
		gpio_direction_output(MECHA_GPIO_AUD_AMP_EN, 1);
		set_handset_amp(1);
		if (!atomic_read(&aic3254_ctl))
			curr_rx_mode |= BIT_RECEIVER;
		mdelay(60);
	} else {
		set_handset_amp(0);
		/*gpio_set_value(MECHA_GPIO_AUD_AMP_EN, 0);*/
		gpio_request(MECHA_GPIO_AUD_AMP_EN,"HP_AMP_EN");
		gpio_direction_output(MECHA_GPIO_AUD_AMP_EN, 0);
		if (!atomic_read(&aic3254_ctl))
			curr_rx_mode &= ~BIT_RECEIVER;
	}
}