All of lore.kernel.org
 help / color / mirror / Atom feed
From: Przemyslaw Marczak <p.marczak@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 1/2] odroid: Update README with USB host usage
Date: Fri, 21 Nov 2014 08:58:06 +0100	[thread overview]
Message-ID: <546EF08E.9080509@samsung.com> (raw)
In-Reply-To: <1416533190-10662-1-git-send-email-suriyan.r@gmail.com>

Hello Suriyan,

On 11/21/2014 02:26 AM, Suriyan Ramasami wrote:
> Add information wrt using the USB host interface for loading kernel over
> ethernet and/or usb mass storage.
>
> Signed-off-by: Suriyan Ramasami <suriyan.r@gmail.com>
> ---
>
> Changes in v2:
> - Make updates to be of use from a user's perspective
> Series-changes: 1
> - Add USB host notes for the Odroid
>
>   doc/README.odroid | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 169 insertions(+)
>
> diff --git a/doc/README.odroid b/doc/README.odroid
> index 528bb95..25b962b 100644
> --- a/doc/README.odroid
> +++ b/doc/README.odroid
> @@ -141,3 +141,172 @@ 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 ethernet can be accessed after starting the USB subsystem in U-Boot.
> +The adapter does not come with a preconfigured MAC address, and hence it needs
> +to be set before starting USB.
> +setenv usbethaddr 02:DE:AD:BE:EF:FF
> +
> +Note that in this example a locally managed MAC address is chosen. Care should
> +be taken to make these MAC addresses unique within the same subnet.
> +
> +Start the USB subsystem:
> +Odroid # setenv usbethaddr 02:DE:AD:BE:EF:FF
> +Odroid # usb start
> +(Re)start USB...
> +USB0:   USB EHCI 1.00
> +scanning bus 0 for devices... 4 USB Device(s) found
> +       scanning usb for storage devices... 1 Storage Device(s) found
> +       scanning usb for ethernet devices... 1 Ethernet Device(s) found
> +Odroid #
> +
> +Automatic IP assignment:
> +------------------------
> +If the ethernet is connected to a DHCP server (router maybe with DHCP enabled),
> +then the below will automatically assign an ip address through DHCP.
> +setenv autoload no
> +dhcp
> +
> +Odroid # setenv autoload no
> +Odroid # dhcp
> +Waiting for Ethernet connection... done.
> +BOOTP broadcast 1
> +DHCP client bound to address 192.168.1.10 (524 ms)
> +Odroid #
> +
> +Note that this automatically sets the many IP address related variables in
> +U-Boot that is obtained from the DHCP server.
> +
> +Odroid # printenv ipaddr netmask gatewayip dnsip
> +ipaddr=192.168.1.10
> +netmask=255.255.255.0
> +gatewayip=192.168.1.1
> +dnsip=192.168.1.1
> +
> +Ping example:
> +The ping command can be used a test to check connectivity. In this example,
> +192.168.1.27 is a pingable server in the network.
> +Odroid # ping 192.168.1.27
> +Waiting for Ethernet connection... done.
> +Using sms0 device
> +host 192.168.1.27 is alive
> +Odroid #
> +
> +Static IP assignment:
> +---------------------
> +In the case where there are no DHCP servers in the network, or you want to
> +set the IP address statically, it can be done by:
> +Odroid # setenv ipaddr 192.168.1.10
> +Odroid # ping 192.168.1.27
> +Waiting for Ethernet connection... done.
> +Using sms0 device
> +host 192.168.1.27 is alive
> +
> +TFTP booting:
> +-------------
> +Say there exists a tftp server in the network with address 192.168.1.27 and
> +it serves a kernel image (zImage.3.17) and a DTB blob (exynos4412-odroidu3.dtb)
> +that needs to be loaded and booted. It can be accomplished as below:
> +(Assumes that you have setenv usbethaddr, and have not set autoload to no)
> +
> +Odroid # setenv serverip 192.168.1.27
> +Odroid # tftpboot 0x40080000 zImage.3.17
> +Waiting for Ethernet connection... done.
> +Using sms0 device
> +TFTP from server 192.168.1.27; our IP address is 192.168.1.10
> +Filename 'zImage.3.17'.
> +Load address: 0x40080000
> +Loading: #################################################################
> +	 #################################################################
> +	 #################################################################
> +	 #######################
> +	 52.7 KiB/s
> +done
> +Bytes transferred = 3194200 (30bd58 hex)
> +Odroid # tftpboot 0x42000000 exynos4412-odroidu3.dtb
> +Waiting for Ethernet connection... done.
> +Using sms0 device
> +TFTP from server 192.168.1.27; our IP address is 192.168.1.10
> +Filename 'exynos4412-odroidu3.dtb'.
> +Load address: 0x42000000
> +Loading: ####
> +	 40 KiB/s
> +done
> +Bytes transferred = 46935 (b757 hex)
> +Odroid # printenv bootargs
> +bootargs=Please use defined boot
> +Odroid # setenv bootargs console=ttySAC1,115200n8 root=/dev/mmcblk0p2 rootwait
> +Odroid # bootz 40080000 - 42000000
> +Kernel image @ 0x40080000 [ 0x000000 - 0x30bd58 ]
> +## Flattened Device Tree blob at 42000000
> +   Booting using the fdt blob at 0x42000000
> +   Loading Device Tree to 4fff1000, end 4ffff756 ... OK
> +
> +Starting kernel ...
> +
> +[    0.000000] Booting Linux on physical CPU 0xa00
> +... etc ...
> +
> +In the above example you can substitute 'dhcp' for 'tftpboot' as well.
> +
> +USB Storage booting:
> +--------------------
> +Similarly we can use the USB storage to load the kernel image/initrd/fdt etc
> +and boot. For this example, there is a USB drive plugged in. It has a FAT
> +1st partition and an EXT 2nd partition. Using the generic FS (ls/load) makes
> +it even easier to work with FAT/EXT file systems.
> +For this example the second EXT partition is used for booting and as rootfs.
> +The boot files - kernel and the dtb are present in the /boot directory of the
> +second partition.
> +
> +Odroid # usb start
> +(Re)start USB...
> +USB0:   USB EHCI 1.00
> +scanning bus 0 for devices... 4 USB Device(s) found
> +       scanning usb for storage devices... 1 Storage Device(s) found
> +       scanning usb for ethernet devices...
> +Error: sms0 address not set.		<----- Note the error as usbethaddr
> +Warning: failed to set MAC address	<----- is not set.
> +1 Ethernet Device(s) found
> +Odroid # usb part 0
> +
> +Partition Map for USB device 0  --   Partition Type: DOS
> +
> +Part	Start Sector	Num Sectors	UUID		Type
> +  1	3072      	263168    	000c4046-01	06
> +  2	266240    	13457408  	000c4046-02	83
> +
> +Odroid # ls usb 0:2 /boot
> +<DIR>       4096 .
> +<DIR>       4096 ..
> +             353 boot.scr
> +             281 boot.txt
> +          101420 config-3.8.13.23
> +         2127254 initrd.img-3.8.13.23
> +         2194825 uInitrd
> +         2194825 uInitrd-3.8.13.23
> +         2453112 zImage
> +          101448 config-3.8.13.26
> +         2127670 uInitrd-3.8.13.26
> +         2127606 initrd.img-3.8.13.26
> +         3194200 zImage.3.17                    <--- Kernel
> +           46935 exynos4412-odroidu3.dtb        <--- DTB
> +Odroid # load usb 0:2 40080000 /boot/zImage.3.17
> +3194200 bytes read in 471 ms (6.5 MiB/s)
> +Odroid # load usb 0:2 42000000 /boot/exynos4412-odroidu3.dtb
> +46935 bytes read in 233 ms (196.3 KiB/s)
> +Odroid # setenv bootargs console=ttySAC1,115200n8 root=/dev/sda2 rootwait
> +Odroid # bootz 40080000 - 42000000
> +Kernel image @ 0x40080000 [ 0x000000 - 0x30bd58 ]
> +## Flattened Device Tree blob at 42000000
> +   Booting using the fdt blob at 0x42000000
> +   Loading Device Tree to 4fff1000, end 4ffff756 ... OK
> +
> +Starting kernel ...
> +
> +[    0.000000] Booting Linux on physical CPU 0xa00
> +
> +Please refer to README.usb for additional information.
>

This is a very complete instruction. Thank you for a great job!

Acked-by: Przemyslaw Marczak <p.marczak@samsung.com>

Best regards,
-- 
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com

  parent reply	other threads:[~2014-11-21  7:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-21  1:26 [U-Boot] [PATCH v2 1/2] odroid: Update README with USB host usage Suriyan Ramasami
2014-11-21  1:26 ` [U-Boot] [PATCH v2 2/2] odroid: usbhost - Add missing gpio_request call Suriyan Ramasami
2014-11-21 16:05   ` Sjoerd Simons
2014-11-24  2:20   ` Minkyu Kang
2014-11-21  7:58 ` Przemyslaw Marczak [this message]
2014-11-24  2:19 ` [U-Boot] [PATCH v2 1/2] odroid: Update README with USB host usage Minkyu Kang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=546EF08E.9080509@samsung.com \
    --to=p.marczak@samsung.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.