125ac8794SLouis Mayencourt /* 2*05e55030SManish V Badarkhe * Copyright (c) 2019-2023, 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; 21ed4bf52cSManish V Badarkhe /* 22*05e55030SManish V Badarkhe * A platform uses this address to copy the configuration 23*05e55030SManish V Badarkhe * to another location during the boot-flow. 24ed4bf52cSManish V Badarkhe * - e.g. HW_CONFIG 25ed4bf52cSManish V Badarkhe */ 26*05e55030SManish V Badarkhe uintptr_t secondary_config_addr; 2725ac8794SLouis Mayencourt }; 2825ac8794SLouis Mayencourt 299e3f4093SYann Gautier unsigned int dyn_cfg_dtb_info_get_index(unsigned int config_id); 3025ac8794SLouis Mayencourt struct dyn_cfg_dtb_info_t *dyn_cfg_dtb_info_getter(unsigned int config_id); 3125ac8794SLouis Mayencourt int fconf_populate_dtb_registry(uintptr_t config); 3225ac8794SLouis Mayencourt 33f4417189SManish V Badarkhe /* Set config information in global DTB array */ 34*05e55030SManish V Badarkhe void set_config_info(uintptr_t config_addr, uintptr_t secondary_config_addr, 35ed4bf52cSManish V Badarkhe uint32_t config_max_size, 36f4417189SManish V Badarkhe unsigned int config_id); 3782869675SManish V Badarkhe 3825ac8794SLouis Mayencourt #endif /* FCONF_DYN_CFG_GETTER_H */ 39