/* * Copyright (c) 2019-2022, Arm Limited. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ #ifndef FCONF_DYN_CFG_GETTER_H #define FCONF_DYN_CFG_GETTER_H #include #define FCONF_INVALID_IDX 0xFFFFFFFFU /* Dynamic configuration related getter */ #define dyn_cfg__dtb_getter(id) dyn_cfg_dtb_info_getter(id) struct dyn_cfg_dtb_info_t { uintptr_t config_addr; uint32_t config_max_size; unsigned int config_id; /* * Load address in non-secure memory. Only needed by those * configuration files which require being loaded in secure * memory (at config_addr) as well as in non-secure memory * - e.g. HW_CONFIG */ uintptr_t ns_config_addr; }; unsigned int dyn_cfg_dtb_info_get_index(unsigned int config_id); struct dyn_cfg_dtb_info_t *dyn_cfg_dtb_info_getter(unsigned int config_id); int fconf_populate_dtb_registry(uintptr_t config); /* Set config information in global DTB array */ void set_config_info(uintptr_t config_addr, uintptr_t ns_config_addr, uint32_t config_max_size, unsigned int config_id); #endif /* FCONF_DYN_CFG_GETTER_H */