讯为4412精英版让OTG支持HOST模式
来源:互联网 发布:asp.net编程 编辑:程序博客网 时间:2024/04/30 21:09
讯为的精英版使用一个Hub,分出了2路USB和一路网口,另外有一路"OTG",但是却只能当作Device使用,不能作为Host.经过沟通,技术支持说能够支持,但是并没有告知如何修改,只让看三星提供的手册.(大写的尼玛).
USB设备应该说相当复杂,完全摸不到头绪.但还是咬着牙看源码.发现在arch/arm/mach-exynos/中有个setup-usb-phy.c文件.里面有关于物理设备的操作,然后继续找
有如图函数和我画框的部分.再顺着画框部分找
可以看到这个就是主从模式选择功能.
再看exynos4_usb_phy0_init函数,在exynos_usb_mux_change函数前,有个USB_HOST_MODE_ONLY宏,在这声明
通过printk可以知道,USB_HOST_MODE_ONLY这个宏是定义了的.也就是说exynos_usb_mux_change(pdev, 0);这个函数执行了.执行的结果就是,让OTG运行在从模式,所以软件上面的更改只需要把这个地方的0改成1,就结束了.
而硬件上面,我们都知道OTG作为主模式使用的话,是需要给设备供电的,而讯为的vbus引脚通过一个10K的电阻直接连接cpu和这个OTG接插件.而三星提供的文档里面有这样的结构
图不是很清楚,通过下面一张图可以猜出来和vbus相连的是vdd50
所以,硬件上的解决方案,如果不使用Device模式的话,直接弄个5V电源上来就可以了.然后重新编译内核,烧写进去,你会见证奇迹.
我水平有限,也没太多时间更详细的去学习相关驱动,所以只是做了这样的一个取巧的方式,完全可以使用.以后有时间再去纠结如何更漂亮的完成这个功能.(说实话技术支持真的不怎么样,可能是太忙了).我这也算是技术支持了,不知道能给点提成不!!开个玩笑.
如果说还想通过ID线来控制主从模式,这个就比较麻烦了.暂时不研究了.不过大概知道怎么修改.
转载地址:http://blog.csdn.net/aifei7320/article/details/54143647
- 讯为4412精英版让OTG支持HOST模式
- 讯为4412精英版让OTG支持HOST模式
- 6410 otg host 模式移植
- OMAPL138 OTG实现HOST
- USB host(OTG)应用
- OTG - Android USB Host
- USB host and OTG
- android usb otg模式转换成host模式(不使用otg线连接,只用普通usb四线连接)
- 让手机支持OTG,不看绝对后悔! - 我也做一回搬运工,解决RFID读卡器OTG支持问题
- 让apache支持重写模式
- OTG(usb2.0)强制Host调试全记录
- USB host 与 OTG 怎么切换
- OTG(usb2.0)强制Host调试全记录
- Android OTG支持USB读卡器
- 让nginx支持thinkphp的rewrite模式(url_model为2)
- TI推出支持USB OTG的bq24150开关模式充电管理IC
- 如何判断手机是否支持OTG
- Android手机USB OTG支持网线
- 基于MFC框架的C++游戏开发(三)游戏贴图与透明特效的实现
- IT风投的一些知识
- 《代码虚拟与自动化分析》1-3章笔记
- Gradle学习(二)——命令行
- 智能水肥一体化技术应用示范项目竞争性谈判成
- 讯为4412精英版让OTG支持HOST模式
- Cocos2d-x 3.x游戏开发之旅---<状态机>
- 数据库:脏读、不可重复读、幻读
- 第二行代码学习笔记——第二章:先从看得到的入手——探究活动
- 马尔可夫链 (Markov Chain)是什么鬼
- 京东商品评价信息采集爬虫开发教程-评价时间、内容、图片和评价者
- Linux|windows下部署多个Tomcat
- laravel使用中间件实现禁止未登录用户访问页面
- 电力系统的削峰填谷