[U-Boot] [PATCH 0/6] Add support for hi6220 SoC and HiKey 96boards CE board.

Peter Griffin peter.griffin at linaro.org
Tue May 12 15:25:35 CEST 2015

This series adds support for the first 96boards consumer edition HiKey board.

More information can be found about this board at the following link

This initial port adds support for: -
1) Serial 
2) eMMC and sd card
3) USB

It has been tested with Arm Trusted Firmware running u-boot as the BL33 executable.

Some (slightly old) instructions on exactly how to compile everything (l-loader, 
with Arm Trusted Firmware, which then loads u-boot are available here: -


One thing I'm fairly sure is wrong but can't see how to fix is the header definitions
are currently in arch/arm/include/asm/arch-armv8/*.h and I suspect they should
be in a directory something like arch/arm/include/asm/arch-hi6220. However so far what
makes this magic happen and how to fix it has aluded me.


eMMC has been tested with basic reading of eMMC partition into DDR. I have not
tested writing / erasing. I suspect due to lack of clock control it won't be
running in the most performant high speed mode.

SD card slot has been tested for reading and booting kernels into DDR.
It is also currently used for saving the u-boot enviroment.

USB has been tested with ASIX networking adapter to tftpboot kernels
into DDR. USB mass storage device enumeration does not currently work for
an unknown reason (leads to a hang).

GPIO has been tested using gpio toggle command GPIO4_1-3 to flash LEDs.

A basic SoC datasheet can be found here: -
Board schematic can be found here: -

kind regards,


Peter Griffin (6):
  usb: dwc2: Add support for v3 snpsid value
  dm: gpio: hi6220: Add a hi6220 GPIO driver model driver.
  ARM: hi6220: Add register and bitfield definition header files.
  hi6553: Add register definition and bitfield header for 6553 pmic
  mmc: hi6220_dw_mmc: Add hi6220 glue code for dw_mmc controller.
  ARM64: HiKey: hi6220: Add u-boot support for the 96boards CE HiKey

 arch/arm/Kconfig                                   |   5 +
 arch/arm/include/asm/arch-armv8/dwmmc.h            |   8 +
 arch/arm/include/asm/arch-armv8/gpio.h             |  47 +++
 arch/arm/include/asm/arch-armv8/hi6220.h           | 324 +++++++++++++++
 .../include/asm/arch-armv8/hi6220_regs_alwayson.h  | 349 ++++++++++++++++
 arch/arm/include/asm/arch-armv8/hi6553.h           |  75 ++++
 board/96boards/hikey64/Kconfig                     |  12 +
 board/96boards/hikey64/Makefile                    |   8 +
 board/96boards/hikey64/hikey.c                     | 439 +++++++++++++++++++++
 configs/hikey_aemv8a_defconfig                     |   5 +
 drivers/gpio/Makefile                              |   2 +
 drivers/gpio/hi6220_gpio.c                         |  95 +++++
 drivers/mmc/Makefile                               |   1 +
 drivers/mmc/hi6220_dw_mmc.c                        |  63 +++
 drivers/usb/host/dwc2.c                            |   3 +-
 drivers/usb/host/dwc2.h                            |   1 +
 include/configs/hikey_aemv8a.h                     | 187 +++++++++
 17 files changed, 1623 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/include/asm/arch-armv8/dwmmc.h
 create mode 100644 arch/arm/include/asm/arch-armv8/gpio.h
 create mode 100644 arch/arm/include/asm/arch-armv8/hi6220.h
 create mode 100644 arch/arm/include/asm/arch-armv8/hi6220_regs_alwayson.h
 create mode 100644 arch/arm/include/asm/arch-armv8/hi6553.h
 create mode 100644 board/96boards/hikey64/Kconfig
 create mode 100644 board/96boards/hikey64/Makefile
 create mode 100644 board/96boards/hikey64/hikey.c
 create mode 100644 configs/hikey_aemv8a_defconfig
 create mode 100644 drivers/gpio/hi6220_gpio.c
 create mode 100644 drivers/mmc/hi6220_dw_mmc.c
 create mode 100644 include/configs/hikey_aemv8a.h


More information about the U-Boot mailing list