blob: 937f09f6e3801e2ed75143339f570f2e28f69eee [file] [log] [blame]
Harry Liebelcef93392014-04-01 19:27:38 +01001/*
Suyash Pathakb71a9e62020-02-04 13:55:20 +05302 * Copyright (c) 2014-2020, ARM Limited and Contributors. All rights reserved.
Harry Liebelcef93392014-04-01 19:27:38 +01003 *
dp-armfa3cf0b2017-05-03 09:38:09 +01004 * SPDX-License-Identifier: BSD-3-Clause
Harry Liebelcef93392014-04-01 19:27:38 +01005 */
6
Antonio Nino Diazbd7b7402019-01-25 14:30:04 +00007#include <plat/arm/common/arm_config.h>
8#include <plat/arm/common/plat_arm.h>
Harry Liebelcef93392014-04-01 19:27:38 +01009
10/*
Dan Handley2b6b5742015-03-19 19:17:53 +000011 * We assume that all security programming is done by the primary core.
Harry Liebelcef93392014-04-01 19:27:38 +010012 */
Dan Handley2b6b5742015-03-19 19:17:53 +000013void plat_arm_security_setup(void)
Harry Liebelcef93392014-04-01 19:27:38 +010014{
Harry Liebelcef93392014-04-01 19:27:38 +010015 /*
16 * The Base FVP has a TrustZone address space controller, the Foundation
17 * FVP does not. Trying to program the device on the foundation FVP will
18 * cause an abort.
19 *
20 * If the platform had additional peripheral specific security
21 * configurations, those would be configured here.
22 */
23
Sathees Balya30952cc2018-09-27 14:41:02 +010024 if ((get_arm_config()->flags & ARM_CONFIG_HAS_TZC) != 0U)
Suyash Pathakb71a9e62020-02-04 13:55:20 +053025 arm_tzc400_setup(PLAT_ARM_TZC_BASE, NULL);
Harry Liebelcef93392014-04-01 19:27:38 +010026}