
Hi,
On Sun, Sep 15, 2013 at 4:55 AM, Suriyan Ramasami suriyan.r@gmail.com wrote:
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.
Did you also check the basic host operation, if you have any external port coming out of USB2.0 PHY (not HSIC phy) where you can connect a mass storage device or n/w device may be and see if that's getting enumerated.
Also, I do have the correct GPIO pins for the INT_N, RESET_N and HUB_CONNECT wrt the usb3503a.
So are you doing a proper reset of USB3503 hub using RESET_N line ? Basically what i could see from Linaro's git also and they are doing a pull-down followed by pull-up of RESET_N and HUB_CONNECT gpios when setting up the HSIC phy.
Please have a look at following patch if this helps: https://launchpadlibrarian.net/122816176/0001-DRIVERS-USB-Initialize-HSIC-PH...
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.
Can you attach the patch here which you are using for setting up the required PHY settings. In the first look there's PHY that is to be suspected.
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
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot