xref: /rk3399_ARM-atf/include/lib/fconf/fconf_dyn_cfg_getter.h (revision 9e3f409398af447b1d03001dd981007a9bb1617e)
125ac8794SLouis Mayencourt /*
2*9e3f4093SYann Gautier  * Copyright (c) 2019-2021, 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 
12*9e3f4093SYann Gautier #define FCONF_INVALID_IDX	0xFFFFFFFFU
13*9e3f4093SYann 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;
2125ac8794SLouis Mayencourt };
2225ac8794SLouis Mayencourt 
23*9e3f4093SYann Gautier unsigned int dyn_cfg_dtb_info_get_index(unsigned int config_id);
2425ac8794SLouis Mayencourt struct dyn_cfg_dtb_info_t *dyn_cfg_dtb_info_getter(unsigned int config_id);
2525ac8794SLouis Mayencourt int fconf_populate_dtb_registry(uintptr_t config);
2625ac8794SLouis Mayencourt 
27f4417189SManish V Badarkhe /* Set config information in global DTB array */
28f4417189SManish V Badarkhe void set_config_info(uintptr_t config_addr, uint32_t config_max_size,
29f4417189SManish V Badarkhe 			unsigned int config_id);
3082869675SManish V Badarkhe 
3125ac8794SLouis Mayencourt #endif /* FCONF_DYN_CFG_GETTER_H */
32