1b4315306SDan Handley /* 2*819df3fcSAntonio Nino Diaz * Copyright (c) 2014-2018, 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> 10955242d8SJeenu Viswambharan #include <utils_def.h> 11b4315306SDan Handley 12b4315306SDan Handley /* Whether Base memory map is in use */ 13*819df3fcSAntonio Nino Diaz #define ARM_CONFIG_BASE_MMAP BIT(1) 14*819df3fcSAntonio Nino Diaz 15b4315306SDan Handley /* Whether TZC should be configured */ 16*819df3fcSAntonio Nino Diaz #define ARM_CONFIG_HAS_TZC BIT(2) 17*819df3fcSAntonio Nino Diaz 18955242d8SJeenu Viswambharan /* FVP model has shifted affinity */ 19*819df3fcSAntonio Nino Diaz #define ARM_CONFIG_FVP_SHIFTED_AFF BIT(3) 20*819df3fcSAntonio Nino Diaz 21955242d8SJeenu Viswambharan /* FVP model has SMMUv3 affinity */ 22*819df3fcSAntonio Nino Diaz #define ARM_CONFIG_FVP_HAS_SMMUV3 BIT(4) 23*819df3fcSAntonio Nino Diaz 24955242d8SJeenu Viswambharan /* FVP model has CCI (400 or 500/550) devices */ 25*819df3fcSAntonio Nino Diaz #define ARM_CONFIG_FVP_HAS_CCI400 BIT(5) 26*819df3fcSAntonio Nino Diaz #define ARM_CONFIG_FVP_HAS_CCI5XX BIT(6) 27b4315306SDan Handley 28b4315306SDan Handley typedef struct arm_config { 29b4315306SDan Handley unsigned long flags; 30b4315306SDan Handley } arm_config_t; 31b4315306SDan Handley 32b4315306SDan Handley 33b4315306SDan Handley /* If used, arm_config must be defined and populated in the platform port */ 34b4315306SDan Handley extern arm_config_t arm_config; 35b4315306SDan Handley 3680bb6afdSJuan Castillo static inline const arm_config_t *get_arm_config(void) 37b4315306SDan Handley { 38b4315306SDan Handley return &arm_config; 39b4315306SDan Handley } 40b4315306SDan Handley 41b4315306SDan Handley 42b4315306SDan Handley #endif /* __ARM_CONFIG_H__ */ 43