u-boot/board/rockchip/evb_rk3328
David Bauer b821e0db46 rockchip: rk3328: Add support for FriendlyARM NanoPi R2S
This adds support for the NanoPi R2S from FriendlyArm.

Rockchip RK3328 SoC
1GB DDR4 RAM
Gigabit Ethernet (WAN)
Gigabit Ethernet (USB3) (LAN)
USB 2.0 Host Port
MicroSD slot
Reset button
WAN - LAN - SYS LED

Signed-off-by: David Bauer <mail@david-bauer.net>
Reviewed-by: Kever Yang<kever.yang@rock-chips.com>
2021-01-21 11:58:35 +08:00
..
evb-rk3328.c rockchip: rk3328: Migrate to use common board file 2019-07-29 10:27:48 +08:00
Kconfig rockchip: rk3328: add evb-rk3328 support 2017-03-16 16:03:46 -06:00
MAINTAINERS rockchip: rk3328: Add support for FriendlyARM NanoPi R2S 2021-01-21 11:58:35 +08: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.