[U-Boot] [PATCH 1/8] ARM: hikey: Update README with various corrections

Simon Glass sjg at chromium.org
Fri Sep 18 05:54:59 CEST 2015


Hi Peter,

On 9 September 2015 at 15:13, Peter Griffin <peter.griffin at linaro.org> wrote:
> The README had a few mistakes, and one of the URL's
> had changed. Also update the boot log with the latest
> boot trace from ATF, which now includes the mcuimage.bin.
>
> Signed-off-by: Peter Griffin <peter.griffin at linaro.org>
> ---
>  board/hisilicon/hikey/README | 197 ++++++++++++++++++++++++++++++++-----------
>  1 file changed, 147 insertions(+), 50 deletions(-)
>
> diff --git a/board/hisilicon/hikey/README b/board/hisilicon/hikey/README
> index 25c8143..36adbdb 100644
> --- a/board/hisilicon/hikey/README
> +++ b/board/hisilicon/hikey/README
> @@ -25,8 +25,12 @@ Currently the u-boot port supports: -
>  Compile u-boot
>  ==============
>
> -make CROSS_COMPILE=aarch64-linux-gnu- hikey_config
> -make CROSS_COMPILE=aarch64-linux-gnu-
> +  > mkdir -p ./aarch64/bin
> +  > cd ./aarch64

Do you really want the above? It seems odd that the 'cp' below expects
another level of subdir.

