[i.MX] mx6q 如何将OTG改为 host mode?

[复制链接]
1454|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时,原厂工程师对我们提出问题的态度和我们对待客户问题的态度......
ach_dmatek 发表于 2016-1-12 17:31 | 显示全部楼层
这样看你硬件是如何设计了。
bestchao 发表于 2016-1-12 17:34 | 显示全部楼层
energyplants 发表于 2016-1-12 20:02 | 显示全部楼层
硬件直接拉低或者IO设置一下
neeringstu 发表于 2016-1-13 20:38 | 显示全部楼层
OTG管脚上拉是不是就改了啊
 楼主| xu0xiang0 发表于 2016-1-21 15:47 | 显示全部楼层
自己弄出来了,增加一个PIN脚定义:
MX6Q_PAD_ENET_RX_ER__ANATOP_USBOTG_ID,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

36

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部