125ac8794SLouis Mayencourt /* 2*ed4bf52cSManish V Badarkhe * Copyright (c) 2019-2022, Arm Limited. All rights reserved. 325ac8794SLouis Mayencourt * 425ac8794SLouis Mayencourt * SPDX-License-Identifier: BSD-3-Clause 525ac8794SLouis Mayencourt */ 625ac8794SLouis Mayencourt 725ac8794SLouis Mayencourt #ifndef FCONF_DYN_CFG_GETTER_H 825ac8794SLouis Mayencourt #define FCONF_DYN_CFG_GETTER_H 925ac8794SLouis Mayencourt 1025ac8794SLouis Mayencourt #include <lib/fconf/fconf.h> 1125ac8794SLouis Mayencourt 129e3f4093SYann Gautier #define FCONF_INVALID_IDX 0xFFFFFFFFU 139e3f4093SYann Gautier 1425ac8794SLouis Mayencourt /* Dynamic configuration related getter */ 1525ac8794SLouis Mayencourt #define dyn_cfg__dtb_getter(id) dyn_cfg_dtb_info_getter(id) 1625ac8794SLouis Mayencourt 1725ac8794SLouis Mayencourt struct dyn_cfg_dtb_info_t { 1825ac8794SLouis Mayencourt uintptr_t config_addr; 19a4ff9d7eSManish V Badarkhe uint32_t config_max_size; 2025ac8794SLouis Mayencourt unsigned int config_id; 21*ed4bf52cSManish V Badarkhe /* 22*ed4bf52cSManish V Badarkhe * Load address in non-secure memory. Only needed by those 23*ed4bf52cSManish V Badarkhe * configuration files which require being loaded in secure 24*ed4bf52cSManish V Badarkhe * memory (at config_addr) as well as in non-secure memory 25*ed4bf52cSManish V Badarkhe * - e.g. HW_CONFIG 26*ed4bf52cSManish V Badarkhe */ 27*ed4bf52cSManish V Badarkhe uintptr_t ns_config_addr; 2825ac8794SLouis Mayencourt }; 2925ac8794SLouis Mayencourt 309e3f4093SYann Gautier unsigned int dyn_cfg_dtb_info_get_index(unsigned int config_id); 3125ac8794SLouis Mayencourt struct dyn_cfg_dtb_info_t *dyn_cfg_dtb_info_getter(unsigned int config_id); 3225ac8794SLouis Mayencourt int fconf_populate_dtb_registry(uintptr_t config); 3325ac8794SLouis Mayencourt 34f4417189SManish V Badarkhe /* Set config information in global DTB array */ 35*ed4bf52cSManish V Badarkhe void set_config_info(uintptr_t config_addr, uintptr_t ns_config_addr, 36*ed4bf52cSManish V Badarkhe uint32_t config_max_size, 37f4417189SManish V Badarkhe unsigned int config_id); 3882869675SManish V Badarkhe 3925ac8794SLouis Mayencourt #endif /* FCONF_DYN_CFG_GETTER_H */ 40