linux 设备树 otg,linux 内核 usb驱动分析

本文深入分析Linux内核4.14.79版本中,基于TI AM5728平台和DesignWare USB3.0方案的USB主机控制器驱动及根Hub的注册过程。探讨了USB设备枚举步骤,从设备树注册到接口驱动匹配,特别是主机控制器如何通过dwc3_driver与xhci_plat_probe交互,以及hub探测和接口驱动的绑定过程。
摘要由CSDN通过智能技术生成

本文基于ti的am5728平台,4.14.79版本内核,DesignWare USB3.0方案,xhci主机控制器。简单分析 USB 主机控制器驱动 根 Hub 的注册过程,以及 USB设备的枚举过程,并不涉及USB协议,单纯分析驱动框架流程。无论是hub还是普通的usb设备,它们注册到 usb_bus_type 都会经历两次 Match ,因为第一次注册进来时,是将整个设备作为一个 device 注册,然后在通用的 devices 驱动程序 usb_generic_driver 的 generic_probe 函数中,将该设备的所有接口进行设置并将这些接口注册到 usb_bus_type 。如果是Hub设备的接口,则会调用 hub_probe,如果是其他设备则调用 xx_probe 函数。如果是 Hub 的话,usb主机会监测hub端口变化,如果有变化会分配一个usb_devices 注册到 usb_bus_type 重复前边的步骤。

omap dwc3设备树节点

omap_dwc3_1: omap_dwc3_1@48880000 {

compatible = "ti,dwc3";

ti,hwmods = "usb_otg_ss1";

reg = <0x48880000 0x10000>;

interrupts = ;

#address-cells = <1>;

#size-cells = <1>;

utmi-mode = <2>;

ranges;

usb1: usb@48890000 {

com

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值