1 /* 2 * Copyright (c) 2019-2022, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef FCONF_DYN_CFG_GETTER_H 8 #define FCONF_DYN_CFG_GETTER_H 9 10 #include <lib/fconf/fconf.h> 11 12 #define FCONF_INVALID_IDX 0xFFFFFFFFU 13 14 /* Dynamic configuration related getter */ 15 #define dyn_cfg__dtb_getter(id) dyn_cfg_dtb_info_getter(id) 16 17 struct dyn_cfg_dtb_info_t { 18 uintptr_t config_addr; 19 uint32_t config_max_size; 20 unsigned int config_id; 21 /* 22 * Load address in non-secure memory. Only needed by those 23 * configuration files which require being loaded in secure 24 * memory (at config_addr) as well as in non-secure memory 25 * - e.g. HW_CONFIG 26 */ 27 uintptr_t ns_config_addr; 28 }; 29 30 unsigned int dyn_cfg_dtb_info_get_index(unsigned int config_id); 31 struct dyn_cfg_dtb_info_t *dyn_cfg_dtb_info_getter(unsigned int config_id); 32 int fconf_populate_dtb_registry(uintptr_t config); 33 34 /* Set config information in global DTB array */ 35 void set_config_info(uintptr_t config_addr, uintptr_t ns_config_addr, 36 uint32_t config_max_size, 37 unsigned int config_id); 38 39 #endif /* FCONF_DYN_CFG_GETTER_H */ 40