Hi Peter, On 12 May 2015 at 07:25, Peter Griffin <[email protected]> wrote: > HiKey is the first 96boards consumer edition compliant board. It features a > hi6220 > SoC which has eight ARM A53 cpu's. > > This initial port adds support for: - > 1) Serial > 2) eMMC / sd card > 3) USB > 4) GPIO > > It has been tested with Arm Trusted Firmware running u-boot as the BL33 > executable.
Are there instructions somewhere on how to do this? Perhaps add a README with details or a few links? > > Notes: > > eMMC has been tested with basic reading of eMMC partition intto 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 doesn't currently work for > an unkown reason. > > GPIO has been tested using gpio toggle GPIO4_1-3 to flash LEDs. > > Basic SoC datasheet can be found here: - > https://github.com/96boards/documentation/blob/master/hikey/ > Hi6220V100_Multi-Mode_Application_Processor_Function_Description.pdf > > Board schematic can be found here: - > https://github.com/96boards/documentation/blob/master/hikey/ > 96Boards-Hikey-Rev-A1.pdf > > Signed-off-by: Peter Griffin <[email protected]> > --- > arch/arm/Kconfig | 5 + > board/96boards/hikey64/Kconfig | 12 ++ > board/96boards/hikey64/Makefile | 8 + > board/96boards/hikey64/hikey.c | 439 > ++++++++++++++++++++++++++++++++++++++++ > configs/hikey_aemv8a_defconfig | 5 + > include/configs/hikey_aemv8a.h | 187 +++++++++++++++++ > 6 files changed, 656 insertions(+) > 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 include/configs/hikey_aemv8a.h > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 7ed0e20..0b6de5d 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -656,6 +656,10 @@ config TARGET_LS2085A_SIMU > select ARM64 > select ARMV8_MULTIENTRY > > +config TARGET_96BOARDS_HIKEY > + bool "Support HiKey 96boards Consumer Edition Platform" > + select ARM64 > + > config TARGET_LS1021AQDS > bool "Support ls1021aqds" > select CPU_V7 > @@ -787,6 +791,7 @@ source "board/armadeus/apf27/Kconfig" > source "board/armltd/integrator/Kconfig" > source "board/armltd/vexpress/Kconfig" > source "board/armltd/vexpress64/Kconfig" > +source "board/96boards/hikey64/Kconfig" > source "board/bachmann/ot1200/Kconfig" > source "board/balloon3/Kconfig" > source "board/barco/platinum/Kconfig" > diff --git a/board/96boards/hikey64/Kconfig b/board/96boards/hikey64/Kconfig > new file mode 100644 > index 0000000..eb1709b > --- /dev/null > +++ b/board/96boards/hikey64/Kconfig > @@ -0,0 +1,12 @@ > +if TARGET_96BOARDS_HIKEY > + > +config SYS_BOARD > + default "hikey64" > + > +config SYS_VENDOR > + default "96boards" > + > +config SYS_CONFIG_NAME > + default "hikey_aemv8a" > + > +endif > diff --git a/board/96boards/hikey64/Makefile b/board/96boards/hikey64/Makefile > new file mode 100644 > index 0000000..d4ec8c7 > --- /dev/null > +++ b/board/96boards/hikey64/Makefile > @@ -0,0 +1,8 @@ > +# > +# (C) Copyright 2000-2004 > +# Wolfgang Denk, DENX Software Engineering, [email protected]. > +# > +# SPDX-License-Identifier: GPL-2.0+ > +# > + > +obj-y := hikey.o > diff --git a/board/96boards/hikey64/hikey.c b/board/96boards/hikey64/hikey.c > new file mode 100644 > index 0000000..91e8e6b > --- /dev/null > +++ b/board/96boards/hikey64/hikey.c > @@ -0,0 +1,439 @@ > +/* > + * (C) Copyright 2015 Linaro > + * Peter Griffin <[email protected]> > + * > + * SPDX-License-Identifier: GPL-2.0+ > + */ > +#include <common.h> > +#include <dm.h> > +#include <malloc.h> > +#include <errno.h> > +#include <netdev.h> > +#include <asm/io.h> > +#include <asm-generic/gpio.h> > +#include <asm/arch/gpio.h> > +#include <asm/arch/dwmmc.h> > +#include <asm/arch/hi6220.h> > +#include <asm/arch/hi6553.h> > + > +#ifdef CONFIG_DM_GPIO > +static const struct hikey_gpio_platdata hi6220_gpio[] = { > + { 0, HI6220_GPIO0_BASE}, > + { 1, HI6220_GPIO1_BASE}, > + { 2, HI6220_GPIO2_BASE}, > + { 3, HI6220_GPIO3_BASE}, > + { 4, HI6220_GPIO4_BASE}, > + { 5, HI6220_GPIO5_BASE}, > + { 6, HI6220_GPIO6_BASE}, > + { 7, HI6220_GPIO7_BASE}, > + { 8, HI6220_GPIO8_BASE}, > + { 9, HI6220_GPIO9_BASE}, > + { 10, HI6220_GPIO10_BASE}, > + { 11, HI6220_GPIO11_BASE}, > + { 12, HI6220_GPIO12_BASE}, > + { 13, HI6220_GPIO13_BASE}, > + { 14, HI6220_GPIO14_BASE}, > + { 15, HI6220_GPIO15_BASE}, > + { 16, HI6220_GPIO16_BASE}, > + { 17, HI6220_GPIO17_BASE}, > + { 18, HI6220_GPIO18_BASE}, > + { 19, HI6220_GPIO19_BASE}, > + > +}; > + > +U_BOOT_DEVICES(hi6220_gpios) = { > + { "gpio_hi6220", &hi6220_gpio[0] }, > + { "gpio_hi6220", &hi6220_gpio[1] }, > + { "gpio_hi6220", &hi6220_gpio[2] }, > + { "gpio_hi6220", &hi6220_gpio[3] }, > + { "gpio_hi6220", &hi6220_gpio[4] }, > + { "gpio_hi6220", &hi6220_gpio[5] }, > + { "gpio_hi6220", &hi6220_gpio[6] }, > + { "gpio_hi6220", &hi6220_gpio[7] }, > + { "gpio_hi6220", &hi6220_gpio[8] }, > + { "gpio_hi6220", &hi6220_gpio[9] }, > + { "gpio_hi6220", &hi6220_gpio[10] }, > + { "gpio_hi6220", &hi6220_gpio[11] }, > + { "gpio_hi6220", &hi6220_gpio[12] }, > + { "gpio_hi6220", &hi6220_gpio[13] }, > + { "gpio_hi6220", &hi6220_gpio[14] }, > + { "gpio_hi6220", &hi6220_gpio[15] }, > + { "gpio_hi6220", &hi6220_gpio[16] }, > + { "gpio_hi6220", &hi6220_gpio[17] }, > + { "gpio_hi6220", &hi6220_gpio[18] }, > + { "gpio_hi6220", &hi6220_gpio[19] }, > +}; > +#endif Can we use device tree for this board? I have just received one so if you don't have the time for this I could give it a try (once I figure out how to get U-Boot onto the board). Also, do you know anything about the SDRAM controller? I don't see mention of it in the docs and we would need it to create an SPL for this board. [snip] Regards, Simon _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

