XHCI(Extensible Host Controller Interface)是一种用于USB 3.0及更高版本的主机控制器接口规范。HCD(Host Controller Driver)是Linux内核中的一个组件,负责管理USB主机控制器。XHCI HCD在Linux中用于支持USB 3.0设备。 基础概念 XHCI:定义了USB 3.0及更高版本的主机控制器与操作系统之间的通信协议。 HCD:主机控制器驱...
static const struct hc_driver xhci_hc_driver = { //大部分事情都是这里在干了.description="xhci-hcd",.product_desc="xHCI Host Controller",.hcd_priv_size= sizeof(struct xhci_hcd), /* * generic hardware linkage */.irq= xhci_irq,.flags= HCD_MEMORY | HCD_DMA | HCD_USB3 | HCD_SHARED...
xhci_plat_probe函数中会注册xHCI控制器的硬件操作函数集合,即xhci_hc_driver数据结构,如下所示。 [drivers/usb/host/xhci.c] static const struct hc_driver xhci_hc_driver = {.description="xhci-hcd",.product_desc="xHCI Host Controller",.hcd_priv_size= sizeof(struct xhci_hcd), /* generic hardwar...
usb_hcd xhci_hcd usb_bus usb_device usb_interface usb_device_driver和usb_driver usb_hub和usb_port 总结 2 USB子系统的设备模型 1 主要的数据结构 usb_hcd usb_hcd是所有的主机控制共同抽象出来的一个数据结构,他有着所有主机控制对于USB Core所必须的属性和方法,包括中断的管理和更上层不同ip核的usb...
usb_hcd结构体中第18行的hc_driver成员非常重要,它包含具体的用于操作主机控制器的钩子函数, 即“hw-specific hooks” ,其定义如代码清单如下所示。 在Linux内核中,使用如下函数来创建HCD: 如下函数被用来增加和移除HCD: 第25行的urb_enqueue()函数非常关键,实际上,上层通过usb_submit_urb()提交1个USB请求后,该...
XHCI(Extensible Host Controller Interface)是一种用于USB 3.0及更高版本的主机控制器接口规范。HCD(Host Controller Driver)是Li...
简介:linux3.10使用PCIE-USB警告处理:needs XHCI_TRUST_TX_LENGTH quirk? 文章目录 问题描述 修改方式 修改内容 问题描述 在龙芯2K1000上使用linux3.10内核时候,使用PCIE转USB上使用USB3.0,即XHCI协议时总是会报这样的警告: xhci_hcd 0000:14:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_...
嵌入式中常用的是OHCI,在主机侧,用hub_hcd来描述主机相关的相关信息, usb_hcd主要描述了主机控制器的相关信息,同时usb_driver为控制usb主机的钩子函数(回调函数)。 四、usb从机侧驱动 usb从机可大概分为如下几个设备类、 1、音频设备类 2、通讯设备类 ...
在Linux系统中,xHCI和eHCI的驱动程序分别是xhci-hcd和ehci-hcd。这两个驱动程序负责管理USB控制器和外部设备之间的通信。xHCI支持USB 3.0和USB 3.1规范,而eHCI支持USB 2.0规范。在Linux内核中,这两个驱动程序都可以动态加载和卸载,以支持不同类型的USB控制器和设备。
[ 5.080965] usb 3-1: Manufacturer: Linux 4.9.0-8-amd64 xhci-hcd [ 8.744132] usbcore: registered new interface driver usbhid [ 8.744140] usbhid: USB HID core driver [ 24.777381] usb 2-5: new full-speed USB device number 3 using uhci_hcd ...