[U-Boot] - Help with usb3503 hub enumeration

Suriyan Ramasami suriyan.r at gmail.com
Tue Sep 24 18:00:02 CEST 2013


Thanks Vivek for your response!

On Tue, Sep 24, 2013 at 2:10 AM, Vivek Gautam <gautamvivek1987 at gmail.com> wrote:
> Hi,
>
>
> On Sun, Sep 15, 2013 at 4:55 AM, Suriyan Ramasami <suriyan.r at 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.
>
Yes, I do a proper RESET_N pull_down followed by a pull_up. I can see
that the usb3503a goes into the ref_clk stage etc as the i2c
communication then starts working with the usb3503a. I end it with
raising the HUB_CONNECT so that it moves into the HUB_COMMUNICATION
stage. I can also verify this, as the document says that the i2c
communication will not happen anymore once the hub is in the hub
communication stage. And rightfully so, if I try to read a register
using i2c with the usb3503a (after pull up of hub_connect) I get an
i2c error.

> Please have a look at following patch if this helps:
> https://launchpadlibrarian.net/122816176/0001-DRIVERS-USB-Initialize-HSIC-PHYs-and-enable-network-.patch
>
Thank you for the link to this patch.

>>
>>   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.

I also have debugged ehci-hcd.c to see the failing part, and it
appears that it goes thru the root hub enumeration stage well - as its
present in the hcd itself. Looks like the root hub has 3 ports. port1
and port2 seem to be configured but port 3 is not configured. I am
assuming port 1 is where the LAN9730 is sitting and port 2 is where
the usb 3503a is sitting.


More information about the U-Boot mailing list