Hello Przemyslaw, On Wed, Nov 19, 2014 at 10:40 AM, Przemyslaw Marczak <p.marc...@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.marc...@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 <suriya...@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.marc...@samsung.com >> >> > > Thank you, > > -- > Przemyslaw Marczak > Samsung R&D Institute Poland > Samsung Electronics > p.marc...@samsung.com _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot