We have a new board design using the CY7C65642 hub chip connected to USB0 of the AM3356 CPU and a type B connector to USB1.
I've changed the usb structure in the board-am335x.c file:
static struct omap_musb_board_data musb_board_data = {
.interface_type = MUSB_INTERFACE_UTMI, /* EVM: MUSB_INTERFACE_ULPI */
/*
* mode[0:3] = USB0PORT's mode
* mode[4:7] = USB1PORT's mode
* AM335X beta EVM has USB0 in OTG mode and USB1 in host mode.
*/
/* Note: USB0 is for hub host, and USB1 should be connected with B or mini-B connector */
.mode = (MUSB_PERIPHERAL << 4) | MUSB_HOST, /* EVM: (MUSB_HOST << 4) | MUSB_OTG */
.power = 100, /* EVM: 500 */
#endif
.instances = 1,
};
I can see that linux detects a hub during boot-up, but nothing plugged into the hub's USB ports is detected.
This is my kernel boot-up output:
[ 0.171477] usbcore: registered new interface driver hub
[ 0.171924] usbcore: registered new device driver usb
[ 0.172568] registerd cppi-dma Intr @ IRQ 17
[ 0.172601] Cppi41 Init Done Qmgr-base(d083a000) dma-base(d0838000)
[ 0.172623] Cppi41 Init Done
[ 0.172676] musb-ti81xx musb-ti81xx: musb0, board_mode=0x21, plat_mode=0x1
[ 0.173274] musb-ti81xx musb-ti81xx: musb1, board_mode=0x21, plat_mode=0x2
[ 0.177398] Advanced Linux Sound Architecture Driver Version 1.0.24.
[ 0.179943] Switching to clocksource gp timer
[ 0.219111] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[ 0.219452] musb-hdrc musb-hdrc.0: dma type: dma-cppi41
[ 0.220994] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[ 0.221182] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
[ 0.221403] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.221439] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.221472] usb usb1: Product: MUSB HDRC host driver
[ 0.221497] usb usb1: Manufacturer: Linux 3.2.0-ts-armv7l musb-hcd
[ 0.221524] usb usb1: SerialNumber: musb-hdrc.0
[ 0.223284] hub 1-0:1.0: USB hub found
[ 0.223351] hub 1-0:1.0: 1 port detected
[ 0.224546] musb-hdrc musb-hdrc.0: USB Host mode controller at d081e000 using DMA, IRQ 18
[ 0.224885] musb-hdrc musb-hdrc.1: dma type: dma-cppi41
[ 0.227153] musb-hdrc musb-hdrc.1: USB Peripheral mode controller at d0832800 using DMA, IRQ 19
The hub is configured to use all 4 ports, but it doesn't seem to me like it's detecting the 4 ports of the USB hub.
# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Also, the VID and PID that is detected, is it related to this hub? From the CY7C65642 documentation it looks like a different VID/PID: 0x04B4 and 0x6572.
I thought the generic hub probe would work for almost any hub, but this one just isn't cooperating :(
Would really appreciate any help...
Thanks in advance for any help or suggestions.