u-boot-brain/board/rockchip/evb_rk3328
Kever Yang 975e4abad2 rockchip: correct the bank0 ram size
The bank0 ram size should be the DRAM size minus reserved size,
the DRAM size may be 1GB, 2GB, 4GB, we can not hard code it.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Added DECLARE_GLOBAL_DATA_PTR for RK3328, RK3368 and RK3399:
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2017-07-11 12:13:45 +02:00
..
evb-rk3328.c rockchip: correct the bank0 ram size 2017-07-11 12:13:45 +02:00
Kconfig rockchip: rk3328: add evb-rk3328 support 2017-03-16 16:03:46 -06:00
MAINTAINERS rockchip: evb-rk3328: update board maintainer 2017-06-07 07:29:22 -06:00
Makefile rockchip: rk3328: add evb-rk3328 support 2017-03-16 16:03:46 -06:00
README rockchip: rk3328: add evb-rk3328 support 2017-03-16 16:03:46 -06:00

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

RK3328 key features we might use in U-Boot:
* CPU: ARMv8 64bit quad-core Cortex-A53
* IRAM: 36KB
* DRAM: 4GB-16MB dual-channel
* eMMC: support eMMC 5.0/5.1, suport HS400, HS200, DDR50
* SD/MMC: support SD 3.0, MMC 4.51
* USB: 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 rk3328.

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

  > mkdir ~/evb_rk3328
  > cd ~/evb_rk3328
  > 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 ATF
===============

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

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

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

Compile rkflashtool
=======================

  > cd ../rkflashtool
  > make

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

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

  > ./rkflashtool/rkflashloader rk3328evb

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