124dba2b3SPaul BeesleyRockchip SoCs 224dba2b3SPaul Beesley============= 355617251SHeiko Stuebner 455617251SHeiko StuebnerTrusted Firmware-A supports a number of Rockchip ARM SoCs from both 555617251SHeiko StuebnerAARCH32 and AARCH64 fields. 655617251SHeiko Stuebner 755617251SHeiko StuebnerThis includes right now: 8010d6ae3SXiaoDong Huang- px30: Quad-Core Cortex-A53 955617251SHeiko Stuebner- rk3288: Quad-Core Cortex-A17 (past A12) 1055617251SHeiko Stuebner- rk3328: Quad-Core Cortex-A53 1155617251SHeiko Stuebner- rk3368: Octa-Core Cortex-A53 1255617251SHeiko Stuebner- rk3399: Hexa-Core Cortex-A53/A72 139fd9f1d0Sshengfei Xu- rk3566/rk3568: Quad-Core Cortex-A55 14*036935a8SXiaoDong Huang- rk3576: Octa-Core Cortex-A53/A72 15e3ec6ff4SXiaoDong Huang- rk3588: Octa-Core Cortex-A55/A76 1655617251SHeiko Stuebner 1755617251SHeiko Stuebner 1855617251SHeiko StuebnerBoot Sequence 1924dba2b3SPaul Beesley------------- 2055617251SHeiko Stuebner 2155617251SHeiko StuebnerFor AARCH32: 2255617251SHeiko Stuebner Bootrom --> BL1/BL2 --> BL32 --> BL33 --> Linux kernel 2355617251SHeiko Stuebner 2455617251SHeiko StuebnerFor AARCH64: 2555617251SHeiko Stuebner Bootrom --> BL1/BL2 --> BL31 --> BL33 --> Linux kernel 2655617251SHeiko Stuebner 2755617251SHeiko StuebnerBL1/2 and BL33 can currently be supplied from either: 2855617251SHeiko Stuebner- Coreboot + Depthcharge 2955617251SHeiko Stuebner- U-Boot - either separately as TPL+SPL or only SPL 3055617251SHeiko Stuebner 3155617251SHeiko Stuebner 3255617251SHeiko StuebnerHow to build 3324dba2b3SPaul Beesley------------ 3455617251SHeiko Stuebner 3555617251SHeiko StuebnerRockchip SoCs expect TF-A's BL31 (AARCH64) or BL32 (AARCH32) to get 3655617251SHeiko Stuebnerintegrated with other boot software like U-Boot or Coreboot, so only 3755617251SHeiko Stuebnerthese images need to get build from the TF-A repository. 3855617251SHeiko Stuebner 3955617251SHeiko StuebnerFor AARCH64 architectures the build command looks like 4055617251SHeiko Stuebner 416611e81eSMichael Trimarchi make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31 4255617251SHeiko Stuebner 4355617251SHeiko Stuebnerwhile AARCH32 needs a slightly different command 4455617251SHeiko Stuebner 4555617251SHeiko Stuebner make ARCH=aarch32 CROSS_COMPILE=arm-linux-gnueabihf- PLAT=rk3288 AARCH32_SP=sp_min bl32 4655617251SHeiko Stuebner 4755617251SHeiko StuebnerBoth need replacing the PLAT argument with the platform from above you 4855617251SHeiko Stuebnerwant to build for and the CROSS_COMPILE argument with you cross- 4955617251SHeiko Stuebnercompilation toolchain. 5055617251SHeiko Stuebner 5155617251SHeiko Stuebner 5255617251SHeiko StuebnerHow to deploy 5324dba2b3SPaul Beesley------------- 5455617251SHeiko Stuebner 5555617251SHeiko StuebnerBoth upstream U-Boot and Coreboot projects contain instructions on where 5655617251SHeiko Stuebnerto put the built images during their respective build process. 5755617251SHeiko StuebnerSo after successfully building TF-A just follow their build instructions 5855617251SHeiko Stuebnerto continue. 59