• 2024-09-13USB总线-Linux内核USB3.0设备控制器中断处理程序分析(九)
    1.概述USB设备枚举、请求处理、数据交互都涉及USB设备控制器中断。当有事件发生时,USB设备控制器首先将事件信息通过DMA写入到事件缓冲区中,然后向CPU发出中断,随后CPU调用中断处理函数开始处理中断事件。2.事件dwc3USB设备控制器事件使用dwc3_event数据结构描述,由4个字节组成。
  • 2024-08-30Android Qcom USB Driver学习(十四)
    UDC-GadgetUDC:(USBDeviceController)用于管理和控制USB设备与主机之间的通信。Gadget:Android在此层实现了adb,mtp(MediaTransferProtocol媒体传输协议),mass_storage等。早期的USB只支持单一的gadget设备,使用场景较为简单,随后加入了compositeframework,用来支持多个function
  • 2024-08-15DWC3和XHCI的区别
    DWC3(DesignWareUSB3.0Controller)和XHCI(eXtensibleHostControllerInterface)都是与USB控制器相关的技术,但它们的作用和实现层次有所不同。1.DWC3(DesignWareUSB3.0Controller)芯片级别的USB控制器:DWC3是由Synopsys设计的USB控制器IP,用于集成到SoC(系统级芯片)中。它是一个
  • 2024-05-29extcon驱动及其在USB驱动中的应用
    一、简介extcon是ExternalConnector的简称,用于抽象外部连接器,比如说AudioJack、USBMicroB/TypeC接口等。它的原型是Android的switch-class驱动,经过修改后在kernel3.4.0版本时被引入内核中。高通(Qualcomm)平台的USB相关的EXTCON(ExternalConnector)功能主要涉及到了对外部连接
  • 2023-07-11(2023.7.11)usb: ring buffer full
    现象:在对usb接口的5G模组灌包时出现异常打印,xhci-hcdxhci-hcd.0.auto:ERRORunkown eventtype37/USBGadgetDriver定义了很多traceevent,使用者可以在用户空间通过ftrace接口,追踪USBGadgetDriver的行为;/用户空间接口路径为/sys/kernel/debug/tracing/events/dwc3:包含了
  • 2022-12-30USB总线-Linux内核USB3.0设备控制器之UDC驱动分析(六)
    1.概述UDC驱动的接口都定义在drivers/usb/gadget/udc/core.c文件中。USBFunction驱动通过调用这些接口匹配及访问USB设备控制器,而底层USB控制器驱动要实现这些接口定义的
  • 2022-12-17USB总线-Linux内核USB3.0设备控制器之dwc3 gadget驱动初始化过程分析(五)
    1.概述USB设备控制器(UDC)驱动的框图如下图所示,由三部分组成。第一部分是UDC驱动核心层,在drivers/usb/gadget/udc/core.c文件中实现,该层是一个兼容层,将USBFunction驱动和具
  • 2022-12-07USB总线-Linux内核USB3.0控制器初始化代码分析(三)
    1.概述RK33999使用synopsysdwc3的USB3.0控制器IP。早期的初始化需要在两个模块中进行,一个在rockchip官方提供的驱动中初始化,位于drivers/usb/dwc3/dwc3-rockchip.c文件中
  • 2022-12-04dwc3 linux usb3.0 driver架构
    USB控制器1.DRDdriverDRD驱动在usb/dwc31.1dtsdwc3@44000000{/*CompatibleIDusedbytheLinuxdriverforthiskindofdevice*/compatible="snps,dwc