RK3288 OTG切换为Host模式
OTG = On The Go,是USB的一种工作模式
USB协议中规定了两类设备,一类是Host、一类是Device.
Host为主控设备,如PC,Device为从设备,如鼠标、U盘等,Device只能连接到Host上并由Host控制。
OTG是一种特殊的USB设备,它本身是Device,可以连接Host,并被Host所控制。但它同时也能作为Host连接Device。
OTG 在硬件上由 ID 引脚决定做 Host 还是 Device,上拉为 Device,下拉为 Host。
目前大部分手机都支持 OTG,根据原理自己可以动手制作一根 OTG 线。
RK3288 的 OTG 转换为 Host 模式有 3 中方法。
1、修改硬件
RK3288 的 ID 引脚默认上拉,作为 Device 设备,如要转换为 Host 模式,只需将 ID 引脚下拉到地即可。
简单点就是接一根 OTG 线即可。
2、修改 dts 文件
文件路径:/kernel/arch/arm/boot/dts/rk3288.dtsi
usb0: usb@ff580000 {
compatible = "rockchip,rk3288_usb20_otg";
reg = <0xff580000 0x40000>;
interrupts = <GIC_SPI IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk_gates13 >, <&clk_gates7 >;
clock-names = "clk_usbphy0", "hclk_usb0";
resets = <&reset RK3288_SOFT_RST_USBOTG_H>, <&reset RK3288_SOFT_RST_USBOTGPHY>,
<&reset RK3288_SOFT_RST_USBOTGC>;
reset-names = "otg_ahb", "otg_phy", "otg_controller";
/*0 - Normal, 1 - Force Host, 2 - Force Device*/
// rockchip,usb-mode = <0>;
/* 0-正常模式,ID决定,1-Host模式,2-Device模式*/
rockchip,usb-mode = <>;
};
3、使用指令修改 force_usb_mode 的值
0 - 正常模式,ID 决定
1 - Host 模式
2 - Device 模式
root@rk3288:/ # cd /sys/bus/platform/drivers/usb20_otg
cd /sys/bus/platform/drivers/usb20_otg
root@rk3288:/sys/bus/platform/drivers/usb20_otg # ls
ls
bind
debuglevel
dwc_otg_conn_en
ff580000.usb
force_usb_mode
op_state
uevent
unbind
vbus_status
version
// 默认是正常模式,ID决定
root@rk3288:/sys/bus/platform/drivers/usb20_otg # cat force_usb_mode
cat force_usb_mode // 修改为 Host 模式,会自动退出 adb
root@rk3288:/sys/bus/platform/drivers/usb20_otg # echo > force_usb_mode
通过指令可以修改,即可在上层的设置菜单中增加一个 USB 模式切换开关,即用户可以通过界面修改 OTG 的模式。
RK3288 OTG切换为Host模式的更多相关文章
- Self Host模式下的ASP. NET Web API是如何进行请求的监听与处理的?
构成ASP.NET Web API核心框架的消息处理管道既不关心请求消息来源于何处,也不需要考虑响应消息归于何方.当我们采用Web Host模式将一个ASP.NET应用作为目标Web API的宿主时, ...
- Android主题切换—夜间/白天模式探究
现在市面上众多阅读类App都提供了两种主题:白天or夜间. 上述两幅图片,正是两款App的夜间模式效果,所以,依据这个功能,来看看切换主题到底是怎么实现的(当然现在github有好多PluginThe ...
- ASP.NET Web API 框架研究 Self Host模式下的消息处理管道
Self Host模式下的ASP.NET Web API与WCF非常相似,都可以寄宿在任意类型的托管应用程序中,宿主可以是Windows Form .WPF.控制台应用以及Windows Servic ...
- ASP.NET Web API 框架研究 Web Host模式下的消息处理管道
寄宿的作用是开启一个进程为Web API提供一个运行环境以解决持续监听.请求监听和响应回复,即将接收到的请求转换成HttpRequestMessage对象传入管道,并将管道生成并经过处理后的HttpR ...
- ASP.NET Web API 框架研究 Web Host模式路由及将请求转出到消息处理管道
Web Host 模式下的路由本质上还是通过ASP.NET 路由系统来进行路由的,只是通过继承和组合的方式对ASP.NET路由系统的内部的类进行了一些封装,产生自己专用一套类结构,功能逻辑基本都是一样 ...
- [转]magento2项目上线注意事项 切换到产品模式
本文转自:https://segmentfault.com/a/1190000007929783 切换到产品模式 php magento deploy:mode:set production 执行以上 ...
- VirtualBox“切换到无缝模式”和“自动调整显示尺寸”菜单无法使用
现象:VirtualBox“切换到无缝模式”和“自动调整显示尺寸”菜单无法使能,无法全窗口显示虚拟机桌面,菜单状态如下图所示: 原因:该功能的支持需要安装VirtualBox增强功能 方法:安装Vir ...
- 文档类型、DOCTYPE切换和浏览器模式
DTD(文档类型定义)是一种机器可读的规则,它们定义XML或HTML的特定版本中允许有什么.不允许有什么.在解析网页时,浏览器将使用这些规则检查页面的有效性并且采取相应的措施.浏览器通过分析页面的DO ...
- atitit.GUI图片非规则按钮跟动态图片切换的实现模式总结java .net c# c++ web html js
atitit.GUI图片非规则按钮跟动态图片切换的实现模式总结java .net c# c++ web html js 1. 图片按钮的效果总结 1 1.1. 按钮图片自动缩放的. 1 1.2. 不要 ...
随机推荐
- CentOS上部署Django+Nginx+Uwsgi环境
在CentOS上部署Django+Nginx+Uwsgi环境 奇谭 2016-09-01 评论 Linux python django nginx uwsgi VirtualEnv的作用:创建隔 ...
- android mvp RxJava 框架结构分析
一个MVP结构:M是model,V是Fragment,P是提供者,P持有V和Model,控制获取数据并给V赋值.(结合了RXJava Retrofit和okHttp)
- 做网站用UTF-8还是GB2312?
经常我们打开外国网站的时候出现乱码,又或者打开很多非英语的外国网站的时候,显示的都是口口口口口的字符, WordPress程序是用的UTF-8,很多cms用的是GB2312. ● 为什么有这么多编码? ...
- vue.js 源代码学习笔记 ----- instance render
/* @flow */ import { warn, nextTick, toNumber, _toString, looseEqual, emptyObject, handleError, loos ...
- asp.net设置gridview页码显示遇到的问题
问题:分页部分显示的页码撑开占满整个表格底部 解决方法: 1.通过浏览器察看源,发现是分页部分的table样式受到整个页面的table设置的样式的影响,分页是一个tr里面的td里面的table 2.设 ...
- Kotlin Reference (七) Returns and Jumps
most from reference kotlin有三个结构跳跃表达式 return 默认情况下,从最近的封闭函数或匿名函数返回. break 跳出整个循环 continue 跳出本次循环,进行下一 ...
- Java基础拾遗(二)
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76358523冷血之心的博客) 马上就要秋招了,新的一轮笔试面试马上 ...
- 每周荐书:云原生、Docker、Web算法(评论送书)
每周荐书:云原生.Docker.Web算法(评论送书) 感谢大家对每周荐书栏目的支持,先公布下上周中奖名单 名优秀评论可以免费获得此书. 云原生应用架构实践 云原生架构,关注简化开发流程.提升研发 ...
- 【集成学习】lightgbm使用案例
github地址 #!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Created on Sat Mar 31 21: ...
- kubeadm搭建kubernetes集群之一:构建标准化镜像
使用docker可以批量管理多个容器,但都是在同一台电脑内进行的,这在实际生产环境中是不够用的,如何突破单机的限制?让多个电脑上的容器可以像单机上的docker-compose.yml管理的那样方便呢 ...