打印
[i.MX]

mx6q 如何将OTG改为 host mode?

[复制链接]
1011|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xu0xiang0|  楼主 | 2016-1-11 19:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
os, mx, ST, USB, IO
硬件: mx6q  不是官方的板子,可能是第三方修改的,不过支持官方的软件
软件: L3.0.35_1.1.0    板文件名  board_mx6q_sabrelite.c

      目前的板子上有一个USB接口和一个OTG接口,USB接口可以正常使用,因为需要,要将OTG接口改为host mode(插U盘从mx6q往外导数据,一个U口被键盘占用),通过查找资料,知道至少需要配置2个IO PIN脚: OTG_EN(PWR),   OTG_ID。
      在板文件中定义:
                    #define MX6Q_SABRELITE_USB_OTG_PWR  IMX_GPIO_NR(1, 29)
      在板文件的 static iomux_v3_cfg_t mx6q_sabrelite_pads[] 数组中配置 :
                    MX6Q_PAD_ENET_TXD1__GPIO_1_29,  /* USB_EN */      
      在板文件的      static void __init imx6q_sabrelite_init_usb(void) 函数中配置:
                    gpio_direction_output(MX6Q_SABRELITE_USB_OTG_PWR, 0);
      以上配置是让 OTG_EN输出低电平,使能另外一个芯片给OTG提供5V电压。

      OTG_ID 则为直接接地。

       做完以上配置后,重新编译烧录,进入板子,执行 ls /dev/sd* ,却怎么也不到插在OTG口的U盘,插在U口的可以正常识别。
       用万用表测量,VBUS确实是5V。

        问题:
        1.是否还需要做其他设置?
        2.是否需要配置 MenuConfig中的选项?如果是,能否告知配置哪些驱动?
        3.最近没见Rita出来解答问题了......


相关帖子

沙发
xu0xiang0|  楼主 | 2016-1-12 11:27 | 只看该作者
自己顶一下

使用特权

评论回复
板凳
mini1986| | 2016-1-12 12:25 | 只看该作者
你硬件上直接拉低就可以了吧......

使用特权

评论回复
地板
xu0xiang0|  楼主 | 2016-1-12 16:59 | 只看该作者
mini1986 发表于 2016-1-12 12:25
你硬件上直接拉低就可以了吧......

我用 gpio_get_value读取了Pin脚的值,已经拉低了.....,按照主板供应方的说法,这个是很简单的,虽然他们就在隔壁,不过,嘿嘿.......想想我在深圳做FAE时,原厂工程师对我们提出问题的态度和我们对待客户问题的态度......

使用特权

评论回复
5
ach_dmatek| | 2016-1-12 17:31 | 只看该作者
这样看你硬件是如何设计了。

使用特权

评论回复
6
bestchao| | 2016-1-12 17:34 | 只看该作者
**

使用特权

评论回复
7
energyplants| | 2016-1-12 20:02 | 只看该作者
硬件直接拉低或者IO设置一下

使用特权

评论回复
8
neeringstu| | 2016-1-13 20:38 | 只看该作者
OTG管脚上拉是不是就改了啊

使用特权

评论回复
9
xu0xiang0|  楼主 | 2016-1-21 15:47 | 只看该作者
自己弄出来了,增加一个PIN脚定义:
MX6Q_PAD_ENET_RX_ER__ANATOP_USBOTG_ID,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

36

帖子

0

粉丝