uniphier: add TSP support

Add TSP to test BL32 without relying on external projects.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
Masahiro Yamada 2017-05-15 13:00:00 +09:00
parent d8e919c7b8
commit 63b3a28ebb
4 changed files with 49 additions and 0 deletions

View File

@ -121,3 +121,10 @@ To enable BL32, add the following option to the build command:
```
SPD=<spd> BL32=<path-to-BL32>
```
If you use TSP for BL32, `BL32=<path-to-BL32>` is not required. Just add the
following:
```
SPD=tspd
```

View File

@ -61,4 +61,9 @@
#define MAX_IO_DEVICES 2
#define MAX_IO_BLOCK_DEVICES 1
#define TSP_SEC_MEM_BASE (BL32_BASE)
#define TSP_SEC_MEM_SIZE ((BL32_LIMIT) - (BL32_BASE))
#define TSP_PROGBITS_LIMIT (UNIPHIER_BLOCK_BUF_BASE)
#define TSP_IRQ_SEC_PHY_TIMER 29
#endif /* __PLATFORM_DEF_H__ */

View File

@ -0,0 +1,9 @@
#
# Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
BL32_SOURCES += plat/common/plat_gicv3.c \
plat/common/aarch64/platform_mp_stack.S \
$(PLAT_PATH)/tsp/uniphier_tsp_setup.c

View File

@ -0,0 +1,28 @@
/*
* Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <platform_def.h>
#include <xlat_mmu_helpers.h>
#include "../uniphier.h"
#define BL32_END (unsigned long)(&__BL32_END__)
#define BL32_SIZE ((BL32_END) - (BL32_BASE))
void tsp_early_platform_setup(void)
{
uniphier_console_setup();
}
void tsp_platform_setup(void)
{
}
void tsp_plat_arch_setup(void)
{
uniphier_mmap_setup(BL32_BASE, BL32_SIZE, NULL);
enable_mmu_el1(0);
}