extcon驱动及其在USB驱动中的应用

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

🚀 优质资源分享 🚀

学习路线指引(点击解锁) 知识定位 人群定位
🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

extcon,是External Connector的简称,用于抽象外部连接器,比如说Audio Jack、USB MicroB/TypeC接口等。它的原型是Android的switch-class驱动,经过修改后在kernel 3.4.0版本时被引入内核中。

Extcon (external connector): import Android’s switch class and modify.

External connector class (extcon) is based on and an extension of Android kernel’s switch class located at linux/drivers/

【高通平台USB模块】USB端口出口介绍二 本文仅仅简单介绍了高通平台USB模块端口出口的简单介绍,欢迎大家学习和指导。 阅读详情

相关推荐

告别驱动间“硬编码”通信:用Linux extcon框架重构你的外设状态管理(附DTS配置与API详解)

本文深入解析Linux extcon框架如何重构外设状态管理,解决驱动间硬编码通信问题。通过标准化接口和事件驱动架构,extcon实现硬件解耦与状态集中管理,显著提升代码可维护性。文章详细讲解API使用、DTS配置及调试技巧,助力开发者高效处理USB、耳机等多外设连接场景。

weixin_33393017的博客 414

23-Host驱动11:Extcon框架与角色切换

Extcon(External Connectors)驱动是Linux内核中用于管理外部连接器状态变化的框架。在USB子系统中,Extcon主要用于检测USB连接器的插入/拔出事件,并将状态变化通知给相关驱动,实现USB角色切换(Host/Device)和充电检测等功能。源码位置在Extcon出现之前,USB控制器驱动需要直接处理不同接口类型的检测:fill:#333;important;important;fill:none;color:#333;color:#333;important;

内核笔记 34

USB充电插拔事件上报机制_usb gpio extcon device

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

2401_83641098的博客 1023

extcon学习记录

extcon学习记录

qq_44705141的博客 2552

Linux extcon驱动学习

最近在chg驱动usb驱动中经常看见extcon的踪影,打算整理汇总一下extcon相关的知识。 extcon:External Connector framework 从名字看主要表征外部连接器的,通过gpio状态去识别外部连接器的类型,并通知关心外部连接器状态的驱动。 主要驱动代码路径: kernel/msm-4.19/include/linux/extcon.h kernel/msm-4.19/drivers/extcon 从下图中可以看到常见的usb 充电 显示接口 耳机等等都可以使用extco

TNT的博客 7576

Android 12展锐SL8541平台USB转串口实战:从硬件引脚到APP权限的完整避坑指南

本文详细解析了在Android 12展锐SL8541平台上实现USB转串口功能的完整开发流程,涵盖硬件引脚配置、内核驱动加载及APP访问权限设置等关键环节。针对开发中常见的SELinux权限问题,提供了具体的解决方案和调试技巧,帮助开发者高效完成USB转串口功能开发。

weixin_30697239的博客 167

java学习记录(while for switch语法结构)

