首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

USB总线-Linux内核USB3.0控制器初始化代码分析(三)

、电源、extcon(用于USB模式切换),另一个在synopsys提供的驱动中初始化,位于drivers/usb/dwc3/core.c文件中,这部分和USB3.0控制器密切相关,如USB3.0控制器内部寄存器地址...// 创建文件 dwc3_core_init主要的工作是初始化USB控制器硬件,主要流程如下: (1)获取USB控制器IP的版本,便于后续进行不同的配置,USB控制器不同IP版本之间有差别,将Linux..._GSNPSID) // 获取Global SNPS ID Register中的内容 /* Write Linux Version Code to our GUID register so..., DWC3_GUID, LINUX_VERSION_CODE) dwc3_writel(dwc->regs, DWC3_GUID, LINUX_VERSION_CODE)...// dwc->dr_mode == USB_DR_MODE_PERIPHERAL dwc3_set_mode(dwc, DWC3_GCTL_PRTCAP_DEVICE) // 设置USB

6.1K30

linux usb端点

一系列相互独立的端点在一起构成了USB逻辑设备,在系统结构中,位于下方红色方框内: 二、端点的分类 每个USB设备都有一个唯一的设备地址,设备地址是设备连接上主机时由主机分配的,主机主要依靠这个设备地址对...USB设备进行访问。...五、端点与管道 1、管道的概念 管道是主机软件(数据缓存区),和USB设备各各端点之间的数据传输连接,他是两者之间通信流的抽象(实际上数据传输是USB总线接口完成)。...1)、“流”指不具有USB定义格式的数据流,流通道中的数据是流的形式,也就是该数据内容不具有USB要求的结构。...2)、“消息”指具有某种USB定义格式的数据流。消息通道与端点的关系同流通道与端点的关系是不同的。

9.9K30

基于树莓派的多功能USB实现--系统安装

但是最主要的优势是: that USB port is not a standard type A port, instead it is a 'USB On-The-Go' port 一般来说,USB...其他树莓派的USB port都只支持作为 Host,而树莓派 Zero 和 Zero w 同时支持作为 Host 和 Device,这为树莓派做Bad USB提供了前提 材料购买和组装 由于要做多功能USB...Plan B 1、烧录完成后,在电脑上插入这个 SD 卡,在根目录下面的config.txt文件的末尾添加一行 dtoverlay=dwc2 2、打开 cmdline.txt 在 rootwait 后面添加如下内容...modules-load=dwc2,g_ether 3、在 SD 卡根目录下面创建一个名为ssh的文件或目录。...如果这个不能通过这个主机名连接,那么你可能需要给 Windows 系统的电脑上安装 Bonjour、iTunes 或 Quicktime;给 Linux 系统安装 Avahi Daemon 以确保可以通过主机名

2K30

USB总线-Linux内核USB3.0设备控制器驱动框架分析(四)

2.Gadget Function驱动 Linux内核的USB Gadget Function驱动都在drivers/usb/gadget/function/目录下,有通讯设备类(Communication...gadget指向dwc3结构体中的usb_gadget。req在Composite驱动注册的时候就提前分配好,用于响应主机发送的控制请求。config指向当前使用的usb配置。...gadget_driver; }; struct usb_composite_dev { // 复合设备 // 只读,usb设备控制器的抽象,指向dwc3结构体中的usb_gadget...Linux 3.11版本引入了USB Gadget Configfs。在用户层可以通过暴漏出来的API定义USB Gadget设备的任意功能和配置,极大的方便了USB复合设备的配置和使用。...这些函数内部会调用具体的USB设备控制器的UDC驱动。RK3399平台上,就会调用dwc3实现的UDC驱动。至于具体内容,后面章节在分析dwc3的UDC驱动时会详细说明。

9.7K20
领券