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