xref: /rk3399_ARM-atf/include/lib/fconf/fconf_dyn_cfg_getter.h (revision af4fee04b9e0fcbf7e5a1f9ff2e88278fc99f865)
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