musb 0619

uvc_driver.txt(temp) 提交urb的实现 ******************************************************************************************* rh_queue_status  // 将urb插入endpoint的链表中  retval = usb_hcd_link_urb_to_ep(hcd, urb); . /* Ho 阅读详情


06.18


. usb_core.c和usb20.c(对应两个驱动,一个是specific musb controller驱动,一个是musb core驱动)的关系
usb20/musb_core.c中的musb_init初始化musb core驱动。usb20目录下的文件应该是musb core的文件。这个目录下的mtk目录是mt6735 specific musb controller
驱动的文件。在mt6735目录下的usb20.c中的mt_usb_probe函数中,musb_hdrc_platform_data类型的结构中的指针成员
platform_ops指向musb_platform_ops类型的mt_usb_ops结构,之后通过platform_device_add_data函数将platform device结构中的device结构中的指针platform_data
成员指向musb_hdrc_platform_data类型的结构。
在musb core驱动的musb_probe中根据platform_device结构(就是usb20.c中的mt musb controller),获得这个结构中的device类型结构给musb_init_controller,在这个函数中,根据参数device类型的结构
中的platform_data指针得到一个musb_hdrc_platform_data类型的结构,这个结构中有一个musb_hdrc_config类型的成员,根据这个成员和musb controller寄存器起始
地址,通过allocate_instance创建一个musb结构。创建这个musb结构时,设置musb中的mregs成员为参数中的musb controller寄存器base address。然后在musb_init_controller
函数中,将分配得到的musb结构中的musb_platform_ops类型的成员ops设置为musb_hdrc_platform_data中的platform_ops指针。然后根据musb执行musb_platform_init。
在这个函数中,执行musb中
musb_core.c 是usb_general.c 调用进musb模块的核心函数, musb_core.c 是usb_general.c 调用进musb模块的核心函数, 里面有usbmusb,dma,platform模块等内容。 1. musb_init(): 查看文本打印? /* make us init after usbcore and i2c (transceivers, regulators, etc)   * and 阅读详情

相关推荐

am335x 的MUSB控制器解读

1.在board-am335xevm.c中有关于musb设备的定义 static struct omap_musb_board_data musb_board_data = { .interface_type = MUSB_INTERFACE_ULPI, /* * mode[0:3] = USB0PORT's mode * mode[4:7] = USB1PORT's mode * ...

u010916862的博客 4340

Linux内核 面向对象 usb驱动,linux usb usbip驱动详解(四)

我们先讲解vhci-hcd驱动(linux-4.20.14的usbip驱动)。usb主机控制器驱动hcd学习心得:可以阅读某款SOC的主机控制器驱动代码,譬如TI的am3358芯片,可以看musb驱动代码(drivers/usb/musb/musb_host.c),或者阅读虚拟主机控制器(代码在drivers/usb/gadget/udc/dummy_hcd.c),该虚拟USB主机控制器驱动内还包...

weixin_28702105的博客 458

mtk usb 2.0简单分析

usb20中的musb简单分析,不含fifo缓存与协议分析

jamecer的博客 1516

USB接口

usb接口

ptw1992的博客 644

看我解决Linux下的OTG切换问题

1.硬件原理图看下面的原理图VCC_OTG_EN 引脚,这个脚主要是用来控制给外部OTG设备提供电源控制的。如果设备作为DEVICE设备,这时候VBUS的电是由外部提供的,比如通过USB线...

嵌入式Linux 4880

linux usb 摄像头报错

使用linux平台,usb摄像头,长时间打开会遇到以下报错。暂未找到问题解决方法。在此记录,希望有人能解答 安装lsusb工具 搜索openwrt 安装 lsusb  apt-get install  usbutils usb摄像头型号: 05ac 8502  ls /dev和 ls /sys/class/ [root@/]# ls -l /dev/video0  crw-

NetRouter专栏 4057

Linux: USB Gadget 驱动简介

Linux, USB Gadget

JiMoKuangXiangQu的专栏 1万+

usb主机控制程序

musb

weixin_39296862的博客 417

7、LCPI(F1C200S)开启RNDIS,通过USB与电脑联网(LctechPi,CherryPi,Mangopi,F1C100S)

LCPI(F1C200S)开启RNDIS,通过USB与电脑联网(LctechPi,CherryPi,Mangopi,F1C100S)

GJF712的博客 1万+

USB驱动之二控制器驱动(musb)

对于mtk和sprd的usb控制器驱动都是musb,qcom的是dwc2/dwc3,拿musb来学习下。 现在嵌入式设备USB都支持主从了,控制器也分为两部分,一部分是HCD,一部分是UDC。OHCI(open host controller inferface) UHCI(universal host controller interface) EHCI(enhanced host contr...

Android开发 8745

MUSB架构分析(1)

MUSB架构分析(1) 2013-12-13 10:44:25 分类: Android平台 瞅着这个MUSB,想必也了解到这是TI OMAP的平台了.今个儿就对这个MUSB 说道说道. 1. USB硬件架构 如下图所示了,包含了2个部分: (1) High-Speed USB OTG(On-The-Go) Controller * (2) High-Spee

metuu的专栏 4930

MUSB (3) --- OMAP2430 USB OTG Controller(device)

MUSB (3) --- OMAP2430 USB OTG Controller(device) 2013-12-13 17:19:52 分类: Android平台 1. Makefile fudan_abc在他的《Linux那些事儿之我是USB》中反复提到了Makefile.作为整个软件架构分析的map. 这里拾人牙慧也按照这种方式来描述MUSB的软件架构. 红色部

metuu的专栏 2036

mtk平台 mt_usb设备以及otg初始过程

注册mt_usb驱动kernel-3.18/drivers/misc/mediatek/usb20/mt6735/usb20.cstatic int __init usb20_init(void){        ...... platform_driver_register(&mt_usb_driver);                        //注册mt_usb驱动 retu...

zhangha0的博客 9428

linux usb usbip驱动详解(四)

我们先讲解vhci-hcd驱动。

mkelehk的专栏 3803

OMAPL138 OTG实现HOST

OTG 2.0配置成主机特性如下 1.兼容USB2.0标准支持高速,全速,低速外围 2.支持4通道TX和RX端点,和一个控制端点 3.每个端点(除了控制端点0)支持的传输类型(控制,批量,中断,等时) 4.包含一个4K的端点FIFO RAM,支持可编程FIFO大小 5.当配置成主机时,能提供5V的VBUS 6.包含一个DMA控制器可以支持4个TX和4RXDMA通道 7.支持4种类型的

流水 1930
上一篇: Android系统系统升级过程分析之------update.zip包的制作
下一篇: PPM / PGM / PBM 图像文件格式
Decisiveness
博客等级 码龄14年 58粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值