音频耳机 (D) MBHC 耳机插入和测试程序
最编程
2024-04-20 13:41:57
...
耳机插拔检测逻辑
codec通过检测硬件监控MBHC hsdet引脚上的电压,并在耳机插入或拔出插头时向中断控制器生成中断(更新寄存器)。
HPH_L输出脚 被上拉至内部电流源拉高至接近1.8 V,或者通过10 kΩ电阻下拉将该引脚上的电压拉低至接近0 V,具体取决于设备上的插孔类型。
对于NC型插孔,未插入插头时,连接器的HS-DET和HPH-L引脚短接在一起,从而在MBHC_HSDET引脚上产生逻辑低电压。
将插头完全插入插孔后,断开连接器的HS-DET和HPH-L引脚,内部电流源将MBHC hsdet引脚上的电压拉高至1.8 V,并翻转比较器输出以触发中断信号。
拔出插头后,MBHC_HSDET引脚上的电压下降,导致比较器的输出逻辑改变,并向中断控制器生成中断信号。
对于NO型插孔,MBHC hsdet引脚上的电压与NC型插孔壳体相反。
未插入插头时,MBHC_HSDET引脚上的电压通过133 kΩ(5%)电阻拉高至1.8 V外部电源。当耳机插孔连接器的HS-DET和HPH-L插脚短路时,
插头完全插入后,通过WCD HPH_L输出插脚上的集成10 kΩ将其拉低,接近接地电压。
插孔类型的结存器:0x14A;
设备树中的配置项:
qcom,msm-mbhc-hphl-swh = <1>; //0是NC,1是NO
插拔状态寄存器:0x14B
0x14B 寄存器bit2可用于确定MBHC耳机插头(插入或拔出)的状态。 0 是插入,1是拔出;
耳机插拔检测代码实现