[U-Boot] [PATCH v1 1/2] odroid: Update README with USB host information

Suriyan Ramasami suriyan.r at gmail.com
Wed Nov 19 19:47:52 CET 2014


Hello Przemyslaw,

On Wed, Nov 19, 2014 at 10:40 AM, Przemyslaw Marczak
<p.marczak at samsung.com> wrote:
> Hi,
>
>
> On 11/19/2014 07:29 PM, Suriyan Ramasami wrote:
>>
>> Hello Przemyslaw,
>>
>> On Wed, Nov 19, 2014 at 9:39 AM, Przemyslaw Marczak
>> <p.marczak at samsung.com> wrote:
>>>
>>> Hello,
>>>
>>> On 11/19/2014 05:21 PM, Suriyan Ramasami wrote:
>>>>
>>>>
>>>> Add information wrt the USB host side of things for the Odroid-U2/U3 and
>>>> the
>>>> Odroid-X/X2
>>>>
>>>> Signed-off-by: Suriyan Ramasami <suriyan.r at gmail.com>
>>>> ---
>>>>
>>>> Changes in v1:
>>>> - Add USB host notes for the Odroid
>>>>
>>>>    doc/README.odroid | 48
>>>> ++++++++++++++++++++++++++++++++++++++++++++++++
>>>>    1 file changed, 48 insertions(+)
>>>>
>>>> diff --git a/doc/README.odroid b/doc/README.odroid
>>>> index 528bb95..0eaf3ff 100644
>>>> --- a/doc/README.odroid
>>>> +++ b/doc/README.odroid
>>>> @@ -141,3 +141,51 @@ And the boot sequence is:
>>>>    - boot_fit - if "Image.itb" exists
>>>>    - boot_zimg - if "zImage" exists
>>>>    - boot_uimg - if "uImage" exists
>>>> +
>>>> +11. USB host support
>>>> +====================
>>>> +The Odroid-X/X2 have the below schematics wrt USB:
>>>> +
>>>> +Exynos USB_HOST1 -> USB3503 HUB ----> LAN9514 USB HUB -----> LAN9514
>>>> Ethernet
>>>> +                       |               |
>>>> +                       |               +-------Host1---------> USB port
>>>> +                       |               |
>>>> +                       |               +-------Host2---------> USB port
>>>> +                       |               |
>>>> +                       |               +-------Host3---------> USB port
>>>> +                       |               |
>>>> +                       |               +-------Host4---------> USB port
>>>> +                       |
>>>> +                       +-------------------------------------> USB port
>>>> +                       |
>>>> +                       +-------------------------------------> USB port
>>>> +
>>>> +The Odroid-U2/U3 have the below schematics wrt USB:
>>>> +
>>>> +Exynos HSIC1 -----------------------------------------------> LAN9514
>>>> Ethernet
>>>> +
>>>> +Exynos HSIC2 -----> USB3503A HUB ---------------Host1---------> USB
>>>> port
>>>> +                       |
>>>> +                       +-----------------------Host2---------> USB port
>>>> +                       |
>>>> +                       +-----------------------HOst3---------> USB port
>>>> (U3)
>>>> +
>>>> +The HSICs are used in the case of the Odroid-Us and the USB Host in the
>>>> SoC
>>>> +is used in the case of the Odroid-Xs.
>>>> +
>>>> +In drivers/usb/host/ehci-exynos.c, function names starting with
>>>> exysno4412*
>>>> +have been added to initialize the HSICs and the PHYs.
>>>> +
>>>> +In board/samsung/odroid/odroid.c, function board_usb_init() adds code
>>>> to
>>>> +initialize the USB3503 hub.
>>>> +The initializing of the USB3503 hub is as defined in the USB3503A spec
>>>> sheet.
>>>> +Please refer to Figure 4.1 in the Datasheet.
>>>> +a) Set the INT_N (X30) low (Odroid-Us) or high (Odroid-Xs). This is so
>>>> that the
>>>> +correct REFCLK frequency is selected. 24MHz for Odroid Us and 26MHz for
>>>> Odroid
>>>> +Xs.
>>>> +b) Disconnect the HUB (Set HUB_CONNECT (X34) to 0)
>>>> +c) Reset the HUB (Set RESET_N (X35) to 0 and then to 1)
>>>> +d) HUB waits for REF_CLK (which we have set appropriately)
>>>> +e) Timeout waiting for HUB configuration stage
>>>> +f) Connect the HUB (Set HUB_CONNECT (X34) to 1)
>>>> +g) Power recycle the LAN9730 which is connected to BUCK8 (Odroid Us)
>>>>
>>>
>>> Suriyan, you quite misunderstand my intention. You added really useful
>>> part
>>> of code - now user can read/write data to USB mass storage or boot over
>>> the
>>> Ethernet. Probably you are using this feature. And this is a usage of the
>>> USB for the user.
>>>
>>> For the user - it's not important how it works in the hardware - I would
>>> like to get some simple instructions, e.g. How to boot Odroid over the
>>> Ethernet, or how to write data to USB stick. I believe that users read
>>> this
>>> documentation when they starting use of Odroid with the mainline U-Boot,
>>> and
>>> a description of another boot option is welcome here.
>>> It should be "How to start with this board", rather than how to develop
>>> USB
>>> hub driver on it.
>>>
>>
>> Ah! I see. You are right, I totally misunderstood you. I shall get rid
>> of the hardware part of things, and add the sections that you have
>> mentioned, viz:
>> - How to boot Odroid over Ethernet
>> - How to boot Odroid over USB storage etc
>
>
> Yes, this will be full enough, but I'm not sure if those both cases will not
> require additional environment variables, like setting special bootargs?
>
I shall go through the whole setup including bootarg changes if any to
accomplish the said method of booting.
For example I could walk through an  example of just getting ping to work:

Odroid # usb start
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
       scanning usb for ethernet devices... 1 Ethernet Device(s) found
Odroid # setenv autoload no
Odroid # setenv usbethaddr 02:de:ad:be:ef:ff
Odroid # dhcp
Waiting for Ethernet connection... done.
BOOTP broadcast 1
DHCP client bound to address 192.168.1.10 (507 ms)
Odroid # ping 192.168.1.1
Waiting for Ethernet connection... done.
Using sms0 device
host 192.168.1.1 is alive
Odroid #

And go on from there to get tftp loading the linux kernel etc.

Thanks
- Suriyan

>>
>> Thanks
>> - Suriyan
>>
>>> Best regards,
>>> --
>>> Przemyslaw Marczak
>>> Samsung R&D Institute Poland
>>> Samsung Electronics
>>> p.marczak at samsung.com
>>
>>
>
> Thank you,
>
> --
> Przemyslaw Marczak
> Samsung R&D Institute Poland
> Samsung Electronics
> p.marczak at samsung.com


More information about the U-Boot mailing list