HCL:HiKey 960

Jump to: navigation, search

The LeMaker and Archermind HiKey 960 are single-board computers in 96Boards Consumer Edition form factor.

Technical data

  • Hisilicon Kirin 960 SoC
    • 4x Arm Cortex-A53 @ 1.8 GHz
    • 4x Arm Cortex-A73 @ 2.4 GHz
  • 3 / 4 GB RAM
  • 32 GB eMMC
  • Micro SD
  • 2x USB 3.0 host, 1x USB 3.1 Type-C OTG
  • PCIe M.2 Key M
  • HDMI
  • TI WL18MODGI Wifi module
  • 96Boards Consumer Edition compliant 40-pin low-speed expansion connector
  • 96Boards Consumer Edition compliant high-speed expansion connector
The Kirin 960's Cortex-A73 cores are affected by the Spectre vulnerabilities and need firmware updates as described below, cf. Bug #1074741.

Manual installation

Tianocore EDK2

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

$ cd tools-images-hikey960

Copy file config to config_opensuse and modify the last line to point to our recovery.bin:

./hisi-sec_usb_xloader.img 0x00020000
./hisi-sec_uce_boot.img 0x6A908000
../recovery.bin 0x1AC00000

Prepare a serial console - if you connect the Seeed 96Boards UART adapter board to your host, you should get a /dev/ttyUSBx device that you can access with screen or another tool of your choice (minicom is discouraged). For other adapters the device name might vary (e.g., ttyACMx).

Connect a suitable USB 3.1 Type-C cable (e.g., to USB 3.0 Type-A) between HiKey 960 board and your host.

Set DIP switches "Boot mode" to "ON" and "Auto power" to "ON", then power on the board.
You will not see any serial output, but a new /dev/ttyUSBy device should appear.

# ./hikey_idt -p /dev/ttyUSBy -c config_opensuse

Once you see on the serial console a "." prompt from the UEFI firmware, press f to enter the Android fastboot app in order to flash the new firmware.

Warning: The following command overwrites the eMMC partition table - back up your data before!
$ fastboot flash ptable ../ptable-linux-32g.img
$ fastboot flash xloader hisi-sec_xloader.img
$ fastboot flash fastboot ../l-loader.bin
$ fastboot flash fip ../fip.bin

Remember to return the "Boot mode" DIP switch to its default position of off before you do fastboot reboot or a reset.

Known EDK2 issues

See also