RK3288 android切换耳麦通道

通过耳机状态切换耳机mic与板子麦
/work/rk3288/firefly-rk3288_android5.1_git_20180126/kernel/sound/soc/codecs/es8323.c

static int es8323_hp_jack_change(struct notifier_block *nb,
    unsigned long flags, void *data)
{
        if(es8323_adc)
             hp_jack_adc(flags);
        else{
            if(es8323_mic_state == 0) {
                    if(flags == 1){
                    /* carroll add switch mic start */
                    printk("carroll mic use extern board mic switch off\n");
                    //snd_soc_write(es8323_codec, 0x0b,0x02);
                    snd_soc_write(es8323_codec, 0x0b,0x82);
                     /* carroll add switch mic end */
                    }else {
                    printk("carroll mic use intern board mic switch on\n");
                    snd_soc_write(es8323_codec, 0x0b,0x02);
                    }
            if(line_in_state == 1) spk_detect_do_switch(1);
            }
        }
    return NOTIFY_OK;
}


static struct notifier_block es8323_hp_jack_nb = {
    .notifier_call = es8323_hp_jack_change,
};
static void es8323_jack_init(struct snd_soc_codec *codec)
{
    if(es8323_hp_det_gpio  != INVALID_GPIO)
    {
        firefly_es8323_hp_jack_gpio.gpio = es8323_hp_det_gpio;
        snd_soc_jack_new(codec, "Headphone Jack", SND_JACK_HEADPHONE,
                &firefly_es8323_hp_jack);
        snd_soc_jack_add_gpios(&firefly_es8323_hp_jack,
                1,
                &firefly_es8323_hp_jack_gpio);
        snd_soc_jack_notifier_register(&firefly_es8323_hp_jack, &es8323_hp_jack_nb);
    }

}

 

转载于:https://www.cnblogs.com/CZM-/p/9588550.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值