1Introduction
2============
3
4RK3328 key features we might use in U-Boot:
5* CPU: ARMv8 64bit quad-core Cortex-A53
6* IRAM: 36KB
7* DRAM: 4GB-16MB dual-channel
8* eMMC: support eMMC 5.0/5.1, suport HS400, HS200, DDR50
9* SD/MMC: support SD 3.0, MMC 4.51
10* USB: USB2.0 EHCI host port *2
11* Display: RGB/HDMI/DP/MIPI/EDP
12
13evb key features:
14* regulator: pwm regulator for CPU B/L
15* PMIC: rk808
16* debug console: UART2
17
18In order to support Arm Trust Firmware(ATF), we need to use the
19miniloader from rockchip which:
20* do DRAM init
21* load and verify ATF image
22* load and verify U-Boot image
23
24Here is the step-by-step to boot to U-Boot on rk3328.
25
26Get the Source and prebuild binary
27==================================
28
29  > mkdir ~/evb_rk3328
30  > cd ~/evb_rk3328
31  > git clone https://github.com/ARM-software/arm-trusted-firmware.git
32  > git clone https://github.com/rockchip-linux/rkbin
33  > git clone https://github.com/rockchip-linux/rkflashtool
34
35Compile ATF
36===============
37
38  > cd arm-trusted-firmware
39  > make realclean
40  > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3328 bl31
41
42Compile U-Boot
43==================
44
45  > cd ../u-boot
46  > make CROSS_COMPILE=aarch64-linux-gnu- evb-rk3328_defconfig all
47
48Compile rkflashtool
49=======================
50
51  > cd ../rkflashtool
52  > make
53
54Package image for miniloader
55================================
56  > cd ..
57  > cp arm-trusted-firmware/build/rk3328/release/bl31.bin rkbin/rk33
58  > ./rkbin/tools/trust_merger rkbin/tools/RK3328TRUST.ini
59  > ./rkbin/tools/loaderimage --pack --uboot u-boot/u-boot-dtb.bin uboot.img
60  > mkdir image
61  > mv trust.img ./image/
62  > mv uboot.img ./image/rk3328evb-uboot.bin
63
64Flash image
65===============
66Power on(or reset with RESET KEY) with MASKROM KEY preesed, and then:
67
68  > ./rkflashtool/rkflashloader rk3328evb
69
70You should be able to get U-Boot log message in console/UART2 now.
71