
On Thu, Jul 30, 2015 at 9:46 AM, Sjoerd Simons sjoerd.simons@collabora.co.uk wrote:
On Wed, 2015-07-29 at 22:39 +0100, Peter Griffin 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: -
- Serial
- eMMC / SD card
- USB
- GPIO
It has been tested with Arm Trusted Firmware running u-boot as the BL33 executable.
Notes:
eMMC has been tested with basic reading of eMMC partition into DDR. I have not tested writing / erasing. 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 configured to save the u-boot environment to the SD card.
USB has been tested with ASIX networking adapter to tftpboot kernels into DDR. On v2015.07-rc2 dhcp now works, and also USB mass storage are correctly enumerated.
GPIO has been tested using gpio toggle GPIO4_1-3 to flash the 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 peter.griffin@linaro.org
diff --git a/include/configs/hikey.h b/include/configs/hikey.h new file mode 100644 index 0000000..6bb0b7d --- /dev/null +++ b/include/configs/hikey.h @@ -0,0 +1,159 @@
+/* SD/MMC configuration */ +#define CONFIG_GENERIC_MMC +#define CONFIG_MMC +#define CONFIG_DWMMC +#define CONFIG_HIKEY_DWMMC +#define CONFIG_BOUNCE_BUFFER +#define CONFIG_CMD_MMC
+#define CONFIG_FS_EXT4
+/* Command line configuration */ +#define CONFIG_MENU +#define CONFIG_CMD_CACHE +#define CONFIG_CMD_UNZIP +#define CONFIG_CMD_ENV
+#define CONFIG_MTD_PARTITIONS
+/* BOOTP options */ +#define CONFIG_BOOTP_BOOTFILESIZE
+#include <config_distro_defaults.h>
+/* Initial environment variables */
+/*
- Defines where the kernel and FDT will be put in RAM
- */
+#define CONFIG_EXTRA_ENV_SETTINGS \
"kernel_name=Image\0" \
"kernel_addr_r=0x00080000\0" \
"fdt_name=hi6220-hikey.dtb\0" \
"fdt_addr_r=0x02000000\0" \
"fdt_high=0xffffffffffffffff\0" \
"initrd_high=0xffffffffffffffff\0" \
+/* Assume we boot with root on the seventh partition of eMMC */ +#define CONFIG_BOOTARGS "console=ttyAMA0,115200n8 root=/dev/mmcblk0p9 rw"
+/* Copy the kernel and FDT to DRAM memory and boot */ +#define CONFIG_BOOTCOMMAND "usb start; dhcp;" \
"tftp $kernel_addr_r $kernel_name;"
\
"tftp $fdt_addr_r $fdt_name;" \
"booti $kernel_addr_r - $fdt_addr_r"
Why not use config_distro_bootcmd.h to get a somewhat standard boot sequence rather then hardcoding a tftp boot and a rootfs on a specific mmc partition?
+#define CONFIG_BOOTDELAY 2
This redefines the default in config_distro_defaults
I completely agree, please use distro_defaults