summaryrefslogtreecommitdiff
path: root/docs/plat
diff options
context:
space:
mode:
authorHeiko Stuebner <heiko@sntech.de>2019-04-19 12:35:47 +0200
committerHeiko Stuebner <heiko@sntech.de>2019-04-25 13:37:56 +0200
commit55617251071c07569d57b4bf9aa9f6bdef50e704 (patch)
tree9270c27bd3635d364ccff7dfcbc933f21fc71888 /docs/plat
parent780e3f24553ef4dd177b7278bbfef30053de1656 (diff)
rockchip: document platform
This adds a rockchip.rst to docs/plat documenting the general approach to using the Rockchip ATF platforms together with the supported bootloaders and also adds myself as maintainer after making sure Tony Xie is ok with that. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Change-Id: Idce53d15eff4ac6de05bbb35d86e57ed50d0cbb9
Diffstat (limited to 'docs/plat')
-rw-r--r--docs/plat/rockchip.rst54
1 files changed, 54 insertions, 0 deletions
diff --git a/docs/plat/rockchip.rst b/docs/plat/rockchip.rst
new file mode 100644
index 00000000..e88706b2
--- /dev/null
+++ b/docs/plat/rockchip.rst
@@ -0,0 +1,54 @@
+Trusted Firmware-A for Rockchip SoCs
+====================================
+
+Trusted Firmware-A supports a number of Rockchip ARM SoCs from both
+AARCH32 and AARCH64 fields.
+
+This includes right now:
+- rk3288: Quad-Core Cortex-A17 (past A12)
+- rk3328: Quad-Core Cortex-A53
+- rk3368: Octa-Core Cortex-A53
+- rk3399: Hexa-Core Cortex-A53/A72
+
+
+Boot Sequence
+=============
+
+For AARCH32:
+ Bootrom --> BL1/BL2 --> BL32 --> BL33 --> Linux kernel
+
+For AARCH64:
+ Bootrom --> BL1/BL2 --> BL31 --> BL33 --> Linux kernel
+
+BL1/2 and BL33 can currently be supplied from either:
+- Coreboot + Depthcharge
+- U-Boot - either separately as TPL+SPL or only SPL
+
+
+How to build
+============
+
+Rockchip SoCs expect TF-A's BL31 (AARCH64) or BL32 (AARCH32) to get
+integrated with other boot software like U-Boot or Coreboot, so only
+these images need to get build from the TF-A repository.
+
+For AARCH64 architectures the build command looks like
+
+ make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl32
+
+while AARCH32 needs a slightly different command
+
+ make ARCH=aarch32 CROSS_COMPILE=arm-linux-gnueabihf- PLAT=rk3288 AARCH32_SP=sp_min bl32
+
+Both need replacing the PLAT argument with the platform from above you
+want to build for and the CROSS_COMPILE argument with you cross-
+compilation toolchain.
+
+
+How to deploy
+=============
+
+Both upstream U-Boot and Coreboot projects contain instructions on where
+to put the built images during their respective build process.
+So after successfully building TF-A just follow their build instructions
+to continue.