一种主动控制usb的otg模式设计方法
提供了2种思路供参考设计
Q:想通过一个标志位 来打开或者关闭OTG 功能
A:需要保存记录?
Q:保存一个变量,通过读取那个变量的值,来判断启用 或者 中断OTG 功能
A:这个你可以做到系统里面去
A:系统设置里面加个选项 然后传值到 驱动层
A:驱动层做个sys节点来接受这个值
Q:其实我也是这样做的
Q:设置里面有做个选项
Q:但是如果那个USB_ID 脚短路了
Q:还没跑到Android 的时候,我的设置就不起作用了
A:驱动可以设置个默认值 默认关闭otg
Q:嗯,这个靠谱
Q:这样的话,是不是要Android跑起来,再插OTG设备才行了
A:驱动可以加个标志 保存android跑起来之前otg的转态,android起来写节点后,除了打开otg,然后再主动触发下中断,当然如果客户要求不高的话,可以等android起来后再插otg
Q:OTG 除了干预它的中断外,有其他方法打开或者关闭吗
A:有是有 代码动的比较多,这块还是不要改动太大,出了bug高通不给维护只能自己解决
Q:嗯
Q:还有你说的,主动触发中断
Q:这个怎么实现的
A:直接调用那个中断函数就可以了
Q:那个中断函数在phy-msm-usb.c
Q:大概叫这个文件名,其他地方可以调用的到吗
A:对 需要申明下 你可以再这个c文件里再做个void xxx(void) 这样的函数接口出来
A:方便调用
A:你们硬件会改嘛
A:?
Q:改硬件控制OTG?
A:用个gpio控制这个usb_id 脚软件会简单很多
A:有客户有这个需求的话 一般都是推荐这种
Q:不改硬件,所以软件改起来有点麻烦
A:是的 如果你们是新项目 建议还是这样做简单些 硬件不改的话,你就照上面的思路自己调试调试
Q:嗯,有点思路了