linux驱动由浅入深系列:usb子系统之四(android平台鼠标驱动代码分析)

本文主要探讨了Linux驱动中的USB子系统,重点关注在Android平台上如何分析和理解鼠标驱动代码。通过`usb_set_configuration`函数初始化接口,了解USB设备与接口的关系,以及在注册接口时如何利用匹配函数`match`进行设备与驱动的连接。最终,通过`usb_probe_interface`调用特定驱动的`probe`函数来实现设备的探测和功能激活。
摘要由CSDN通过智能技术生成
android上的usb口是支持OTG(on the go)的,USB OTG既可以作为Host又可以作为Device,我们本文来看一下android手机作为Host连接鼠标的情况。
OTG是如何做到既可以做Host又可以作为Device的呢
标准usb接头中有四根线:vbus,gnd,dp(d+),dm(d-),android手机上的usb为miniUSB接口增加了一根id线,用来区分Host、Device。
usb是如何检测设备插入的呢
设备插拔检测都是由hub来进行的,即使不外接hub在USB host controler中也集成了一个roothub。hub上的dp、dm线都有一个15k的下拉电阻拉到低电平,设备端的dp或dm线上有1.5k的上拉电阻,设备插入时就会改变dp、dm线上的电平。
当把一个USB设备插入到一个usb hub的某个端口时,集中器就会检测到设备的接入,从而在下一次受到主机通过中断交互查询时就会向其报告。集中器的端口在没有设备接入时都处于关闭状态,插入设备之后也不会自动打开,必须由主机通过
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

良非凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值