
Hi Peter,
On 9 September 2015 at 15:13, Peter Griffin peter.griffin@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@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.binARM 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.bi...
- 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-... +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
- 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.imgThese 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
- 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