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

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

、电源、extcon(用于USB模式切换),另一个在synopsys提供的驱动中初始化,位于drivers/usb/dwc3/core.c文件中,这部分和USB3.0控制器密切相关,如USB3.0控制器内部寄存器地址...只有两个模块都初始化完毕,USB3.0控制器才能正常工作。本节只分析USB驱动早期初始化部分。 2.设备树 下面是USB3.0控制器的设备树节点。...控制器硬件,主要流程如下: (1)获取USB控制器IP的版本,便于后续进行不同的配置,USB控制器不同IP版本之间有差别,将Linux内核版本号写入USB控制器寄存器,以便发现某些版本下的bug (2)...根据dr_mode,选择是否复位USB控制器 (3)从USB控制器寄存器缓存中获取USB控制器端点数量,此处端点表示的是一组资源 (4)建立scratch_buffers,采用流式DMA映射,RK3399...dwc3_writel(dwc->regs, DWC3_GUID, LINUX_VERSION_CODE) dwc3_soft_reset // 软件复位USB控制器

5.8K30

linux usb端点

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

9.8K30

USB总线-RK3399 USB3.0控制器特性介绍(二)

1.RK3399 USB 下图是RK3399 SOC的框图。RK3399包含了2个USB2.0 Host控制器;两个USB3.0 OTG控制器,同时兼容USB2.0。...2.USB3.0 OTG Controller简介 USB3.0 OTG控制器可以作为主机(Host)、设备(Device),或者根据从USB2.0 PHY和DFP/UFP/Data Role Swap...USB3.0 OTG控制器支持如下的特性: 1)通用特性 兼容规范 Universal Serial Bus 3.0 Specification, Revision 1.0 Universal...xHCI控制器特性 最多支持64个设备 拥有一个interrupter 拥有1个USB2.0 port和1个Super-Speed port 拥有xHCI调试能力 USB3.0/USB2.0并发传输,...OTG A设备和B设备 3.USB3.0 OTG Controller硬件框图 从下面的硬件框图中可以看出,USB3.0 OTG控制器内部的USB2.0和USB3.0的PHY和MAC是独立的,各自使用自己的硬件

1.9K20

基于FPGA的USB接口控制器设计(附代码)

今天给大侠带来基于 FPGA 的 USB 接口控制器设计(VHDL),由于篇幅较长,分三篇。今天带来第三篇,下篇,FPGA 固件开发、USB驱动和软件开发。话不多说,上货。...这里也给出前两篇的超链接: 基于FPGA的USB接口控制器设计(VHDL)(上) 基于FPGA的USB接口控制器设计(VHDL)(中) 之前有关于 Veriliog HDL 实现的 USB 接口控制器设计...而有些USB设备是需要特殊驱动的,比如某些手机,连接到电脑的USB口,是需要安装驱动才能使用的。下面我们一起动手做一做USB接口控制器设计,了解一下如何设计。...(2)沿控制器模块 PDIUSBD12 的读写操作都各自有一个读写控制信号 WR_N 和 RD_N,每次读写操作都在对应的控制信号的下降沿触发,沿控制模块的功能就是可控地产生一个下降沿信号,用于控制读写操作...图 48 USB 接口软件模型 USB 系统软件根据功能可以分为 USBD 和 HCD 上下两部分,其中 HCD 为上层提供了主机控制器的抽象以及数据在总线上的传输抽象。

2.1K10

Linux USB 设备驱动模型

