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模式的更多相关文章

  1. Self Host模式下的ASP. NET Web API是如何进行请求的监听与处理的?

    构成ASP.NET Web API核心框架的消息处理管道既不关心请求消息来源于何处,也不需要考虑响应消息归于何方.当我们采用Web Host模式将一个ASP.NET应用作为目标Web API的宿主时, ...

  2. Android主题切换—夜间/白天模式探究

    现在市面上众多阅读类App都提供了两种主题:白天or夜间. 上述两幅图片,正是两款App的夜间模式效果,所以,依据这个功能,来看看切换主题到底是怎么实现的(当然现在github有好多PluginThe ...

  3. ASP.NET Web API 框架研究 Self Host模式下的消息处理管道

    Self Host模式下的ASP.NET Web API与WCF非常相似,都可以寄宿在任意类型的托管应用程序中,宿主可以是Windows Form .WPF.控制台应用以及Windows Servic ...

  4. ASP.NET Web API 框架研究 Web Host模式下的消息处理管道

    寄宿的作用是开启一个进程为Web API提供一个运行环境以解决持续监听.请求监听和响应回复,即将接收到的请求转换成HttpRequestMessage对象传入管道,并将管道生成并经过处理后的HttpR ...

  5. ASP.NET Web API 框架研究 Web Host模式路由及将请求转出到消息处理管道

    Web Host 模式下的路由本质上还是通过ASP.NET 路由系统来进行路由的,只是通过继承和组合的方式对ASP.NET路由系统的内部的类进行了一些封装,产生自己专用一套类结构,功能逻辑基本都是一样 ...

  6. [转]magento2项目上线注意事项 切换到产品模式

    本文转自:https://segmentfault.com/a/1190000007929783 切换到产品模式 php magento deploy:mode:set production 执行以上 ...

  7. VirtualBox“切换到无缝模式”和“自动调整显示尺寸”菜单无法使用

    现象:VirtualBox“切换到无缝模式”和“自动调整显示尺寸”菜单无法使能,无法全窗口显示虚拟机桌面,菜单状态如下图所示: 原因:该功能的支持需要安装VirtualBox增强功能 方法:安装Vir ...

  8. 文档类型、DOCTYPE切换和浏览器模式

    DTD(文档类型定义)是一种机器可读的规则,它们定义XML或HTML的特定版本中允许有什么.不允许有什么.在解析网页时,浏览器将使用这些规则检查页面的有效性并且采取相应的措施.浏览器通过分析页面的DO ...

  9. 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. 不要 ...

随机推荐

  1. superset dashboard 设置自动刷新

    因为发现了,自己制作了看板dashboard,却不会刷新,很奇怪. 那这样不是太傻了.难道要业务人员一个个去点吗? 一定有刷新的,然后和无头苍蝇在网上找了半天. 实际刷新的位置在这里. 具体设置有很多 ...

  2. JS之BOM和DOM(来源、方法、内容、应用)

    1.Javascript组成(此文为转载) JavaScript的实现包括以下3个部分: 1)核心(ECMAScript):描述了JS的语法和基本对象. 2)文档对象模型 (DOM):处理网页内容的方 ...

  3. poj3686

    题解: KM算法 把每一个点拆成n个 然后改变编圈 代码: #include<cstdio> #include<cmath> #include<cstring> # ...

  4. SpringAnnotation注解之@Component,@Repository,@Service,@Controller

    @Component:组件,表示此写上了此注解的bean,作为一个组件存在于容器中.这样的话别的地方就可以使用@Resource这个注解来把这个组件作为一个资源来使用了.初始化bean的名字为类名首字 ...

  5. New Concept English three(10)

    The great ship, Titanic, sailed for New York from Southampton on April 10th, 1912. She was carrying ...

  6. Swift UITextField各种属性的设置

    //MARK: 文本输入框 func _initTextField() { //如果需要在模拟器中调用电脑的键盘 快捷键:command + shift + k let textField = UIT ...

  7. JS修改标签中的文本且不影响其中标签

    /********************************************************************* * JS修改标签中的文本且不影响其中标签 * 说明: * ...

  8. 【C++】STL之队列queue

    1.头文件 # include<queue> 2.成员函数 empty() 当队列为空时,返回true size() 返回队列内元素个数 front() 返回队首元素 back() 返回队 ...

  9. 搭建简单Samba服务器

    本文主要实现搭建简单的Samba服务器,使得Windows能访问Linux下的共享目录,为了简单,已经关闭iptables和selinux. 1.安装samba服务器 #yum list all sa ...

  10. python 除法