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