u-boot/board/rockchip/evb_rk3399
Tom Rini 79df00fdb4 MAINTAINERS: Add missing boards and config entries
As part of my usual round of build testing, output about missing
MAINTAINERS information was not logged, and thus often overlooked.
Correct that mistake by ensuring that I log the output of
genboardscfg.py every time.  As part of that, address a number of
missing MAINTAINERS entires.  In the case of a missing file, I have put
the original submitter down.  In the rest of the cases I have added the
config (and sometimes relevant header file) to the existing set of file
globs.

Signed-off-by: Tom Rini <trini@konsulko.com>
2017-11-06 09:58:51 -05:00
..
evb-rk3399.c rockchip: rk3399: make spl_board_init board-specific 2017-10-01 00:33:34 +02:00
Kconfig ARM64: rockchip: add support for rk3399 SoC based evb 2016-07-25 20:46:45 -06:00
MAINTAINERS MAINTAINERS: Add missing boards and config entries 2017-11-06 09:58:51 -05:00
Makefile ARM64: rockchip: add support for rk3399 SoC based evb 2016-07-25 20:46:45 -06:00
README ARM64: evb-rk3399: add a README for this board setup 2016-07-25 20:46:46 -06:00

Introduction
============

RK3399 key features we might use in U-Boot:
* CPU: ARMv8 64bit Big-Little architecture,
*      Big: dual-core Cortex-A72
*      Little: quad-core Cortex-A53
* IRAM: 200KB
* DRAM: 4GB-128MB dual-channel
* eMMC: support eMMC 5.0/5.1, suport HS400, HS200, DDR50
* SD/MMC: support SD 3.0, MMC 4.51
* USB: USB3.0 typc-C port *2 with dwc3 controller
*      USB2.0 EHCI host port *2
* Display: RGB/HDMI/DP/MIPI/EDP

evb key features:
* regulator: pwm regulator for CPU B/L
* PMIC: rk808
* debug console: UART2

In order to support Arm Trust Firmware(ATF), we need to use the
miniloader from rockchip which:
* do DRAM init
* load and verify ATF image
* load and verify U-Boot image

Here is the step-by-step to boot to U-Boot on rk3399.

Get the Source and prebuild binary
==================================

  > mkdir ~/evb_rk3399
  > cd ~/evb_rk3399
  > git clone https://github.com/ARM-software/arm-trusted-firmware.git
  > git clone https://github.com/rockchip-linux/rkbin
  > git clone https://github.com/rockchip-linux/rkflashtool

Compile the ATF
===============

  > cd arm-trusted-firmware
  > make realclean
  > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31

Compile the U-Boot
==================

  > cd ../u-boot
  > make CROSS_COMPILE=aarch64-linux-gnu- evb-rk3399_defconfig all

Compile the rkflashtool
=======================

  > cd ../rkflashtool
  > make

Package the image for miniloader
================================
  > cd ..
  > cp arm-trusted-firmware/build/rk3399/release/bl31.bin rkbin/rk33
  > ./rkbin/tools/trust_merger rkbin/tools/RK3399TRUST.ini
  > ./rkbin/tools/loaderimage --pack --uboot u-boot/u-boot-dtb.bin uboot.img
  > mkdir image
  > mv trust.img ./image/
  > mv uboot.img ./image/rk3399evb-uboot.bin

Flash the image
===============
Power on(or reset with RESET KEY) with MASKROM KEY preesed, and then:

  > ./rkflashtool/rkflashloader rk3399evb

You should be able to get U-Boot log message in console/UART2 now.