rockchip.rst 1.49 KB
Newer Older
1
2
Rockchip SoCs
=============
Heiko Stuebner's avatar
Heiko Stuebner committed
3
4
5
6
7

Trusted Firmware-A supports a number of Rockchip ARM SoCs from both
AARCH32 and AARCH64 fields.

This includes right now:
XiaoDong Huang's avatar
XiaoDong Huang committed
8
-  px30: Quad-Core Cortex-A53
Heiko Stuebner's avatar
Heiko Stuebner committed
9
10
11
12
13
14
15
-  rk3288: Quad-Core Cortex-A17 (past A12)
-  rk3328: Quad-Core Cortex-A53
-  rk3368: Octa-Core Cortex-A53
-  rk3399: Hexa-Core Cortex-A53/A72


Boot Sequence
16
-------------
Heiko Stuebner's avatar
Heiko Stuebner committed
17
18
19
20
21
22
23
24
25
26
27
28
29

For AARCH32:
    Bootrom --> BL1/BL2 --> BL32 --> BL33 --> Linux kernel

For AARCH64:
    Bootrom --> BL1/BL2 --> BL31 --> BL33 --> Linux kernel

BL1/2 and BL33 can currently be supplied from either:
-  Coreboot + Depthcharge
-  U-Boot - either separately as TPL+SPL or only SPL


How to build
30
------------
Heiko Stuebner's avatar
Heiko Stuebner committed
31
32
33
34
35
36
37

Rockchip SoCs expect TF-A's BL31 (AARCH64) or BL32 (AARCH32) to get
integrated with other boot software like U-Boot or Coreboot, so only
these images need to get build from the TF-A repository.

For AARCH64 architectures the build command looks like

38
    make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl32
Heiko Stuebner's avatar
Heiko Stuebner committed
39
40
41
42
43
44
45
46
47
48
49

while AARCH32 needs a slightly different command

    make ARCH=aarch32 CROSS_COMPILE=arm-linux-gnueabihf- PLAT=rk3288 AARCH32_SP=sp_min bl32

Both need replacing the PLAT argument with the platform from above you
want to build for and the CROSS_COMPILE argument with you cross-
compilation toolchain.


How to deploy
50
-------------
Heiko Stuebner's avatar
Heiko Stuebner committed
51
52
53
54
55

Both upstream U-Boot and Coreboot projects contain instructions on where
to put the built images during their respective build process.
So after successfully building TF-A just follow their build instructions
to continue.