Difference between revisions of "ATF"

From Rockchip open source Document
Jump to: navigation, search
Line 1: Line 1:
 +
  
 
= Download ARM Trusted Firmware =
 
= Download ARM Trusted Firmware =
 +
 +
== Rockchip ATF ==
 +
 +
Rockchip do not provide the ATF source code, you can find the ATF binaries in [https://github.com/rockchip-linux/rkbin rkbin repository].
 +
 +
== Upstream ATF ==
  
 
Get the source code from github:
 
Get the source code from github:
 
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
 
<pre>git clone https://github.com/ARM-software/arm-trusted-firmware.git</pre>
 
 
  
 
= Supported Devices =
 
= Supported Devices =

Revision as of 07:05, 25 April 2017


Download ARM Trusted Firmware

Rockchip ATF

Rockchip do not provide the ATF source code, you can find the ATF binaries in rkbin repository.

Upstream ATF

Get the source code from github:

git clone https://github.com/ARM-software/arm-trusted-firmware.git

Supported Devices

Upstream ARM Trusted Firmware support Rockchip SoCs:

RK3399

 

Build ATF

Here is a mk-atf.sh script to build ATF.

$ cat mk-atf.sh 

#!/bin/bash

make realclean

CFLAGS='-gdwarf-2' \
CROSS_COMPILE=aarch64-linux-gnu- \
make PLAT=rk3399 DEBUG=1 ERROR_DEPRECATED=1 bl31

Because there is a blob of code for cortex-M0 in rk3399 ATF, so you need a compiler for it. Install it by:

sudo apt-get install gcc-arm-none-eabi

We can get bl31.bin when build completed.

 

Install ATF

Using U-Boot SPL FIT image

Upstream U-Boot SPL support for ATF still WIP.


Using Rockchip miniloader

Alternatively, you can use Rockchip miniloader and U-Boot instead which do not need SPL.

The ATF is loaded by miniloader, so it should be package to know format for miniloader

trust_merger rk_tools/RKTRUST/RK3399TRUST.ini atf.img

According to the partitions definition, write to atf.img offset 0x6000.