1 /* 2 * Copyright (c) 2014-2017, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 #ifndef __ARM_CONFIG_H__ 7 #define __ARM_CONFIG_H__ 8 9 #include <stdint.h> 10 #include <utils_def.h> 11 12 enum arm_config_flags { 13 /* Whether Base memory map is in use */ 14 ARM_CONFIG_BASE_MMAP = BIT(1), 15 /* Whether TZC should be configured */ 16 ARM_CONFIG_HAS_TZC = BIT(2), 17 /* FVP model has shifted affinity */ 18 ARM_CONFIG_FVP_SHIFTED_AFF = BIT(3), 19 /* FVP model has SMMUv3 affinity */ 20 ARM_CONFIG_FVP_HAS_SMMUV3 = BIT(4), 21 /* FVP model has CCI (400 or 500/550) devices */ 22 ARM_CONFIG_FVP_HAS_CCI400 = BIT(5), 23 ARM_CONFIG_FVP_HAS_CCI5XX = BIT(6), 24 }; 25 26 typedef struct arm_config { 27 unsigned long flags; 28 } arm_config_t; 29 30 31 /* If used, arm_config must be defined and populated in the platform port */ 32 extern arm_config_t arm_config; 33 34 static inline const arm_config_t *get_arm_config(void) 35 { 36 return &arm_config; 37 } 38 39 40 #endif /* __ARM_CONFIG_H__ */ 41