All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v3 0/8] Add support for hi6220 SoC and HiKey 96boards CE board.
@ 2015-07-29 21:39 Peter Griffin
  2015-07-29 21:39 ` [U-Boot] [PATCH v3 1/8] usb: dwc2: Call board_usb_init() from usb_lowlevel_init() Peter Griffin
                   ` (7 more replies)
  0 siblings, 8 replies; 15+ messages in thread
From: Peter Griffin @ 2015-07-29 21:39 UTC (permalink / raw)
  To: u-boot

Hi Albert,

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 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 (8):
  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.

 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 +
 include/configs/hikey.h                            | 159 ++++++++
 include/power/hi6553_pmic.h                        |  79 ++++
 24 files changed, 2233 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 include/configs/hikey.h
 create mode 100644 include/power/hi6553_pmic.h

-- 
1.9.1

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2015-07-30 17:49 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-29 21:39 [U-Boot] [PATCH v3 0/8] Add support for hi6220 SoC and HiKey 96boards CE board Peter Griffin
2015-07-29 21:39 ` [U-Boot] [PATCH v3 1/8] usb: dwc2: Call board_usb_init() from usb_lowlevel_init() Peter Griffin
2015-07-29 23:36   ` Marek Vasut
2015-07-30  0:42     ` Tom Rini
2015-07-30  8:59       ` Marek Vasut
2015-07-29 21:39 ` [U-Boot] [PATCH v3 2/8] dm: gpio: hi6220: Add a hi6220 GPIO driver model driver Peter Griffin
2015-07-29 21:39 ` [U-Boot] [PATCH v3 3/8] ARM: hi6220: Add register and bitfield definition header files Peter Griffin
2015-07-29 21:39 ` [U-Boot] [PATCH v3 4/8] hisilicon: hi6220: Add a hi6220 pinmux driver Peter Griffin
2015-07-29 21:39 ` [U-Boot] [PATCH v3 5/8] pmic: pmic_hi6553: Add a driver for the hi6553 pmic found on hikey board Peter Griffin
2015-07-29 21:39 ` [U-Boot] [PATCH v3 6/8] mmc: hi6220_dw_mmc: Add hi6220 glue code for dw_mmc controller Peter Griffin
2015-07-29 21:39 ` [U-Boot] [PATCH v3 7/8] ARM64: hikey: hi6220: Add u-boot support for the 96boards CE HiKey board Peter Griffin
2015-07-30  8:46   ` Sjoerd Simons
2015-07-30 10:17     ` Peter Robinson
2015-07-30 17:49     ` Peter Griffin
2015-07-29 21:39 ` [U-Boot] [PATCH v3 8/8] ARM64: hikey: Add a README for this board Peter Griffin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.