usb
来源:互联网 发布:java遍历json数组对象 编辑:程序博客网 时间:2024/04/30 02:34
HCD : usb host controller devices
uhci(universal host controller interface): Intel用在自家芯片组上的usb 1.1主控制器(host controller)的硬件实例
ehci(enhanced host controller interface): usb 2.0的主控制器标准接口。
ohci(open host controller inferface):一个不仅仅是usb用的主控制器接口标准。主要是遵循csr (configuration space register)标准。是其他厂商在设计usb host controller时遵循的标准,如via, nec, ali, 包括nvidia等等。
不同的接口对应不同的桥接器
首先,EHCI和UHCI的区别之一就在于探寻她们内心世界的方式不同.甭管EHCI还是UHCI,她们都有自己的内心世界.访问外设的内心世界通常有两种方法,一种是Memory-mapped I/O,一种是Port-mapped I/O.EHCI和OHCI都是这种Memory-mapped I/O,而UHCI则剑走偏锋,选择了Port-mapped I/O.
int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)中的一段代码
****
if (driver->flags & HCD_MEMORY) {
/* EHCI, OHCI */
hcd->rsrc_start = pci_resource_start(dev, 0);
hcd->rsrc_len = pci_resource_len(dev, 0);
if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len,
driver->description)) {
dev_dbg(&dev->dev, "controller already in use\n");
retval = -EBUSY;
goto clear_companion;
}
hcd->regs = ioremap_nocache(hcd->rsrc_start, hcd->rsrc_len);
if (hcd->regs == NULL) {
dev_dbg(&dev->dev, "error mapping memory\n");
retval = -EFAULT;
goto release_mem_region;
}
} else {
/* UHCI */
int region;
for (region = 0; region < PCI_ROM_RESOURCE; region++) {
if (!(pci_resource_flags(dev, region) &
IORESOURCE_IO))
continue;
hcd->rsrc_start = pci_resource_start(dev, region);
hcd->rsrc_len = pci_resource_len(dev, region);
if (request_region(hcd->rsrc_start, hcd->rsrc_len,
driver->description))
break;
}
if (region == PCI_ROM_RESOURCE) {
dev_dbg(&dev->dev, "no i/o regions available\n");
retval = -EBUSY;
goto clear_companion;
}
}
*****
- USB
- USB
- USB
- usb
- usb
- usb
- USB
- usb
- USB
- USB
- USB
- USB
- usb
- usb
- usb
- usb
- usb
- usb
- 广东移动:深圳移动
- 测试三
- 一个示例让你明白适配器模式
- H电-Prolem Archive-1075-What Are You Talking About
- c++类模板详解
- usb
- Error: 7884, Severity: 20, State: 1
- easyui datagrid数据不显示
- android mtk6592 添加led三色灯,红色蓝色绿色
- “闪存2.0加速数据中心存储变革”论坛即将召开
- BZOJ 1218 HNOI2003 激光炸弹 暴力
- hdu5105给你一个方程,让你求极值(直接暴力)
- 将一个文件从一个文件夹拷贝到另一个文件夹的java代码
- 基于js和css3的缓冲图标