Java语言学习 基础知识 java是强类型语言,所以所有变量必须先定义后使用。 标识符是大小敏感的; 在java语言中,对于变量、常量、函数和语句块也有名字,我们统统称之为标识符。 数据类型: 1个字节等于8位二进制 String 定义字符串 while 循环 for 循环 do while 循环 常用快捷键: ```java -public static void main(String[] args//psvm) -System.out.println()//sout `` ...

heart2070292037的博客 173

USB充电插拔事件上报机制

probe = usb_extcon_probe, // probe 函数,驱动匹配到了对应的设备后会调用此函数.remove = usb_extcon_remove, // 设备移除后会调用此函数.of_match_table = usb_extcon_dt_match, // 用于匹配dts文件里的设备,如果有compatible 相同的设备后才会调用probe 函数},// 该驱动的入口函数接着查看probe 函数,里面有两个中断,分别是id-gpio和 vbus-gpio...

meng1100的专栏 2680

usb协作驱动

如果dr_mode为host,需要初始化xHCI驱动。在dwc3_host_init函数的最后调用platform_device_add(xhci)添加platform device(xhci-hcd),用于匹配xHCI driver(xHCI driver为platform driver),1)在xhci_plat_init中调用platform_driver_register(&usb_xhci_driver)注册platform driver(“xhci-hcd”)

wangyongh的博客 1297

保姆级教程:在RK3568开发板上为自定义硬件添加extcon驱动支持

本文详细介绍了在RK3568开发板上为自定义硬件添加extcon驱动支持的完整流程。从extcon框架的核心概念解析到设备树配置、驱动代码实现,再到调试与状态监控,提供了保姆级教程。特别适合嵌入式开发者在Linux内核中管理多种外部连接器状态,如耳机接口、电源输入等。

weixin_33700350的博客 437

usb3.0驱动linux,dwc3 linux usb3.0 driver架构

dwc3 linux usb3.0 driver架构: 1. DRD driverDRD驱动usb/dwc31.1 dtsdwc3@44000000 {/* Compatible ID used by the Linux driver for this kind of device */compatible = "snps,dwc3";/* Register bank location: Add...

weixin_39908106的博客 1800

Linux extcon驱动实战:从框架解析到USB-C状态管理

本文深入解析Linux extcon驱动框架,从基础概念到USB-C状态管理实战,详细介绍了extcon驱动的核心功能、状态检测机制及USB-C双角色切换的实现。通过代码示例和调试技巧,帮助开发者掌握extcon驱动在Linux内核中的应用,提升USB-C设备管理的效率与稳定性。

weixin_26854829的博客 323

展锐USB 插拔更新充电状态分析

在charger-manager.c 中有注册usb 状态改变的通知,当我们插拔USB时会触发policy_usb_change_callback() 方法......在调查USB充电流程时,发现给FW层上报充电状态时,是通过这个回调方法通知FW充电状态发生了变化,然后SystemUI 的Status Bar可以及时更新充电图标。该文章将记录USB插拔后从GPIO中断到调用到power supply 下的流程

weixin_42265250的博客 1625

dwc3 linux usb3.0 driver架构

1. DRD driver DRD驱动usb/dwc3 1.1 dts dwc3@44000000 { /* Compatible ID used by the Linux driver for this kind of device */ compatible = "snps,dwc3"; /* Register bank location...

ARM-Linux 1万+

手机充电和USB切换背后的“信号员”:手把手解析Linux extcon驱动在Android内核中的实战

本文深入解析了Linux extcon驱动在Android内核中的实战应用,详细介绍了其在手机充电和USB切换中的关键作用。通过硬件基础、驱动架构、DTS配置及中断处理流程的全面讲解,帮助开发者理解并调试extcon驱动,解决充电和USB识别中的常见问题。

weixin_30263073的博客 386

USB typec to adb

在移植dwc3驱动时,实现adb功能,记录该功能的实现以及相关驱动的流程

changcheng00的博客 1988

从硬件到驱动:深入剖析USB热插拔的Linux内核实现

本文深入解析了USB热插拔在Linux内核中的实现机制,从硬件基础到驱动实现,详细介绍了VBUS信号检测、中断处理、DWC3控制器驱动以及extcon子系统的关键作用。通过实战案例和典型问题排查方法,帮助开发者理解USB热插拔的工作原理和调试技巧,提升系统稳定性和兼容性。

weixin_30379531的博客 471

Linux USB 设备侧设备驱动匹配流程

Linux USB 设备侧设备驱动匹配流程: 1. usb 初始化。 2. udc 设备与驱动匹配后,进行多种初始化,然后添加 udc 设备到 udc_list。 3. gadget 驱动加载后,在 udc_list 找到第一个没有绑定驱动的 udc 设备,进行绑定。 4. 启动 udc,然后使能 D+ 或者 D- 的上拉,让 host 可以检测到。

joyxysetu的博客 874
上一篇: 【mq】从零开始实现 mq-10-消费者拉取消息回执 pull message ack
下一篇: Mqtt入门:在线调试连接阿里云
u012804784
博客等级 码龄13年 414粉丝 · 854原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值