我们制作了一个新的电路板,使用了am5728芯片,使用tusb4041i来扩展usb2.0接口。
我没有对内核进行任何关于usb配置方面的修改。
下面是板子启动的打印信息:
[ 76.654585] usbcore: regstered new interface driver usbfs
[ 76.660739] usbcore: registered new interface driver hub
[ OK ] Reached target Sound Card.[ 76.660824] usbcore: registered new device driver usb
[ 76.685752] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[ 76.691820] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[ 76.700028] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x00210010
[ 76.708843] xhci-hcd xhci-hcd.1.auto: irq 438, io mem 0x48890000
[ 76.715539] hub 1-0:1.0: USB hub found
[ 76.719324] hub 1-0:1.0: 1 port detected
[ 76.724294] omap_hsmmc 480b4000.mmc: could not find pctldev for node /ocp/padconf@4844a000/mmc2_iodelay_ddr_3_3v_conf, deferring probe
[ 76.736927] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[ 76.743361] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
Starting rc.pvr.service…[ 76.751285] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[ 76.752459] omap_hsmmc 480b4000.mmc: could not find pctldev for node /ocp/padconf@4844a000/mmc2_iodelay_ddr_3_3v_conf, deferring probe
[ 76.774478] hub 2-0:1.0: USB hub found
[ 76.778322] hub 2-0:1.0: 1 port detected
请问上面的信息是不是讲usb2.0和usb3.0总线都已经正常工作了?
root@am57xx-evm:~# lsusb -t
/: Bus 02.Port 1: Dev 1, class="root_hub", Driver=xhci-hcd/1p, 5000M
/: Bus 01.Port 1: Dev 1, class="root_hub", Driver=xhci-hcd/1p, 480M
但是这里还是没有检测到tusb4041i这个设备,请问这是由什么原因导致的呢?
求解答
Steven Liu1:
log上,应该是detect到了,插上U盘没办法识别吗?
ce guo:
回复 Steven Liu1:
感谢回复,
我的hub是可以检测到的,而且插入鼠标优盘也是可以识别的,但是每当使能hub,或者是在hub下游端口重新插入usb设备,都会打印下面的错误信息:
root@am57xx-evm:~# [ 1459.723440] usb 3-1: reset high-speed USB device number 2using xhci-hcd[ 1460.210228] usb 3-1.4: new high-speed USB device number 7 using xhci-hcd[ 1460.290245] usb 3-1.4: device descriptor read/64, error -71[ 1460.480258] usb 3-1.4: device descriptor read/64, error -71[ 1460.670222] usb 3-1.4: new high-speed USB device number 8 using xhci-hcd[ 1460.750245] usb 3-1.4: device descriptor read/64, error -71[ 1460.940291] usb 3-1.4: device descriptor read/64, error -71[ 1461.130224] usb 3-1.4: new high-speed USB device number 9 using xhci-hcd[ 1461.136995] usb 3-1.4: Device not responding to setup address.[ 1461.350278] usb 3-1.4: Device not responding to setup address.[ 1461.560220] usb 3-1.4: device not accepting address 9, error -71[ 1461.640267] usb 3-1.4: new high-speed USB device number 10 using xhci-hcd[ 1461.647154] usb 3-1.4: Device not responding to setup address.[ 1461.860278] usb 3-1.4: Device not responding to setup address.[ 1462.070222] usb 3-1.4: device not accepting address 10, error -71[ 1462.076436] usb 3-1-port4: unable to enumerate USB device
上面的信息中error -71的意思是协议错误,下面也提示USB设备枚举失败了
但是hub还是detect到了,而且插入U盘也可以顺利挂接U盘的文件系统进行访问
但是这错误应该如何避免呢
ce guo:
回复 Steven Liu1:
我发现在UBOOT里进行的引脚复用GPIO拉高,或者直接操作对应的gpio寄存器拉高,那么拉高电平仅为1.9V;但是如果使用内核提供的API函数将GPIO引脚拉高,拉高电平即为3.3V,
而且两种操作之后,对应的GPIO寄存器都是0x0002000e。