spl: add support to booting with OP-TEE
authorKever Yang <kever.yang@rock-chips.com>
Thu, 23 Aug 2018 09:17:59 +0000 (17:17 +0800)
committerPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
Thu, 4 Oct 2018 19:15:46 +0000 (21:15 +0200)
commit70fe2876352939194ccd9091379453a5ddb64ddb
tree7b471009ef30f1a5d52f0b720a9bb669f1e76d5c
parentf00273a3a300d4f67bd4fa65cfc3da7b3e23819a
spl: add support to booting with OP-TEE

OP-TEE is an open source trusted OS, in armv7, its loading and
running are like this:
loading:
- SPL load both OP-TEE and U-Boot
running:
- SPL run into OP-TEE in secure mode;
- OP-TEE run into U-Boot in non-secure mode;

To make code simple, it would be fine to use IH_OS_TEE for the
os tyle in TPL(just like IH_OS_LINUX is using both in SPL and U-Boot).

Here is the diagram for SPL loading OP-TEE,
IH_OS_TEE:(make u-boot.itb for SPL)
    Non-Secure       Secure

                     BootROM
                       |
                       v
                      SPL
                       |
                       v
          ---------  OP-TEE
         |
         v
       U-Boot
         |
         V
       Linux
For other two king of OP-TEE loading/booting, see commit message:
45b55712d4 image: Add IH_OS_TEE for TEE chain-load boot

More detail:
https://github.com/OP-TEE/optee_os
and search for 'boot arguments' for detail entry parameter in:
core/arch/arm/kernel/generic_entry_a32.S

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Cc: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
common/spl/Kconfig
common/spl/Makefile
common/spl/spl.c
common/spl/spl_optee.S [new file with mode: 0644]
include/spl.h