RK 公版 SDK 包含两种耳机检测处理:
- Hook ADC 模式:硬件上 HOOK 直接接到 ADC ,根据 ADC 获取的电压值来区分三段四段耳机类型。
流程框图:
- Hook Interrupt 模式:硬件上 HOOK 直接接 RK 芯片端的一个 GPIO 口,通过中断的方式来区分三段四段耳机类型。
流程框图:
耳机检测代码路径:
kernel/drivers/headset_observe
DTS配置
//RK3399_kernel4.4 adc检测模式:
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp.dts b/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp.dts
old mode 100644
new mode 100755
index 92f50db..d3317fd
--- a/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp.dts