> +  > git clone http://git.denx.de/u-boot.git
> +  > make CROSS_COMPILE=aarch64-linux-gnu- hikey_config
> +  > make CROSS_COMPILE=aarch64-linux-gnu-
> +  > cp u-boot.bin ./aarch64/bin/u-boot-hikey.bin
>
>  ARM Trusted Firmware (ATF) & l-loader
>  =====================================
> @@ -34,27 +38,34 @@ ARM Trusted Firmware (ATF) & l-loader
>  This u-boot port has been tested with l-loader, booting ATF, which then boots
>  u-boot as the bl33.bin executable.
>
> +Get the BL30 mcu binary.
> +  > wget -P aarch64/bin https://builds.96boards.org/releases/hikey/linaro/binaries/15.05/mcuimage.bin
> +
>  1. Get ATF source code
> -git clone https://github.com/96boards/arm-trusted-firmware.git
> +  > cd ./aarch64
> +  > git clone https://github.com/96boards/arm-trusted-firmware.git
> +  > cd ./arm-trusted-firmware
>
> -2. Compile ATF I use the makefile here
> -http://people.linaro.org/~peter.griffin/hikey/hikey-u-boot-release_r1/build-tf.mak
> +2. Compile ATF, I use the build-tf.mak in the directory with this README, and copy it to ATF directory
> +  > cp ../u-boot/board/hisilicon/hikey/build-tf.mak .
> +  > make -f  build-tf.mak build
>
>  3. Get l-loader
> -git clone https://github.com/96boards/l-loader.git
> -
> -4. Make sym links to ATF bip / fip binaries
> -ln -s /home/griffinp/aarch64/bl1-hikey.bin bl1.bin
> -ln -s /home/griffinp/aarch64/fip-hikey.bin fip.bin
> +  > cd ../
> +  > git clone https://github.com/96boards/l-loader.git
> +  > cd ./l-loader
>
> -arm-linux-gnueabihf-gcc -c -o start.o start.S
> -arm-linux-gnueabihf-gcc -c -o debug.o debug.S
> -arm-linux-gnueabihf-ld -Bstatic -Tl-loader.lds -Ttext 0xf9800800 start.o debug.o -o loader
> -arm-linux-gnueabihf-objcopy -O binary loader temp
> +4. Make sym links to ATF bl1 / fip binaries
> +  > ln -s ../bin/bl1-hikey.bin bl1.bin
> +  > ln -s ../bin/fip-hikey.bin fip.bin
>
> -python gen_loader.py -o l-loader.bin --img_loader=temp --img_bl1=bl1.bin
> -sudo bash -x generate_ptable.sh
> -python gen_loader.py -o ptable.img --img_prm_ptable=prm_ptable.img --img_sec_ptable=sec_ptable.img
> +  > arm-linux-gnueabihf-gcc -c -o start.o start.S
> +  > arm-linux-gnueabihf-gcc -c -o debug.o debug.S
> +  > arm-linux-gnueabihf-ld -Bstatic -Tl-loader.lds -Ttext 0xf9800800 start.o debug.o -o loader
> +  > arm-linux-gnueabihf-objcopy -O binary loader temp
> +  > python gen_loader.py -o ../bin/l-loader.bin --img_loader=temp --img_bl1=bl1.bin
> +  > sudo bash -x generate_ptable.sh
> +  > python gen_loader.py -o ../bin/ptable.img --img_prm_ptable=./prm_ptable.img --img_sec_ptable=./sec_ptable.img
>
>  These instructions are adapted from
>  https://github.com/96boards/documentation/wiki/HiKeyUEFI
> @@ -62,37 +73,49 @@ https://github.com/96boards/documentation/wiki/HiKeyUEFI
>  FLASHING
>  ========
>
> -1. Connect jumper J2 to go into recovery mode and flash l-loader.bin with
> -   fastboot using the hisi-idt.py utility
> +1. Connect the second jumper on J15 BOOT SEL, to go into recovery mode and flash l-loader.bin with
> +fastboot using the hisi-idt.py utility.
> +
> +  > cd ../
> +  > git clone https://github.com/96boards/burn-boot.git
>
> -> git clone https://github.com/96boards/burn-boot.git
> -> sudo python /home/griffinp/Software/hikey/burn-boot/hisi-idt.py -d /dev/ttyUSB0 --img1=/tmp/l-loader.bin
> +The command below assumes HiKey enumerated as the first USB serial port
> +  > sudo ./burn-boot/hisi-idt.py -d /dev/ttyUSB0 --img1=./bin/l-loader.bin
>
> -2. Once LED 0 comes on solid, it should be detected as a fastboot device
> -   (on some boards I've found this to be unreliable)
> +2. Once LED 0 comes on solid, it should be detected as a fastboot device by plugging a USB A to mini B
> +   cable from your PC to the USB OTG port of HiKey (on some boards I've found this to be unreliable).
>
> -sudo fastboot devices
> +  > sudo fastboot devices
> +
> +0123456789ABCDEF       fastboot
>
>  3. Flash the images
> -wget https://builds.96boards.org/releases/hikey/nvme.img
> -sudo fastboot flash ptable ptable.img
> -sudo fastboot flash fastboot fip.bin
> -sudo fastboot flash nvme nvme.img
> +  > wget -P aarch64/bin wget https://builds.96boards.org/releases/hikey/linaro/binaries/latest/nvme.img
> +  > sudo fastboot flash ptable ./bin/ptable.img
> +  > sudo fastboot flash fastboot ./bin/fip-hikey.bin
> +  > sudo fastboot flash nvme ./bin/nvme.img
>
> -4. Disconnect jumper J2, and reset the board and you will now (hopefully)
> +4. Disconnect second jumper on J15 BOOT SEL, and reset the board and you will now (hopefully)
>     have ATF, booting u-boot from eMMC. On 'new' boards I've had to do the
>     flashing twice in the past to avoid an ATF error.
>
> +   Note: To get USB host working, also disconnect the USB OTG cable used for flashing. Otherwise you
> +   will get 'dwc_otg_core_host_init: Timeout!' errors.
> +

This time I was able to make progress and build everything. My board
doesn't boot past fastboot start-up but I'm going to try again in case
I got something wrong. It might be worth you trying out your
instructions from start to finish again just to be sure.

BTW the 2mm 1.8v UART header on the board is genius! No one would
every think of that :-) It took me a month to get a special serial
UART from China and then I got to practice soldering.

Regards,
Simon


More information about the U-Boot mailing list