u-boot/board/rockchip/evb_rk3328
Tianling Shen 69e16c7b1c rockchip: rk3328: Add support for Orange Pi R1 Plus
Orange Pi R1 Plus is a Rockchip RK3328 based SBC by Xunlong.

This device is similar to the NanoPi R2S, and has a 16MB
SPI NOR (mx25l12805d). The reset button is changed to
directly reset the power supply, another detail is that
both network ports have independent MAC addresses.

The device tree and description are taken from kernel v6.3-rc1.

Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Tianling Shen <cnsztl@gmail.com>
2023-07-28 18:45:02 +08:00
..
evb-rk3328.c WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
Kconfig
MAINTAINERS rockchip: rk3328: Add support for Orange Pi R1 Plus 2023-07-28 18:45:02 +08:00
Makefile
README

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.