RK3568 bsp 9 - USB调试记录

文章目录

  • 1、环境介绍
  • 2、RK3568 USB资源介绍
  • 3、配置目标
  • 4、dts配置
    • 4.1、USB3.0 OTG
    • 4.2、USB2.0 Host 2 和 USB2.0 Host 3
  • 5、kernel配置
    • 5.1、USB PHY CONFIG
    • 5.2、USB Host CONFIG
    • 5.3、USB OTG CONFIG
    • 5.4、USB外设CONFIG
      • 5.4.1、Mass Storage Class CONFIG
      • 5.4.2、USB HID CONFIG
  • 6、测试
  • 7、总结

1、环境介绍

硬件:飞凌ok3568-c开发板

软件:原厂rk356x sdk

2、RK3568 USB资源介绍

从上图可以得出,RK3568拥有:

  • 2个USB2.0 Host Controller
  • 1个USB3.0 Host Controller
  • 1个USB3.0 OTG Controller

下图是RK3568 USB控制器和PHY连接示意图:

小结:

上图中,可以看到USB3.0 OTG Controller是可以配置成USB3.0 OTG或USB2.0 OTG。USB3.0 Host Controller是可以配置成USB2.0 Host或USB3.0 Host。

3、配置目标

OK3568-C开发板使用了两个USB2.0 Host:

和一个USB3.0 OTG,通过一个开关控制ID脚来切换USB Host和USB Device:

4、dts配置

4.1、USB3.0 OTG

下面是将USB3.0 OTG Controller配置为USB3.0 OTG的dts配置,如需配置为USB2.0 OTG,参考《Rockchip_RK356x_Developer_Guide_USB_CN.pdf》

/* PHY配置 */
/* USB3/SATA Combo PHY_0 */
&combphy0_us {status = "okay";
};/* Controller配置 */
/* USB3.0 OTG Controller */
&usbdrd30 {status = "okay";
};
&usbdrd_dwc3 {dr_mode = "otg";status = "okay";
};

4.2、USB2.0 Host 2 和 USB2.0 Host 3

/* PHY配置 */
/* USB2.0 Comb PHY_1 */
&usb2phy1 {status = "okay";
};
&u2phy1_host {status = "okay";
};/* Controller配置 */
/* USB2.0_Host_2_Controller */
&usb_host0_ehci {status = "okay";
};
&usb_host0_ohci {status = "okay";
};
/* USB2.0_Host_3_Controller */
&usb_host1_ehci {status = "okay";
};
&usb_host1_ohci {status = "okay";
};

5、kernel配置

5.1、USB PHY CONFIG

CONFIG_PHY_ROCKCHIP_INNO_USB2=y
CONFIG_PHY_ROCKCHIP_TYPEC=y
CONFIG_PHY_ROCKCHIP_INNO_USB3=y

5.2、USB Host CONFIG

CONFIG_USB_XHCI_HCD=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y

5.3、USB OTG CONFIG

CONFIG_USB_DWC2=y
CONFIG_USB_DWC3=y

5.4、USB外设CONFIG

5.4.1、Mass Storage Class CONFIG

5.4.2、USB HID CONFIG

USB键鼠配置:

6、测试

目前将开发板的USB3.0 OTG开关切换到USB Host。开机上电,查看内核启动Log:

USB2.0 Host插入U盘Log:

USB3.0 Host插入U盘也是一样的。

当开发板USB3.0 OTG开关切换到USB device模式时,执行如下命令查看是否切换到了USB device:

root@rk3568-buildroot:/# cat /sys/kernel/debug/usb/fcc00000.dwc3/mode
device

7、总结

参考文章:

RK3568 USB功能配置

rk3568 适配USB_—rk3568----CSDN专栏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Servlet会话跟踪

在Servlet中,会话跟踪是通过HttpSession对象来实现的,主要有以下几种方式: 通过HttpSession对象 获取HttpSession对象:可以通过HttpServletRequest对象的getSession()方法来获取HttpSession对象。如果当前请求没有关联的会话&am…

一文讲清楚webpack和vite原理

一、前言 每次用vite创建项目秒建好,用vue-cli创建了一个项目,却有点久,那为什么用 vite 比 webpack 要快呢,这篇文章带你梳理清楚它们的原理及不同之处!文章有一点长,看完绝对有收获! 二、web…

Vue3源码解读--方向篇

vue3文档地址、GitHub项目地址: https://cn.vuejs.org/v2/api/ https://github1s.com/vuejs/vue-next/tree/3.2 二、如何本地调试vue3源码 很多时候我们都是在本地调试vue3的源码,然后沿着调用链,一步一步的去梳理vue3的源码。 把vue3项目拉到…

工业大数据分析算法实战-day20

文章目录 day20设备对象维度建模方法维度专家规则驱动的方法:AI-FIT-PM过程模型少量样本驱动的方法数据驱动的方法 软件维度 day20 今天是第20天,昨日是对第九章节行业知识沉淀中知识工程、维度模型、模式要素模型进行讲解,尤其是维度模型中…

k8s的可观测性

文章目录 1. 健康状态监测(Health Check)1.1 健康检查的原理1.2 健康检查的配置示例1.3 健康状态监测工具 2. 资源使用监控(Resource Usage Monitoring)2.1 资源使用监控的原理2.2 资源使用监控的配置示例2.3 资源使用监控工具 3.…

