对技术执着
发布时间:2013-07-03 13:45:06
下面继续看设备控制器,设备控制器的启动过程,以及枚举,充电的整个流程。//启动设备控制器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......【阅读全文】
发布时间:2013-07-03 13:44:48
下面看下三大控制器的配合: /*在设备控制器注册的最后,调用了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......【阅读全文】
发布时间:2013-07-03 13:44:40
接着上一篇看,第三大设备控制器的注册: //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 &......【阅读全文】