共 5 篇文章
显示摘要每页显示  条
构建一个usb_gadget_driver,调用usb_gadget_register_driver注册函数即可注册一个usb gadget驱动。int usb_gadget_register_driver(struct usb_gadget_driver *driver) {……3、usb_gadget_driver结构。绑定dev与driver,在gadget driver,注册驱动时被usb_gadget_register_driver调用,绑定之后driver才能处理setup请求 ...
static struct otg_fsm_ops fsl_otg_ops = { .chrg_vbus = fsl_otg_chrg_vbus, .drv_vbus = fsl_otg_drv_vbus, .loc_conn = fsl_otg_loc_conn, .loc_sof = fsl_otg_loc_sof, .start_pulse = fsl_otg_start_pulse,/*获得otg_transceiver结构*/ struct otg_transceiver *otg_trans = otg_get_transceiver(); struct otg_fsm *fsm; volat...
static struct fsl_udc *udc_controller;} /*注册中断,该中断和OTG的中断共享一个*/ ret = request_irq(udc_controller->irq, fsl_udc_irq, IRQF_SHARED, driver_name, udc_controller); if (ret != 0) { ERR("cannot request irq %d err %d \n", udc_controller->irq, ret); ...
static struct otg_fsm_ops fsl_otg_ops = { .chrg_vbus = fsl_otg_chrg_vbus, .drv_vbus = fsl_otg_drv_vbus, .loc_conn = fsl_otg_loc_conn, .loc_sof = fsl_otg_loc_sof, .start_pulse = fsl_otg_start_pulse,/*获得otg_transceiver结构*/ struct otg_transceiver *otg_trans = otg_get_transceiver(); struct otg_fsm *fsm; volat...
USB OTG简介USB OTG是USB2.0版本的补充,并不是独立的标准,它保留了USB2.0的所有特点。那么,当2个DRD互连时,哪个设备作为主机,为什么要作为主机?为了解决这两个问题,在OTG中提出了新的协议——主机协商协议(HNP)。在OTG中,如果设备的ID引脚接地(即mini-A插头连接的设备,如图1右侧的设备),则此设备默认为主机,否则为外设。为了节省电源...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部