[U-Boot] usb start causes u-boot restart with TUSB8041 hub

Chris Welch Chris.Welch at viavisolutions.com
Mon Jun 4 13:12:42 UTC 2018


We are developing a product based on the TI AM5728 EVM.  The product has a TUSB8041 USB hub on the AM5728 USB host port for additional USB ports.

The hub works without any problems in Linux kernel, but causes u-boot to restart when the TUSB8041 is probed during usb start.

We are working with the 4.03.00.05 TI SDK which uses u-boot 2017.01 as the base code.  We can run "usb start" in uboot if we leave the TUSB8041 disabled.  Not useful though as we cannot communicate with any of our product ports because they are on the hub.

usb start fails whenever the hub is enabled:

=> usb start
starting USB...
USB0:   Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... ERROR: Configure Endpoint command returned completion code 8.
Failed to configure xHCI endpoint
failed to set default configuration len 25, status 80000000
BUG: failure at drivers/usb/host/xhci.c:503/_xhci_alloc_device()!
BUG!
resetting ...

We are using the hub with all default settings except PWRCTL polarity is active high and disable the custom battery charging feature.  We configure and enable the hub via I2C in board.c of uboot, here is an example of the code we use:

To configure TUSB8041:

palmas_i2c_write_u8(TUSB8041_HUB_1, 0xA, 0x20);

Exit TUSB8041 configuration mode and activate:

palmas_i2c_write_u8(TUSB8041_HUB_1, 0xF8, 0x1);

and uboot resets when usb start is requested.

No issues if the hub is not activated by commenting out the i2c initialization code in board.c:

=> usb start
starting USB...
USB0: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found

=> usb tree
USB device tree:
1 Hub (5 Gb/s, 0mA)
U-Boot XHCI Host Controller

Any help with this would be appreciated.  Thanks


More information about the U-Boot mailing list