一种主动控制usb的otg模式设计方法

一种主动控制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:嗯,有点思路了

你可能感兴趣的:(驱动开发)