xref: /rk3399_ARM-atf/docs/plat/rockchip.rst (revision 55617251071c07569d57b4bf9aa9f6bdef50e704)
1*55617251SHeiko StuebnerTrusted Firmware-A for Rockchip SoCs
2*55617251SHeiko Stuebner====================================
3*55617251SHeiko Stuebner
4*55617251SHeiko StuebnerTrusted Firmware-A supports a number of Rockchip ARM SoCs from both
5*55617251SHeiko StuebnerAARCH32 and AARCH64 fields.
6*55617251SHeiko Stuebner
7*55617251SHeiko StuebnerThis includes right now:
8*55617251SHeiko Stuebner-  rk3288: Quad-Core Cortex-A17 (past A12)
9*55617251SHeiko Stuebner-  rk3328: Quad-Core Cortex-A53
10*55617251SHeiko Stuebner-  rk3368: Octa-Core Cortex-A53
11*55617251SHeiko Stuebner-  rk3399: Hexa-Core Cortex-A53/A72
12*55617251SHeiko Stuebner
13*55617251SHeiko Stuebner
14*55617251SHeiko StuebnerBoot Sequence
15*55617251SHeiko Stuebner=============
16*55617251SHeiko Stuebner
17*55617251SHeiko StuebnerFor AARCH32:
18*55617251SHeiko Stuebner    Bootrom --> BL1/BL2 --> BL32 --> BL33 --> Linux kernel
19*55617251SHeiko Stuebner
20*55617251SHeiko StuebnerFor AARCH64:
21*55617251SHeiko Stuebner    Bootrom --> BL1/BL2 --> BL31 --> BL33 --> Linux kernel
22*55617251SHeiko Stuebner
23*55617251SHeiko StuebnerBL1/2 and BL33 can currently be supplied from either:
24*55617251SHeiko Stuebner-  Coreboot + Depthcharge
25*55617251SHeiko Stuebner-  U-Boot - either separately as TPL+SPL or only SPL
26*55617251SHeiko Stuebner
27*55617251SHeiko Stuebner
28*55617251SHeiko StuebnerHow to build
29*55617251SHeiko Stuebner============
30*55617251SHeiko Stuebner
31*55617251SHeiko StuebnerRockchip SoCs expect TF-A's BL31 (AARCH64) or BL32 (AARCH32) to get
32*55617251SHeiko Stuebnerintegrated with other boot software like U-Boot or Coreboot, so only
33*55617251SHeiko Stuebnerthese images need to get build from the TF-A repository.
34*55617251SHeiko Stuebner
35*55617251SHeiko StuebnerFor AARCH64 architectures the build command looks like
36*55617251SHeiko Stuebner
37*55617251SHeiko Stuebner    make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl32
38*55617251SHeiko Stuebner
39*55617251SHeiko Stuebnerwhile AARCH32 needs a slightly different command
40*55617251SHeiko Stuebner
41*55617251SHeiko Stuebner    make ARCH=aarch32 CROSS_COMPILE=arm-linux-gnueabihf- PLAT=rk3288 AARCH32_SP=sp_min bl32
42*55617251SHeiko Stuebner
43*55617251SHeiko StuebnerBoth need replacing the PLAT argument with the platform from above you
44*55617251SHeiko Stuebnerwant to build for and the CROSS_COMPILE argument with you cross-
45*55617251SHeiko Stuebnercompilation toolchain.
46*55617251SHeiko Stuebner
47*55617251SHeiko Stuebner
48*55617251SHeiko StuebnerHow to deploy
49*55617251SHeiko Stuebner=============
50*55617251SHeiko Stuebner
51*55617251SHeiko StuebnerBoth upstream U-Boot and Coreboot projects contain instructions on where
52*55617251SHeiko Stuebnerto put the built images during their respective build process.
53*55617251SHeiko StuebnerSo after successfully building TF-A just follow their build instructions
54*55617251SHeiko Stuebnerto continue.
55