[U-Boot] [PATCH v1 1/2] odroid: Update README with USB host information
Przemyslaw Marczak
p.marczak at samsung.com
Wed Nov 19 20:26:52 CET 2014
Hello,
On 11/19/2014 07:47 PM, Suriyan Ramasami wrote:
> 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
>
That's great. And if you have a time for it, then you could add required
changes to CONFIG_EXTRA_ENV_SETTINGS or if no, then the above example of
usage is also helpful.
>>>
>>> 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
>
Best regards,
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com
More information about the U-Boot
mailing list