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