各位好,现在想要usb0设置为从模式,与PC通信;usb1设置为主模式,通过hub连接各种usb设备。usb1功能已实现,usb0通过usb线连接电脑无反应。
硬件上,两个usb的vbus脚都是直接接5V,usb0的ID脚悬空,usb1的ID脚下拉到地。除DM、DP外的其它脚悬空。
dts配置如下:
&usb {
status = "okay";
control@44e10620 {
status = "okay";
};
usb-phy@47401300 {
status = "okay";
};
usb-phy@47401b00 {
status = "okay";
};
usb@47401000 {
status = "okay";
};
usb@47401800 {
status = "okay";
dr_mode = "host";
};
dma-controller@47402000 {
status = "okay";
dr_mode = "peripheral";
};
};
启动后usb信息如下:
dmesg | grep usb [ 0.250293] usbcore: registered new interface driver usbfs [ 0.250482] usbcore: registered new interface driver hub [ 0.250677] usbcore: registered new device driver usb [ 1.275226] usbcore: registered new interface driver asix [ 1.281138] usbcore: registered new interface driver ax88179_178a [ 1.287742] usbcore: registered new interface driver cdc_ether [ 1.294095] usbcore: registered new interface driver smsc95xx [ 1.300298] usbcore: registered new interface driver net1080 [ 1.306424] usbcore: registered new interface driver cdc_subset [ 1.312794] usbcore: registered new interface driver zaurus [ 1.318900] usbcore: registered new interface driver cdc_ncm [ 1.325029] usbcore: registered new interface driver cdc_mbim [ 1.355088] usbcore: registered new interface driver cdc_wdm [ 1.361281] usbcore: registered new interface driver usb-storage [ 1.368011] usbcore: registered new interface driver usbserial [ 1.374324] usbcore: registered new interface driver option [ 1.380329] usbserial: USB Serial support registered for GSM modem (1-port) [ 1.389949] of_get_named_gpiod_flags: can't parse gpios property of node '/ocp/usb@47400000/usb-phy@47401300[0]' [ 1.390014] 47401300.usb-phy supply vcc not found, using dummy regulator [ 1.399816] musb-hdrc musb-hdrc.0.auto: Failed to request rx1. [ 1.406019] musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -517 [ 1.414335] platform musb-hdrc.0.auto: Driver musb-hdrc requests probe deferral [ 1.422741] of_get_named_gpiod_flags: can't parse gpios property of node '/ocp/usb@47400000/usb-phy@47401b00[0]' [ 1.422794] 47401b00.usb-phy supply vcc not found, using dummy regulator [ 1.432417] musb-hdrc musb-hdrc.1.auto: Failed to request rx1. [ 1.438708] musb-hdrc musb-hdrc.1.auto: musb_init_controller failed with status -517 [ 1.446892] platform musb-hdrc.1.auto: Driver musb-hdrc requests probe deferral [ 1.512511] usbcore: registered new interface driver uvcvideo [ 1.586269] usbcore: registered new interface driver usbhid [ 1.592184] usbhid: USB HID core driver [ 2.870145] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn) [ 2.870162] musb-hdrc: MHDRC RTL version 2.0 [ 2.870172] musb-hdrc: setup fifo_mode 4 [ 2.870187] musb-hdrc: 28/31 max ep, 16384/16384 memory [ 2.870292] musb-hdrc musb-hdrc.0.auto: MUSB HDRC host driver [ 2.876833] musb-hdrc musb-hdrc.0.auto: new USB bus registered, assigned bus number 1 [ 2.885360] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 2.892526] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.900127] usb usb1: Product: MUSB HDRC host driver [ 2.905351] usb usb1: Manufacturer: Linux 3.14.26 musb-hcd [ 2.911141] usb usb1: SerialNumber: musb-hdrc.0.auto [ 2.930167] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn) [ 2.930186] musb-hdrc: MHDRC RTL version 2.0 [ 2.930194] musb-hdrc: setup fifo_mode 4 [ 2.930209] musb-hdrc: 28/31 max ep, 16384/16384 memory [ 2.930333] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver [ 2.936934] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 2 [ 2.945428] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 [ 2.952588] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.960197] usb usb2: Product: MUSB HDRC host driver [ 2.965417] usb usb2: Manufacturer: Linux 3.14.26 musb-hcd [ 2.971195] usb usb2: SerialNumber: musb-hdrc.1.auto [ 3.387144] usb 2-1: new high-speed USB device number 2 using musb-hdrc [ 3.549623] usb 2-1: New USB device found, idVendor=0424, idProduct=2514 [ 3.556675] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 3.888301] usb 2-1.2: new high-speed USB device number 3 using musb-hdrc [ 4.117340] usb 2-1.2: New USB device found, idVendor=058f, idProduct=5608 [ 4.124577] usb 2-1.2: New USB device strings: Mfr=3, Product=1, SerialNumber=0 [ 4.132276] usb 2-1.2: Product: USB 2.0 Web Camera [ 4.137322] usb 2-1.2: Manufacturer: Alcor Micro, Corp. [ 4.217896] input: USB 2.0 Web Camera as /devices/ocp.3/47400000.usb/47401c00.usb/musb-hdrc.1.auto/usb2/2-1/2-1.2/2-1.2:1.0/input/input1 root@am335x-evm:~# dmesg | grep hub [ 0.250482] usbcore: registered new interface driver hub [ 2.917427] hub 1-0:1.0: USB hub found [ 2.921458] hub 1-0:1.0: 1 port detected [ 2.977400] hub 2-0:1.0: USB hub found [ 2.981425] hub 2-0:1.0: 1 port detected [ 3.588407] hub 2-1:1.0: USB hub found [ 3.592472] hub 2-1:1.0: 4 ports detected
想问下:
1.硬件上是否可以这样设计?
2.如果可以,是否还有哪里需要设置或什么的?之前调试usb1的时候,由于下接hub不支持热插拔,打过一个patch,此外就没有修改过内核usb相关文件了。
期待各位的回复,先行谢过。






