TI中文支持网
TI专业的中文技术问题搜集分享网站

AM3352 usb检测不到

使用的是3.8的内核 , 在设备树里面做了下面的配置

am33xx.dtsi中

aliases {
usb0 = &usb0;
usb1 = &usb1;
phy0 = &usb0_phy;
phy1 = &usb1_phy;
};

usb: usb@47400000 {
compatible = "ti,am33xx-usb";
reg = <0x47400000 0x1000>;
ranges;
#address-cells = <1>;
#size-cells = <1>;
ti,hwmods = "usb_otg_hs";
status = "disabled";

usb_ctrl_mod: control@44e10620 {
compatible = "ti,am335x-usb-ctrl-module";
reg = <0x44e10620 0x10
0x44e10648 0x4>;
reg-names = "phy_ctrl", "wakeup";
status = "disabled";
};

usb0_phy: usb-phy@47401300 {
compatible = "ti,am335x-usb-phy";
reg = <0x47401300 0x100>;
reg-names = "phy";
status = "disabled";
ti,ctrl_mod = <&usb_ctrl_mod>;
};

usb0: usb@47401000 {
compatible = "ti,musb-am33xx";
status = "disabled";
reg = <0x47401400 0x400
0x47401000 0x200>;
reg-names = "mc", "control";

interrupts = <18>;
interrupt-names = "mc";
dr_mode = "otg";
mentor,multipoint = <1>;
mentor,num-eps = <16>;
mentor,ram-bits = <12>;
mentor,power = <500>;
phys = <&usb0_phy>;

dmas = <&cppi41dma 0 0 &cppi41dma 1 0
&cppi41dma 2 0 &cppi41dma 3 0
&cppi41dma 4 0 &cppi41dma 5 0
&cppi41dma 6 0 &cppi41dma 7 0
&cppi41dma 8 0 &cppi41dma 9 0
&cppi41dma 10 0 &cppi41dma 11 0
&cppi41dma 12 0 &cppi41dma 13 0
&cppi41dma 14 0 &cppi41dma 0 1
&cppi41dma 1 1 &cppi41dma 2 1
&cppi41dma 3 1 &cppi41dma 4 1
&cppi41dma 5 1 &cppi41dma 6 1
&cppi41dma 7 1 &cppi41dma 8 1
&cppi41dma 9 1 &cppi41dma 10 1
&cppi41dma 11 1 &cppi41dma 12 1
&cppi41dma 13 1 &cppi41dma 14 1>;
dma-names =
"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
"rx14", "rx15",
"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
"tx14", "tx15";
};

usb1_phy: usb-phy@47401b00 {
compatible = "ti,am335x-usb-phy";
reg = <0x47401b00 0x100>;
reg-names = "phy";
status = "disabled";
ti,ctrl_mod = <&usb_ctrl_mod>;
};

usb1: usb@47401800 {
compatible = "ti,musb-am33xx";
status = "disabled";
reg = <0x47401c00 0x400
0x47401800 0x200>;
reg-names = "mc", "control";
interrupts = <19>;
interrupt-names = "mc";
dr_mode = "otg";
mentor,multipoint = <1>;
mentor,num-eps = <16>;
mentor,ram-bits = <12>;
mentor,power = <500>;
phys = <&usb1_phy>;

dmas = <&cppi41dma 15 0 &cppi41dma 16 0
&cppi41dma 17 0 &cppi41dma 18 0
&cppi41dma 19 0 &cppi41dma 20 0
&cppi41dma 21 0 &cppi41dma 22 0
&cppi41dma 23 0 &cppi41dma 24 0
&cppi41dma 25 0 &cppi41dma 26 0
&cppi41dma 27 0 &cppi41dma 28 0
&cppi41dma 29 0 &cppi41dma 15 1
&cppi41dma 16 1 &cppi41dma 17 1
&cppi41dma 18 1 &cppi41dma 19 1
&cppi41dma 20 1 &cppi41dma 21 1
&cppi41dma 22 1 &cppi41dma 23 1
&cppi41dma 24 1 &cppi41dma 25 1
&cppi41dma 26 1 &cppi41dma 27 1
&cppi41dma 28 1 &cppi41dma 29 1>;
dma-names =
"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
"rx14", "rx15",
"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
"tx14", "tx15";
};

cppi41dma: dma-controller@47402000 {
compatible = "ti,am3359-cppi41";
reg = <0x47400000 0x1000
0x47402000 0x1000
0x47403000 0x1000
0x47404000 0x4000>;
reg-names = "glue", "controller", "scheduler", "queuemgr";
interrupts = <17>;
interrupt-names = "glue";
#dma-cells = <2>;
#dma-channels = <30>;
#dma-requests = <256>;
status = "disabled";
};
};

am335x-bone-common.dtsi中

usb0_pins_default: pinmux_usb0_pins { 
pinctrl-single,pins = < 
0x21c (0x00 | 0x00)/* (PIN_OUTPUT_PULLDOWN | MUX_MODE0)conf_usb0_drvvbus */ 
>; 
};

&usb {
status = "okay";
pinctrl-names = "default"; 
pinctrl-0 = <&usb0_pins_default>; 
control@44e10620 {
status = "okay";
};

usb-phy@47401300 {
status = "okay";
};

usb@47401000 {
status = "okay";

dr_mode = "otg";
};

usb-phy@47401b00 {
status = "okay";
};

usb@47401800 {
status = "okay";
dr_mode = "host";
};

dma-controller@47402000 {
status = "okay";
};
};

但是u盘插入还是无法检测出来,请问一下可能是什么原因导致的。

Steven Liu1:

先确认一下你的USB设计是按照我们官方的EVM板设计的吗?有没有查过check list?

http://processors.wiki.ti.com/index.php/AM335x_Schematic_Checklist#USB

用的什么模式?具体的设计是怎样?

Li Hao2:

回复 Steven Liu1:

硬件可能没有问题,因为uboot可以检测到u盘,读到u盘大小和名字。就是内核启动后就读不到u盘了

Li Hao2:

回复 Steven Liu1:

是通过DRVVBUS驱动的,没有直接接上5v电源

Li Hao2:

回复 Steven Liu1:

在uboot阶段drvbus是有3.3V电压,并且可以检测到u盘,进入内核之后就没有drvbus电压就为0v了,u盘无法识别。请问一下,内核设备树配置上面有没有上面问题?

user5204323:

回复 Li Hao2:

问题解决了么?我这好像也是这样 usb0正常使用,usb1不能使用

user5204323:

回复 Li Hao2:

问题解决了么?我这好像也是这样 usb0正常使用,usb1不能使用

GENTLE HSU:

回复 Steven Liu1:

我的vbus是直接接到了电源的5V上,那怎麼寫patch来解决U盘识别问题的。

赞(0)
未经允许不得转载:TI中文支持网 » AM3352 usb检测不到
分享到: 更多 (0)