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