InstructGPT:基于人类反馈训练语言模型遵从指令的能力

大家读完觉得有意义记得关注和点赞!!! 大模型进化树,可以看到 InstructGPT 所处的年代和位置。来自 大语言模型(LLM)综述与实用指南(Amazon,2023) 目录 摘要 1 引言 …

自定义VUE指定,实现鼠标悬停显示提示面板,离开元素或面板后面板消失

参考文档:https://www.bilibili.com/opus/500023412612186477 // 自定义"v-tooltip"指令,实现鼠标悬浮显示文本 Vue.directive(tooltip, {bind(element, binding) {const tooltipText binding.value;const tooltip document.createElement(div);toolti…

如何进行年度工作回顾?

发生了什么事? 什么事情进展顺利 ? 什么事情进展不顺利? 如何适应未来? 年度回顾的定义:这是一种战略工具,能帮助人们清晰看到过去一年对业务、职业或个人生活的影响,可用于明确关键事件、找出问…

Centos 7 二进制安装时序数据库TDengine_我和国产时序数据库的第一次亲密接触

一、前言 之前在搞监控时,曾学习和测试过InfluxDB数据库,第一次接触时序数据库,也深深感受到了时序数据库的块,最近在墨天轮上看到对国产库时序数据库(Time Series Database)的介绍,特别是看了涛…

Design Compiler:两种工作模式(线负载模式和拓扑模式)

相关阅读 Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482 Design Compiler可以以线负载模式或拓扑模式启动,必须选择其中一个模式。在拓扑模式下还可使用多模式和UPF模式:多模式允许在多种工作…

【2024年-6月-14日-开源社区openEuler实践记录】探索 test - tools:高效测试的开源宝库

开篇引言 大家好,我是 fzr123,在软件开发领域深耕多年,一直致力于探索各种提升效率的工具与技术。今天,我将为大家深入介绍一款在测试领域极具价值的开源项目——test - tools,它为开发者们提供了一系列强大的测试功能…

Java实现拍卖系统详解

一、项目背景与需求分析 随着互联网技术的飞速发展,电子商务领域不断拓展新的业务模式,在线拍卖系统应运而生并逐渐成为一种重要的商业交易方式。在当今数字化的时代,人们越来越倾向于通过网络平台进行各类交易活动,在线拍卖系统…

真的一行代码没写,使用cursor智能代码编辑器,通过问答的方式,我构建了一个微信小程序

文章目录 1 待办123 产品介绍1.1 使用说明1.2 产品亮点1.3 应用场景 2 零基础实战教程:零代码开发微信小程序2.1 微信公众号注册小程序2.2 下载安装微信开发者工具2.3 下载安装cursor2.4 使用cursor零代码构建微信小程序 3 总结 使用cursor已经有一段时间了&#xf…

element-plus在Vue3中开发相关知识

报错&#xff1a;error.mjs:20 ElementPlusError: [ElForm] model is required for resetFields to work. 原因&#xff1a;el-form使用v-model没有把内容绑定上&#xff0c;需要使用 :model 才可以校验 将&#xff1a; <el-form label-width"auto" class"…

Python爬虫实战(保姆级登网页信息爬取教程)

此blog为爬虫实战教学&#xff0c;代码已附上&#xff0c;可以复制运行。若要直接看实战代码翻到博客后半部分。 本文使用selenium库进行爬虫&#xff0c;实现爬取数据操作&#xff0c;此库是通过模仿用户的操作进行对页面的处理。了解了这个思维模式&#xff0c;可以对代码进…

PyTorch快速入门教程【小土堆】之DataLoader的使用

视频地址DataLoader的使用_哔哩哔哩_bilibili dataset数据集&#xff0c;相当于一副扑克&#xff0c;dataloader数据加载器相当于我们的手&#xff0c;选择摸几张牌&#xff0c;怎么摸牌 import torchvision# 准备的测试数据集 from torch.utils.data import DataLoader from …

# 光速上手 - JPA 原生 sql DTO 投影

前言 使用 JPA 时&#xff0c;我们一般通过 Entity 进行实体类映射&#xff0c;从数据库中查询出对象。然而&#xff0c;在实际开发中&#xff0c;有时需要自定义查询结果并将其直接映射到 DTO&#xff0c;而不是实体类。这种需求可以通过 JPA 原生 SQL 查询和 DTO 投影 来实现…

ThinkPHP 8开发环境安装

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《ThinkPHP 8高效构建Web应用 夏磊 编程与应用开发丛书 清华大学出版社》【摘要 书评 试读】- 京东图书 1. 安装PHP8 Windows系统用户可以前往https://windows.php.net/downloads/releases/archives/下载PHP 8.0版本&am…

npm 切换镜像源

设置镜像源 npm config set registry https://mirrors.huaweicloud.com/repository/npm/ npm 官方原始镜像网址是&#xff1a;https://registry.npmjs.org/ 淘宝 NPM 镜像&#xff1a;https://registry.npm.taobao.org 阿里云 NPM 镜像&#xff1a;https://npm.aliyun.com 腾…

VUE前端实现防抖节流 Lodash

方法一&#xff1a;采用Lodash工具库 Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库。 &#xff08;1&#xff09;采用终端导入Lodash库 $ npm i -g npm $ npm i --save lodash &#xff08;2&#xff09;应用 示例&#xff1a;搜索框输入防抖 在这个示例…