kernel/drivers/input/keyboard/gpio_keys.c

自己添加一个按键

vir_1 {

label = "virtual_1";

gpios = <&msm_gpio 15 0x0>;

linux,input-type = <1>; //上报的类型

linux,code = <250>;  //上报的键值

gpio-key,wakeup;

debounce-interval = <15>; //防反跳间隔时间 ms

};

gpios = <&msm_gpio 15 0x0>; // 0x0为未按下按键时的状态

可以用来做耳机插入检测:

rb_handset {

label = "handset_det";

gpios = <&msm_gpio 94 0x1>;

linux,input-type = <5>;

linux,code = <2>;

gpio-key,wakeup;

debounce-interval = <50>;

};

从中高通本身的耳机检测得到的类型和键值:kernel\sound\core\jack.c

kernel\sound\soc\soc-jack.c

--------------------------------------------2019-5-22-------------------------------------------------------------------

wcd_mbhc_mech_plug_detect_irq -> wcd_mbhc_swch_irq_handler->

wcd_cancel_hs_detect_plug---取消work-- correct_plug_swch(wcd_correct_swch_plug函数)

if(current_plug)--- 判断耳塞类型

wcd_mbhc_detect_plug_type ----如果目前是没有耳塞 -> wcd_schedule_hs_detect_plug->schedule_work(work);开始correct_plug_swch -> wcd_correct_swch_plug

wcd_correct_swch_plug里面做什么事情:

连续调用4次wcd_check_cross_conn检测塞子类型,如果是MBHC_PLUG_TYPE_GND_MIC_SWAP类型

高通按键驱动(gpio) + 耳机插入检测相关推荐

  1. 高通音频驱动录音流程(五)

    高通音频驱动录音流程(五) mixer path 设置过程分析 snd_soc_register_card 录音通路配置 调用tinycap命令时的音频播放流程 网上关于音频驱动的文章,大多是进行框架 ...

  2. 高通Camera 驱动调试要点(一)

    高通Camera 驱动调试要点(一)_bobuddy的博客-CSDN博客_camera 驱动调试

  3. 高通音频驱动录音流程(二)

    高通音频驱动录音流程(二) 目录 高通音频驱动录音流程(二) Front End CPU的注册 Front End Codec注册 Front End PCM的注册 Front End CPU的注册 ...

  4. 高通msm-V4L2-Camera驱动浅析5-buffer

    ##系列文章 高通msm-V4L2-Camera驱动浅析1-初识 高通msm-V4L2-Camera驱动浅析2-框架详解 高通msm-V4L2-Camera驱动浅析3-session 上一篇文章讲到传 ...

  5. 高通msm-V4L2-Camera驱动浅析1-初识

    ##系列文章 ##系列文章 高通msm-V4L2-Camera驱动浅析1-初识 高通msm-V4L2-Camera驱动浅析2-框架详解 高通msm-V4L2-Camera驱动浅析3-session 前 ...

  6. 高通msm-V4L2-Camera驱动浅析2-框架详解

    ##系列文章 ##系列文章 高通msm-V4L2-Camera驱动浅析1-初识 高通msm-V4L2-Camera驱动浅析2-框架详解 高通msm-V4L2-Camera驱动浅析3-session 前 ...

  7. 高通音频驱动录音流程(三)

    高通音频驱动录音流程(三) 目录 高通音频驱动录音流程(三) Back End CPU的注册 Back End Codec注册 Back End PCM的注册 Back End CPU的注册 vend ...

  8. 高通发布两款耳机芯片:支持主动降噪和语音助手功能

    3月26日消息,据国外媒体报道,高通公司日前发布了两款专为无线耳机设计的新型蓝牙芯片,即QCC514x和QCC304x SoC(System-on-a-Chip). 图片来自高通官网 QCC514x面 ...

  9. 高通-LCD驱动框架简述

    LCD驱动框架简述 目录 一 LCD硬件结构框架 二 不同的硬件结构LCD的驱动框架简述 三 RGB接口LCD驱动简述(以户外手机(Android5.1)为例) 3.1 硬件线路框架 3.2 软件驱动 ...

  10. 高通 msm平台GPIO相关的device tree设置

    转载自:http://blog.csdn.net/hongzg1982/article/details/47784627 GPIO相关的dvice tree设置和interrupt设置 gpoi号以及 ...

最新文章

  1. Matlab与线性代数 -- 方阵的行列式
  2. java.io与网络通信
  3. XCode修改工程名注意
  4. 《Unreal Engine 4蓝图可视化编程》一1.6 改变目标方向
  5. spring的单例回收
  6. UNIX环境C - 系统信号
  7. Network 之五 TCP/IP 协议族、工作流程、常用协议格式
  8. 【AtCoder - 4242 】To Infinity(思维)
  9. EasyUI-右键菜单变灰不可用效果
  10. docker4.9.0.9_Docker支持现实生活中的鲸鱼,通过投票确定Linux v4.0等
  11. 安居客检测到网页抓取_python3爬虫实战-安居客写字楼信息,学会月入上万理所当然...
  12. mysql.proc_升级后直接更改mysql.proc表
  13. java中的subString与SQL中的subString(作为常识应该记住的)
  14. SET FOREIGN_KEY_CHECKS = 0
  15. c++如何关闭进程,比如网吧收银系统
  16. 基于python的爬虫毕业论文_基于python网络爬虫及数据处理毕业论文 相关实例(示例源码)下载 - 好例子网...
  17. sqlplus执行语句报错:unknown command beginning解决方案
  18. google浏览器扩展翻译程序
  19. iDrac6 虚拟控制台 连接失败
  20. double浮点数转字符串算法

热门文章

  1. 什么是精神内耗,如何防止?
  2. python语音控制地图导航_基于python语音控制大疆创新EP机器人并进行对话——第一步学会录音...
  3. 大规模服务设计部署经验
  4. http请求状态码有哪些?分别代表什么意思?
  5. 电脑系统安装后桌面图标隔开很宽怎么调?
  6. Excise_Oop_abstract Interface
  7. JQuery(1)——JQuery如何读
  8. 3.破解百度翻译 输入keyWord返回对应翻译的数据
  9. Oracle 中数据类型变更无效 ---ora-22858:数据类型的变更无效 for clod
  10. 我的世界饮水系统服务器,MC水瓶 - 找服玩|Minecraft服务器列表