[U-Boot] - Help with usb3503 hub enumeration

Suriyan Ramasami suriyan.r at gmail.com
Sun Sep 15 01:25:39 CEST 2013


Hello All and especially Dan Murphy,
    Reading thru the mailing list Dan seems to have worked on usb3503a +
LAN9730 enumeration wrt the OMAP5. Hence, I seek his help and anyone else!

   This is with regards to an odroid-u2. It is Exynos 4412 prime based. It
has a usb3503a hub and also a LAN 9730 - I am guessing pretty much like the
omap5.

  From the clock source and the PMIC perspective I do see that the usb3503a
is powered up and gets a REF_CLK. (I can verify this as I can read and
write via I2C to the usb3503a and get/set its configuration. Also, I do
have the correct GPIO pins for the INT_N, RESET_N and HUB_CONNECT wrt the
usb3503a.

  In the platform based ehci-exynos.c I do initialize the the USB_PHY,
HSIC_1_PHY and HSIC2_PHY that is present in the Exynos 4412 SoC. These I
have copied over from the Linux kernel (which has full usb support and
works). Once this is done, I can see that the values for hccr and hcor
appear correct as reported by Linux too.

  When it comes to starting up usb via usb start, I seem to hit the below
sequence - with debug on ... The u-boot is quite an older u-boot, but I
have ported most of the usb code over from the arndale port over at
insignal - which seems to have usb working (they too have a usb3503a but
with exynos5)

My question is how do I debug this to get it working. Looks like the hcd
does not see the usb3503a, am I correct?
---------------------------- 8< ----------------------------
   (Re)start USB...
USB:   Exynos4412-ehci: init hccr 12580000 and hcor 12580010 hc_length 10
Register 1313 NbrPorts 3
USB EHCI 1.00
samsung_gpiolib_4bit_output: base: 11000c60 offset: 5 value: 0
s3c_gpiolib_set: reg: 11000c64 offset: 5 value: 0
samsung_gpiolib_4bit_output: base: 11000c60 offset: 0 value: 0
s3c_gpiolib_set: reg: 11000c64 offset: 0 value: 0
samsung_gpiolib_4bit_output: base: 11000c60 offset: 4 value: 0
s3c_gpiolib_set: reg: 11000c64 offset: 4 value: 0
s3c_gpiolib_set: reg: 11000c64 offset: 5 value: 1
Read 32 from USB3503 SP_ILOCK
s3c_gpiolib_set: reg: 11000c64 offset: 4 value: 1
Wrote 33 to USB3503_SP_ILOCK
samsung_gpiolib_4bit_input: base: 11000c60 offset: 0
scanning bus for devices... New Device 0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0
length 0x40
set address 1
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length
0x0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0
length 0x12
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0
length 0x9
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0
length 0x19
get_conf_no 0 Result 25, wLength 25
if 0, ep 0
##EP epmaxpacketin[1] = 8
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length
0x0
new device strings: Mfr=1, Product=2, SerialNumber=0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0
length 0xFF
USB device number 1 default language ID 0x1
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x1
length 0xFF
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x302 index 0x1
length 0xFF
Manufacturer u-boot
Product      EHCI Host Controller
SerialNumber
Vendor: 0x0000  Product 0x0000 Version 1.0
USB hub found
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0
length 0x4
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0
length 0x8
3 ports detected
individual port power switching
standalone hub
global over-current protection
power on to power good time: 20ms
hub controller current requirement: 0mA
port 1 is removable
port 2 is removable
port 3 is removable
usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0
length 0x4
get_hub_status returned status 1, change 103
local power source is lost (inactive)
no over-current condition exists
enabling power on all ports
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x8 index 0x1
length 0x0
port 1 returns 0
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x8 index 0x2
length 0x0
port 2 returns 0
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x8 index 0x3
length 0x0
The request port(2) is not configured
port 3 returns 80000000
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1
length 0x4
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2
length 0x4
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x3
length 0x4
The request port(2) is not configured
port 3: get_port_status failed
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1
length 0x0
port 1 returns 0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2
length 0x0
port 2 returns 0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x3
length 0x0
The request port(2) is not configured
port 3 returns 80000000
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1
length 0x4
Port 1 Status 500 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2
length 0x4
Port 2 Status 501 Change 1
port 2 connection change
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2
length 0x4
portstatus 501, change 1, 480 Mb/s
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x2
length 0x0
hub_port_reset: resetting port 1...
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x2
length 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2
length 0x4
portstatus 503, change 10, 480 Mb/s
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 1
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x2
length 0x0
New Device 1
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0
length 0x40
EHCI timed out on TD - token=0x80008c80
hub_port_reset: resetting port 1...
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x2
length 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2
length 0x4
portstatus 503, change 10, 480 Mb/s
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 1
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x2
length 0x0
set address 2
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x2 index 0x0 length
0x0
EHCI fail timeout STS_ASS set

      USB device not accepting new address (error=80000000)
hub: disabling port 2
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x1 index 0x2
length 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x3
length 0x4
The request port(2) is not configured
get_port_status failed
2 USB Device(s) found
scan end
       scanning bus for storage devices... 0 Storage Device(s) found
       scanning bus for ethernet devices... [0] IntIdVendor: 1060
IntIdProdcut: 60416 IdVendor: 0 IdProduct: 0
[1] IntIdVendor: 1060 IntIdProdcut: 38144 IdVendor: 0 IdProduct: 0
[0] IntIdVendor: 1060 IntIdProdcut: 60416 IdVendor: 0 IdProduct: 0
[1] IntIdVendor: 1060 IntIdProdcut: 38144 IdVendor: 0 IdProduct: 0
0 Ethernet Device(s) found
-----------------------------------------------------------------


More information about the U-Boot mailing list