
Hello Przemyslaw,
On Wed, Nov 19, 2014 at 9:39 AM, Przemyslaw Marczak p.marczak@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@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
Thanks - Suriyan
Best regards,
Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak@samsung.com