USB主从切换浅析及LAN7800调试
需积分: 0 116 浏览量
更新于2023-10-25
收藏 1.03MB PDF 举报
USB主从切换浅析及LAN7800调试
一、硬件驱动层
在USB驱动中,硬件层面主要包含三部分:USB controller、USB PHY、USB interface。
1. USB controller:USB controller是在Soc内部实现的USB逻辑电路,实现了USB协议的处理。UDS710目前支持USB Controller:DWC3、MUSB。当前我们使用的是DWC3,支持USB3.0。需要注意的是,MUSB不支持USB HUB,而DWC3支持USB HUB。
2. USB PHY:USB PHY负责完成USB信号的数模转换。
3. USB interface:分两种:Micro B 和 Type-c。Type-c 接口与芯片相关,在芯片内有Type-c Controller实现Type-c协议。Micro-B接口不同于Type-c,在芯片内部没有可依赖的逻辑电路,而是依赖EIC检测电平的变化,从而达到USB cable插拔检测的目的。
二、软件驱动层
软件层面USB驱动大致包含三个模块:UDC driver、USB PHY driver、USB interface driver。
1. UDC driver:直接控制硬件的USB controller。其中包含两种不同的UDC driver,分别是DWC3/MUSB。源码路径如下:kernel4.14/drivers/usb/dwc3/、kernel4.14/drivers/usb/musb/。
2. USB PHY driver:USB PHY驱动源码在kernel4.14/drivers/usb/phy/。
3. USB interface driver:Type-c驱动代码在kernel4.14/drivers/usb/typec/。Micro-B由于硬件上不存在独立的逻辑,代码没有单独的路径,每个UDC driver中都有Micro-B的源码在kernel4.14中。kernel提供extcon模块,以此来实现对Micro-B接口的管理。
三、USB主模式LAN7800驱动调试
1. USB驱动主从模式切换调试流程:在kernel4.14/arch/arm64/configs/sprd_roc1_defconfig中配置如下宏:对于kernel4.14/arch/arm64/boot/dts/sprd/roc1.dtsi和kernel4.14/arch/arm64/boot/dts/sprd/ud710-2h10.dts需按上一章节所示进行配置。然后在kernel4.14/drivers/usb/dwc3/core.c中,根据“snp,dwc3"对dts和driver进行匹配,然后执行dwc3_probe(),大致流程如下:
在上述过程中,如果dr mode为device,则初始化gadget;如果dr mode为host,需要初始化host模式。

十三年(2031)
- 粉丝: 1
最新资源
- 关于信息化培训心得体会范文.doc
- 网络媒体运营管理及盈利模式创新.ppt
- 中小企业网络营销的策略研究.doc
- 智能家居课程设计文档.doc
- 众泰汽车2010年“乐睿”网络推广策略简案.ppt
- 某项目管理规划方案.pdf
- 十六蛋白质工程和基因工程的简介.pptx
- 经典实用有价值企业管理培训课件:网络时代、品质世纪与知识贵族.ppt
- 项目管理中的项目组织结构(2).docx
- 探析基于Web2.0的数字图书馆建设.docx
- 2022年SQL知识点汇总整理版.doc
- 即时通信客户端使用手册.doc
- 关于通信技术的现状及发展趋势研究.doc
- 电子商务创业培训方案.doc
- 芒牙河一级水电站通信工程接入系统方案.doc
- 智联招聘网站案例分析.pdf