[U-Boot] [PATCH v4 0/9] Add support for hi6220 SoC and HiKey 96boards CE board.
Peter Griffin
peter.griffin at linaro.org
Thu Jul 30 19:55:16 CEST 2015
Hi Albert / Tom,
This series adds support for the first 96boards consumer edition HiKey board.
More information can be found about this board at the following link
https://www.96boards.org/products/hikey/.
This initial port adds support for: -
1) Serial
2) eMMC and sd card
3) USB
4) GPIO
It has been tested with Arm Trusted Firmware running u-boot as the BL33 executable.
Some instructions on exactly how to compile everything (l-loader,
with Arm Trusted Firmware, which then loads u-boot) is documented in the README found
in the board/hisilicon/hikey directory.
A 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
A rather pleasant side effect of rebasing to v2015.07-rc2 is that the two main bugs
with the v1 series (that I new about at least) are resolved. DHCP now works correctly,
and USB mass storage devices are also enumerated).
The plan is once basic support is merged to u-boot, and upstream Linux kernel has DT
which supports GPIO, UART and MMC, we can migrate this u-boot port over to using DT
for configuration.
Changes since v3:
- Update to use config_distro_bootcmd.h (Sjoerd)
- Remove CONFIG_BOOTDELAY (Sjoerd)
Changes since v2:
- errno.h should go above malloc.h (Simon)
- drop #ifdef CONFIG_DM_GPIO and add TODO (Simon)
- remove gd->flags = 0; (Simon)
- Remove icache_enable() (Simon / Rob)
- Added a pinmux driver for hi6220 (Simon)
- Added a pmic driver for hi6553 (Simon)
- Convert to structs for register I/O (Simon)
- Remove () around simple constants (Simon)
- Update default bootcmd (Rob)
- user kernel_addr_r etc in default env (Rob)
- Various typo's (Rob)
- use board_usb_init() to configure phy/clocks (Rob)
- Remove some more unnecessary CONFIG_FS* options (Rob)
- Update default kernel load address (Rob)
- Update default kernel cmdline (Rob)
Changes since v1:
- Rename vendor to hisilicon not 96boards (Rob)
- Get rid of aemv8a vexpress leftover (Rob)
- Remove __weak on misc_init_r (Rob)
- Remove unnecessary LINUX_BOOT_PARAM_ADDR (Rob)
- COUNTER_FREQUENCY in decimal to avoid comment (Rob)
- Remove leftover V2M* from vexpress (Rob)
- Migrate configs/hikey.h over to use config_distro_defaults.h (Rob)
- Remove custom u-boot prompt (Rob)
- Enable icache
- Remove custom delay function, as mdelay/udelay work fine (Rob)
- Update CONFIG_SYS_LOAD_ADDR to 0x80000 (Rob)
- Use suggested macro for declaring gpio addresses (Marek)
- Zap dead Macros (Marek)
- Use calloc instead of malloc (Marek)
- Reduce PHYS_RAM by 16Mb to accomodate OPTEE in latest ATF code (Peter)
- Rebase on v2015.07-rc2 (Peter)
- Add CONFIG_NET=y so that env callbacks work (Peter)
- Add a README on how to build / flash u-boot (Simon)
kind regards,
Peter.
Peter Griffin (9):
usb: dwc2: Call board_usb_init() from usb_lowlevel_init()
dm: gpio: hi6220: Add a hi6220 GPIO driver model driver.
ARM: hi6220: Add register and bitfield definition header files.
hisilicon: hi6220: Add a hi6220 pinmux driver.
pmic: pmic_hi6553: Add a driver for the hi6553 pmic found on hikey
board.
mmc: hi6220_dw_mmc: Add hi6220 glue code for dw_mmc controller.
ARM64: hikey: hi6220: Add u-boot support for the 96boards CE HiKey
board.
ARM64: hikey: Add a README for this board.
hikey: Add hikey-u-boot.mak
arch/arm/Kconfig | 8 +
arch/arm/cpu/armv8/Makefile | 1 +
arch/arm/cpu/armv8/hisilicon/Makefile | 9 +
arch/arm/cpu/armv8/hisilicon/pinmux.c | 184 +++++++++
arch/arm/include/asm/arch-hi6220/dwmmc.h | 8 +
arch/arm/include/asm/arch-hi6220/gpio.h | 29 ++
arch/arm/include/asm/arch-hi6220/hi6220.h | 387 +++++++++++++++++++
.../include/asm/arch-hi6220/hi6220_regs_alwayson.h | 420 +++++++++++++++++++++
arch/arm/include/asm/arch-hi6220/periph.h | 30 ++
arch/arm/include/asm/arch-hi6220/pinmux.h | 83 ++++
board/hisilicon/hikey/Kconfig | 15 +
board/hisilicon/hikey/Makefile | 8 +
board/hisilicon/hikey/README | 160 ++++++++
board/hisilicon/hikey/hikey.c | 356 +++++++++++++++++
configs/hikey_defconfig | 5 +
drivers/gpio/Makefile | 2 +
drivers/gpio/hi6220_gpio.c | 95 +++++
drivers/mmc/Makefile | 1 +
drivers/mmc/hi6220_dw_mmc.c | 56 +++
drivers/power/pmic/Makefile | 1 +
drivers/power/pmic/pmic_hi6553.c | 133 +++++++
drivers/usb/host/dwc2.c | 4 +
hikey-u-boot.mak | 33 ++
include/configs/hikey.h | 159 ++++++++
include/power/hi6553_pmic.h | 79 ++++
25 files changed, 2266 insertions(+)
create mode 100644 arch/arm/cpu/armv8/hisilicon/Makefile
create mode 100644 arch/arm/cpu/armv8/hisilicon/pinmux.c
create mode 100644 arch/arm/include/asm/arch-hi6220/dwmmc.h
create mode 100644 arch/arm/include/asm/arch-hi6220/gpio.h
create mode 100644 arch/arm/include/asm/arch-hi6220/hi6220.h
create mode 100644 arch/arm/include/asm/arch-hi6220/hi6220_regs_alwayson.h
create mode 100644 arch/arm/include/asm/arch-hi6220/periph.h
create mode 100644 arch/arm/include/asm/arch-hi6220/pinmux.h
create mode 100644 board/hisilicon/hikey/Kconfig
create mode 100644 board/hisilicon/hikey/Makefile
create mode 100644 board/hisilicon/hikey/README
create mode 100644 board/hisilicon/hikey/hikey.c
create mode 100644 configs/hikey_defconfig
create mode 100644 drivers/gpio/hi6220_gpio.c
create mode 100644 drivers/mmc/hi6220_dw_mmc.c
create mode 100644 drivers/power/pmic/pmic_hi6553.c
create mode 100644 hikey-u-boot.mak
create mode 100644 include/configs/hikey.h
create mode 100644 include/power/hi6553_pmic.h
--
1.9.1
More information about the U-Boot
mailing list