Linux 内核源码:include\linux\usb.h Linux 内核源码:drivers\hid\usbhid\usbmouse.c 1....BUS/DEV/DRV 模型 "USB 接口"是逻辑上的 USB 设备,编写的 usb_driver 驱动程序,支持的是"USB 接口": USB 控制器或 Hub 识别出 USB 设备后,会创建、...接口函数 在 USB 设备驱动程序中,能使用的 USB 函数都在这个头文件里:include\linux\usb.h。...对于一般的 buffer,在提交 URB 时会临时分配一个 DMA Buffer: 发送数据时:函数内部会先从一般 buffer 中把数据复制到 DMA Buffer,在提交给 USB 控制器 读取数据时...:这是一个同步函数,它会等待 URB 结束 usb_unlink_urb:这是一个异步函数,它不会等待 URB 结束,USB 控制器驱动会调用它的回调函数 void usb_kill_urb(struct

39940

基于FPGA的USB接口控制器设计(VHDL)(上)

今天给大侠带来基于 FPGA 的 USB 接口控制器设计(VHDL),由于篇幅较长,分三篇。今天带来第一篇,上篇,USB 接口简介 以及 USB 体系结构。话不多说,上货。...之前有关于 Veriliog HDL 实现的 USB 接口控制器设计,这里放上超链接,仅供各位大侠参考。 源码系列:基于 FPGA 的 USB2.0 设计 ?...而有些USB设备是需要特殊驱动的,比如某些手机,连接到电脑的USB口,是需要安装驱动才能使用的。下面我们一起动手做一做USB接口控制器设计,了解一下如何设计。...USB 和主机系统的接口称作主机控制器(HostController),主机控制器可由硬件、固件和软件综合实现。...USB 主机是整个 USB 系统通信的控制方,它通过主机控制器USB设备进行交互。

1.3K30

Linux USB 开发指南

1.3 适用范围 ​ 表 1-1: 适用产品列表 内核版本 驱动文件 Linux-4.9 drivers/usb/* Linux-5.4 drivers/usb/* 2 模块介绍 2.1 模块功能介绍...,Android 调试桥 Gadget 小配件 HCD Host Controller Driver,主机控制器驱动 UDC USB Device Controller, USB 设备控制器 HCI Host...Controller Interface,主机控制器接口 EHCI Enhanced Host Controller Interface,增强型主机控制器接口 OHCI Open Host Controller...Interface,开放式主机控制器接口 2.3 模块配置介绍 2.3.1 Device Tree 配置说明 设备树中存在的是该类芯片所有平台的模块配置,设备树文件的路径为:kernel/linux...图 2-11: linux-4.x usb gadget 配置选择 2.6.2 linux-4.x/linux-5.4 USB Gadget 配置流程 Linux-4.x/Linux-5.4 使用 configfs

30.5K31

基于FPGA的USB接口控制器设计(VHDL)(下)

今天给大侠带来基于 FPGA 的 USB 接口控制器设计(VHDL),由于篇幅较长,分三篇。今天带来第三篇,下篇,FPGA 固件开发、USB驱动和软件开发。话不多说,上货。...之前有关于 Veriliog HDL 实现的 USB 接口控制器设计,这里放上超链接,仅供各位大侠参考。 源码系列:基于 FPGA 的 USB2.0 设计 ?...而有些USB设备是需要特殊驱动的,比如某些手机,连接到电脑的USB口,是需要安装驱动才能使用的。下面我们一起动手做一做USB接口控制器设计,了解一下如何设计。...(2)沿控制器模块 PDIUSBD12 的读写操作都各自有一个读写控制信号 WR_N 和 RD_N,每次读写操作都在对应的控制信号的下降沿触发,沿控制模块的功能就是可控地产生一个下降沿信号,用于控制读写操作...图 48 USB 接口软件模型 USB 系统软件根据功能可以分为 USBD 和 HCD 上下两部分,其中 HCD 为上层提供了主机控制器的抽象以及数据在总线上的传输抽象。

1.4K20

基于FPGA的USB接口控制器设计(VHDL)(中)

图 14 USB 硬件系统框图 按照功能可以将 USB 接口器件分为 6 类:主机控制器、集线器、USB 接口器件、USB 控制器USB 电源管理器件以及 USB 特殊功能器件。...(1)主机控制器 USB 主机控制器的功能是实现标准的 USB 主机串口引擎(SIE)和根集线器功能,它们一般通过 PCI 或其他总线和主机 CPU 通信。...(4)USB 控制器 USB 控制器指的就是带有 USB 接口器件的处理器。...连接的建立通过外部/系统微控制器发送命令来实现。这就允许系统微控制器在决定与 USB 建立连接之前完成初始化时序。USB总线连接可以重新初始化而不需要拔出电缆。...RAM)作为 USB 之间速度差异的缓冲区,这就允许微控制器以它自己的速率对 USB信息包进行读写。

1.4K20

Linux USB 设备基础理论

通过扫描以下目录获取物理节点所有 USB 设备: /sys/bus/usb/devices/usb* /sys/bus/usb/devices/usb*/$busnum-* 从该文件系统收集某一个设备的主要信息如下..."level": 1, "manufacturer": "QEMU", "port": 0, "prodid": "0001", "product": "QEMU USB...: 产品 serial: USB 硬件设备序列号 ,例如 0000:00:01.2 定位方法# 定位某一个 USB 设备的方法有两种: busnum + devnum idVendor + idProduct...Type-C Bridge Class DCh 设备描述符、接口描述符 Diagnostic Device E0h 接口描述符 无线控制器 EFh 设备描述符、接口描述符 Miscellaneous...By USB 中文网 USB设备描述符中的idVendor、idProduct和bcdDevice By USB 中文网 USB 硬件设备的序列号 By IBM 注:本作品采用 知识共享署名-非商业性使用

28730

PW6603USB PD 协议 SINK 端输出控制器芯片

在当今的快充技术领域,USB PD 协议已经成为主流。而为了实现更高效的充电,一个关键的组件就是 SINK 端输出控制器芯片。...在这个主题中,我们将深入探讨 泛海微PW6603USB PD 协议 SINK 端输出控制器芯片的相关特点和优势。首先,让我们了解一下 USB PD 协议。...它是一种基于 USB Type-C 接口的电源传输协议,通过协商电压和电流,实现更高效、更安全的充电。而 PW6603 是一款支持 USB PD 协议的 SINK 端输出控制器芯片。...支持 USB PD 3.0 协议:PW6603 兼容最新的 USB PD 3.0 协议,使得充电效率更高,同时也增强了兼容性。2. ...总之,PW6603USB PD 协议 SINK 端输出控制器芯片是一款优秀的快充解决方案。

12410
领券