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