当系统启动时,枚举主机控制器,为寄存器空间分配一个基址,BIOS将FLADJ寄存器设置为系统特定的值。初始上电或HCReset(硬件或通过USBCMD寄存器中的HCReset位)后,所有的操作寄存器将在其默认值,如表所示。在硬件复位后,只有辅助电源井中不包含的运行寄存器将处于默认值。

软件应执行的步骤:

  1. CTRLDSSEGMENT寄存器编写4-gb段,其中分配了所有接口数据
  2. 将适当的值写入USBINTR寄存器以启用适当中断
  3. 周期帧列表基址写入PREIODICLIST基寄存器。
  4. 写USBCMD寄存器设置所需中断阈值,设置运行停止位
  5. 向CONFIGFLAG写1,将所有端口路由到EHCI

此时,主机已经运行,端口寄存器报告设备连接,系统软件通过重置过程枚举端口,此时端口活动但还没有开始调度
为了异步调度,ss写ASYNDLISTADDR。软件在USBCMD异步调用位写1.
为启动定期调度,向USBCMD相应位写1,可以在第一个端口重置前打开调度。

EHCI主机控制器--主机控制器初始化相关推荐

  1. usb主机控制器ehci

    1. 主机控制器流程图 device_add()上图和下图的连接! 关于hub_probe()内部的具体实现,详见:点击打开链接 2. echi设备注册 static struct platform_ ...

  2. linux usb ehci 系统

    1.   简述: USB 出自豪门,一问世便有 IBM,Microsoft,compaq 等前呼后拥,不红实在是没有道理,以致于连三岁小毛孩都知道买游戏手柄要买 USB 的. USB 名气这么大,但 ...

  3. linux usb ehci controller driver

    1 数据结构 这里描述的所有结构的第一个word的结构都是相同的:Next Link Pointer + Type+T,即都是由指向下个结构体的物理地址+结构体类型指示+Terminate来构成.这样 ...

  4. linux usb ehci 驱动解读(一)

    一直都是使用Usb 驱动程序,从来没有好好研读过.之前项目中碰到usb相关的也是usb register配置一下就好了. 至于Usb驱动如何工作,让我们慢慢来揭开它神秘的面纱. 对usb ehci 驱 ...

  5. Linux那些事儿 之 戏说USB(25)设备的生命线(八)

    回到struct usb_hcd,继续努力的往下看. 7行,又见kref,usb主机控制器的引用计数.struct usb_hcd也有自己专用的引用计数函数,看drivers/usb/core/hcd ...

  6. make xconfig详解

    http://blog.csdn.net/yanshuai_tek/article/details/50902817 make menuconfig 图形化的内核配置 make mrproper 删除 ...

  7. linux 内核配置简介

    Gentoo Linux Gentoo内核(gentoo-sources)特有的选项 Gentoo Linux support CONFIG_GENTOO_LINUX 选"Y"后, ...

  8. 【linux驱动】USB子系统分析

    本文针对Linux内核下USB子系统进行分析,主要会涉及一下几个方面: USB基础知识:介绍USB设备相关的基础知识 Linux USB子系统分析:分析USB系统框架,USB HCD/ROOT HUB ...

  9. usb驱动开发16——设备生命线

    回到struct usb_hcd,继续努力的往下看. kref,usb主机控制器的引用计数.struct usb_hcd也有自己专用的引用计数函数,看hcd.c文件: static void hcd_ ...

最新文章

  1. String indexOf 算法
  2. 计算机视野仪检测青光眼的操作,计算机视野仪检测青光眼的操作及体会
  3. 构建乘积数组(剑指offer)
  4. 操作系统原理:操作系统的启动 中断/异常/系统调用
  5. 提示用户输入一个高考_2020年湖南省高考成绩查询方式及录取动态查询方式
  6. 阿里资深技术专家崮德:如何成就更好的自己
  7. Java核心技术卷1心得笔记1---Java程序设计概述
  8. 原生js实现京东商城楼梯效果
  9. oracle闪回某个时间点的数据库,oracle11g 使用闪回查询恢复表到过去某一个时间点...
  10. Linux系统编程16:进程控制之进程终止以及终止进程的三种情况
  11. 如何使用JavaScript或JQuery检测一个URL文件是否存在?
  12. mysql操作SQL语句
  13. eclipse 配置多个tomcat
  14. 2019.03.21 创建表 一对多,一对一,多对多。
  15. 【九天教您南方cass 9.1】 09 提取坐标的几种方法
  16. 苹果手机如何查看html代码,苹果手机怎么利用代号查看硬件信息
  17. 图像迁移风格保存模型_图像风格迁移原理
  18. 两平面间8参数变换参数求解简单原理解析(已更新间接平差算法)
  19. **matlab中grid、grid on 和grid off用法**
  20. Thumbnails压缩图片

热门文章

  1. android 睡眠与唤醒
  2. 洛谷 Markdown - 从入门到精通
  3. DS1302时钟芯片
  4. Mysql脚本循环批量插入数组数据
  5. c语言fsync函数,c – 如何在一个流上做fsync?
  6. 哪个牌子的蓝牙耳机好用?质量最好的蓝牙耳机排行榜
  7. 五种常用设计模式的python实现:单例、工厂、构建者、代理、观察模式
  8. 株洲小巨蛋项目之心态总结
  9. CSDN,毕业生有话说!在如此疯狂的年代如何寻找自己的方向?迈向社会的第一步
  10. switch case语句的流程图和盒图