You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.1 KiB
39 lines
1.1 KiB
/*
|
|
* 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 <lib/fconf/fconf.h>
|
|
|
|
#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 */
|
|
|