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...
USB HCD主要分为两类: UHCI(Universal Host Controller Interface)HCD:适用于早期的USB 1.0和1.1控制器。 OHCI(Open Host Controller Interface)HCD和EHCI(Enhanced Host Controller Interface)HCD:分别适用于USB 1.1和USB 2.0及以上的控制器,提供更高的性能和更多的功能。
drivers/usb/host/ehci-hcd.c实现了绝大多数ECHI主机驱动的工作,具体的EHCI实例简单地调用: 初始化hc_driver即可,这个函数会被generic的ehci_hc_driver实例复制给每个具体底层驱动的实例,当然底 层驱动可以通过第2个参数,即ehci_driver_overrides重写中间层的reset()、port_power()这2个函数,另 外也可以填充一些额...
1.USB子系统结构 HCD(Host Controller Device): USB主控制器设备 协议里说,HCD提供主控制器驱动的硬件抽象,它只对USBCore一个负责,USBCore将用户的请求映射到相关的HCD,用户不能直接访问HCD。换句话说,USBCore就是HCD与USB设备唯一的桥梁。 2.USB子系统的初始化 USBcore源码位于./drivers/usb/core,其中的Makefi...
ECHI HCD驱动属于HCD驱动的实例,用ehci_hcd结构体来表示,它通常会作为usb_hcd结构体的私有数据(hcd_priv)。 API函数 该drivers/usb/ehci-hcd.c中实现了EHCI主机驱动的工作,具体的驱动只要简单调用ehci_init_driver()就可以/看一下主机的具体实现: 这个函数就是初始化hc实例_驱动程序,这个函数带的通用hc_driver ...
由USBD 层初始化URB 结构,并通过HCD 的接口函数ohci_submit_urb()传递给HCD 层。通过在S3C2410 实验平台上的实验表明主机控制器驱动程序能够很好的向USBD 层提 供服务并管理HC。 5 结束语 主机控制器是USB 主机系统的硬件核心,主机控制器驱动则是USB 系统软件的最底层实 现。依据在USB 协议底层的主机开发的实...
typedefstruct_USB_HCD_DRIVERKEY_NAME{ULONG ActualLength; WCHAR DriverKeyName[1]; } USB_HCD_DRIVERKEY_NAME, *PUSB_HCD_DRIVERKEY_NAME; 成员 ActualLength DriverKeyName成员中字符串的长度(以字节为单位)。 DriverKeyName[1] USB 主控制器的以 NULL 结尾的 Unicode 驱动程序密钥名称。
协议里说,HCD提供主控制器驱动的硬件抽象,它只对USB Core一个负责,USB Core将用户的请求映射到相关的HCD,用户不能直接访问HCD。换句话说,USB Core就是HCD与USB设备唯一的桥梁。 1.2 USB子系统的初始化 USB core源码位于./drivers/usb/core,其中的Makefile摘要如下, ...
驱动部分主要分两个层次:ISP1761硬件抽象层(HAL)和主控制器驱动(HCD)层。前者,通过GPIO接口和操作系统平台的相关函数来完成访问ISP1761硬件的功能;后者,主要实现将数据传输给连接的USB设备,并管理根集中器端口的功能。 因此,该设计的软件驱动部分主要由以下两个层次来完成USB主机端的驱动功能。 (1)ISP1761的HAL层...
USB主机控制器设备(又名HCD)是连接到系统PCI总线的PCI设备,通过USB端口提供USB连接支持。根据USB技术的发展,它也被称为USB 1.x的UHCI / OHCI,USB 2.x的EHCI和USB 3.x控制器的XHCI。要使内核使用此控制器,我们需要一个USB主机控制器驱动程序,它可以设置PCI配置和DMA。上面是USB内核,实现底层USB协议栈,并使用...