Chinaunix首页 | 论坛 | 博客
  • 博客访问: 34775
  • 博文数量: 14
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 13
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-17 14:40
文章分类
文章存档

2014年(14)

我的朋友

发布时间:2014-09-15 14:50:05

三大控制器已经分析一个啦,下面接着第一篇分析,这篇分析下usb主机控制器设备与驱动的注册: //代码路径Devices-msm8x60.c (arch\arm\mach-msm)//主机控制器平台设备的注册#define IORESOURCE_MEM 0x00000200#define IORESOURCE_IRQ  0x00000400 static u64 dma_mask = 0xffffffffULL;#ifdef CONFIG_USB_EHCI_MSM_72Kstatic struct resource resources_hsusb_host[] ......【阅读全文】

阅读(1311) | 评论(0) | 转发(0)

发布时间:2014-09-15 14:50:01

接着上一篇看,第三大设备控制器的注册: //Devices-msm8x60.c (arch\arm\mach-msm)//udc设备控制器注册static u64 dma_mask = 0xffffffffULL;struct platform_device    msm_device_gadget_peripheral = {//usb设备控制器平台设备 .name = "msm_hsusb", .id  = -1, .dev = {  .dma_mask  &......【阅读全文】

阅读(1114) | 评论(0) | 转发(0)

发布时间:2014-09-15 14:49:56

下面看下三大控制器的配合: /*在设备控制器注册的最后,调用了msm_otg_set_peripheral ()*/static int msm_otg_set_peripheral(struct otg_transceiver *xceiv, struct usb_gadget *gadget){ struct msm_otg *dev = container_of(xceiv, struct msm_otg, otg);  .................... dev->otg.gadget = gadget;//初始化收发器 pr_i......【阅读全文】

阅读(1243) | 评论(0) | 转发(0)

发布时间:2014-09-15 14:49:52

下面继续看设备控制器,设备控制器的启动过程,以及枚举,充电的整个流程。//启动设备控制器msm_otg_start_peripheral(&dev->otg, 1);//启动设备控制器static void msm_otg_start_peripheral(struct otg_transceiver *xceiv, int on){ struct msm_otg *dev = container_of(xceiv, struct msm_otg, otg); struct msm_otg_platform_data *pdata = dev->pdat......【阅读全文】

阅读(866) | 评论(0) | 转发(0)

发布时间:2014-09-09 15:38:45

该系列博文是基于高通8260,android版本为相对较新的Android4.0.4,由于高通的整个android usb子系统是一个整体,所以有一个框架支撑着整个体系结构。下面先大致说下该框架的结构: 该框架有以下三部分组成: 1、otg控制器。 2、主机控制器。 3、设备控制器。 三个控制器中,其中otg控制器是核心,控制着整个的调度过程,决定在某个时候,是启动主机控制器还是设备控制器。 1、当启动主机控制器的时候,就是我们的设备作为主机,例如:我们的手机上面可以接U盘,数码相机等,直接可以读取U盘上面的数据。 2、当启动设备控制器的时候,就是我们的设备作为外设,例如: 我......【阅读全文】

阅读(954) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册