天嵌IMX6-USB和OTG在设备树中的适配

先看板子的原理图,usb用的usb2184芯片,只用了两组usb口和一个otg

 

天嵌IMX6-USB和OTG在设备树中的适配

USB原理图

天嵌IMX6-USB和OTG在设备树中的适配

USB原理图

 

天嵌IMX6-USB和OTG在设备树中的适配

OTG原理图

 

如图,只有两处和芯片IO有关系,一个是GPIO1_20(SD1_CLK)一个是GPIO7_1(SD3_DAT4)。
看下imx6的设备树文件

 

天嵌IMX6-USB和OTG在设备树中的适配

设备树源码


可以看出和官方默认设置的两个GPIO对不上,所以这里需要修改,并且保证其他地方没有用到你所修改的引脚。

天嵌IMX6-USB和OTG在设备树中的适配

i.MX_6_BSP_Porting_Guide.pdf


通过官方文档我们得知OTG和usb的工作条件,这些在默认设置里面都是正确的,解释一下regulator-min-microvolt = <5000000>代表最低电压是5V,这里是一个字符串,如果是3.3V则是regulator-min-microvolt = <3300000>。若设置的不正确或没有设置,你的USB芯片是不可能正常工作的。

再解释一下gpio = <&gpio 1 20 0>,这个意思是gpio1组里的第20pin的电平为低。
我们需要确认一下到底是输出高还是低,看别人的文章是0,所以我也就先试试0了,懒得查芯片手册了。
改完之后还要确认一下这两个新的引脚是否在别处被用过,有可能导致你的设置失效。

 

天嵌IMX6-USB和OTG在设备树中的适配

正确的修改


注意,需要注释掉vin-supply = <&swbst_reg>,这个参数和上面的电压设置冲突了

天嵌IMX6-USB和OTG在设备树中的适配

设备树解析失败


然后就可以编译设备树重新烧录了。

天嵌IMX6-USB和OTG在设备树中的适配

image.png

 

天嵌IMX6-USB和OTG在设备树中的适配

image.png

 

天嵌IMX6-USB和OTG在设备树中的适配

image.png

 

天嵌IMX6-USB和OTG在设备树中的适配

image.png

 

天嵌IMX6-USB和OTG在设备树中的适配

image.png


上面是内核驱动设置

作者:Lazy_Caaat
链接:https://www.jianshu.com/p/63b10c7a6b09
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。