Jump to: navigation, search

The CircuitCo HiKey and LeMaker HiKey are 96Boards Consumer Edition compliant single-board computers.

Technical data

  • HiSilicon Kirin 620 SoC
    • 8x ARM Cortex-A53 CPU
    • ARM Mali-450 MP4 GPU
  • 1 GB / 2 GB RAM
  • 2x USB host, 1x USB OTG
  • HDMI
  • Micro SD

Manual installation

Booting from SD card seems currently broken in their EDK2 firmware (as of 16.06): https://bugs.96boards.org/show_bug.cgi?id=177 Using the latest Linaro l-loader.bin and fip.bin files seems to resolve this.

With a Factory based EFI image you currently need earlycon to get serial output, with the Contrib:96boards hikey image earlycon=pl011,0xf7113000.

You also seem to need the following line:

devicetree /boot/dtb/hisilicon/hi6220-hikey.dtb


As alternative to Tianocore with the above device tree limitations, you can try U-Boot as bootloader:

Extract recovery.bin and l-loader.bin from l-loader-hikey package and fip.bin from arm-trusted-firmware-hikey package.

Connect a suitable Micro USB cable (e.g., to USB 2.0 Type A) between HiKey board and your host.

Install the jumper 3-4 (J601 on LeMaker HiKey) for recovery boot, then power on the board.
You will not see any serial output, but a new /dev/ttyUSBx device should appear.

# python burn-boot/hisi-idt.py -d /dev/ttyUSBx --img1 recovery.bin

This will boot into a special Arm Trusted Firmware mode where you can use the Android fastboot protocol over USB to flash new firmware:

$ fastboot flash loader l-loader.bin
$ fastboot flash fastboot fip.bin

Note: Files transferred via fastboot currently need to have 512-byte alignment (b9o#633). If you wish to flash your own files, make sure the files are aligned by adding suitable zero padding bytes at the end, as instructed in the bug comment #1.

Remember to remove the jumper 3-4 before you do fastboot reboot or a reset.

You will then need to install on your HiKey boot medium the dtb-hisilicon package matching your kernel, and our U-Boot should pick it up automatically.


JeOS-efi (and modified JeOS-hikey) gets stuck during early boot: Bug #1040492

See also