18 #ifndef _TARGET_INFO_DATA_H_ 19 #define _TARGET_INFO_DATA_H_ 23 #define TARGET_CONFIG_CREATE_ID(major, minor, index) \ 24 (((major & 0xFF) << 24) | ((minor & 0xFF) << 16) | (index & 0xFFFF)) 25 #define TARGET_CONFIG_GET_MAJOR(config_id) ((config_id >> 24) & 0xFF) 26 #define TARGET_CONFIG_GET_MINOR(config_id) ((config_id >> 16) & 0xFF) 27 #define TARGET_CONFIG_INCREMENT_INDEX(config_id) \ 28 ((config_id & 0xFFFF0000) | ((config_id & 0xFFFF) + 1)) 29 #define GET_NUM_INSTANCE(struct_type) (struct_type->cfg_type.size >> 24) 30 #define VAL_TEST_MAJOR_GROUP_MASK 0xFF000000UL 31 #define VAL_TEST_MINOR_GROUP_MASK 0x00FF0000UL 32 #define VAL_TEST_CFG_INSTANCE_MASK 0x0000FFFFUL 33 #define VAL_TEST_INVALID_CFG_ID 0xFFFFFFFFUL 34 #define TARGET_MIN_CFG_ID TARGET_CONFIG_CREATE_ID(GROUP_SOC_PERIPHERAL, 0, 0) 35 #define TARGET_MAX_CFG_ID TARGET_CONFIG_CREATE_ID(GROUP_MAX, 0, 0) 49 GROUP_SOC_PERIPHERAL = 0x1,
51 GROUP_MISCELLANEOUS = 0x3,
58 typedef enum _SOC_PERIPHERAL_CONFIG_ID_ {
59 SOC_PERIPHERAL_UART = 0x1,
60 SOC_PERIPHERAL_TIMER = 0x2,
61 SOC_PERIPHERAL_WATCHDOG = 0x3,
62 } soc_peripheral_cfg_id_t;
64 typedef enum _MEMORY_CONFIG_ID_ {
66 MEMORY_NSPE_MMIO = 0x3,
67 MEMORY_CLIENT_PARTITION_MMIO = 0x4,
68 MEMORY_DRIVER_PARTITION_MMIO = 0x5,
71 typedef enum _MISCELLANEOUS_CONFIG_ID_ {
72 MISCELLANEOUS_BOOT = 0x1,
73 MISCELLANEOUS_DUT = 0x2
74 } miscellaneous_cfg_id_t;
80 UART = GROUP_SOC_PERIPHERAL,
81 TIMER = GROUP_SOC_PERIPHERAL,
82 WATCHDOG = GROUP_SOC_PERIPHERAL,
84 NSPE_MMIO = GROUP_MEMORY,
85 CLIENT_PARTITION_MMIO = GROUP_MEMORY,
86 DRIVER_PARTITION_MMIO = GROUP_MEMORY,
87 BOOT = GROUP_MISCELLANEOUS,
88 DUT = GROUP_MISCELLANEOUS,
96 uint32_t signature[2];
98 uint32_t target_string[2];
117 SECURE_ACCESS = 0x100,
120 NONSECURE_PROGRAMMABLE
130 TYPE_READ_ONLY = 0x10,
155 mem_tgt_attr_t attribute;
156 perm_type_t permission;
174 perm_type_t permission;
175 uint32_t timeout_in_micro_sec_low;
176 uint32_t timeout_in_micro_sec_medium;
177 uint32_t timeout_in_micro_sec_high;
178 uint32_t timeout_in_micro_sec_crypto;
179 uint32_t num_of_tick_per_micro_sec;
180 dev_attr_t attribute;
194 firmware_level_t implemented_psa_firmware_isolation_level;
195 addr_t ns_start_addr_of_combine_test_binary;
196 is_available_t combine_test_binary_in_ram;
201 STATIC_DECLARE val_status_t val_target_get_config(cfg_id_t cfg_id, uint8_t **data, uint32_t *size);
202 STATIC_DECLARE val_status_t val_target_cfg_get_next(
void **blob);
203 STATIC_DECLARE val_status_t val_target_get_cfg_blob(cfg_id_t cfg_id, uint8_t **data, uint32_t *size);
204 STATIC_DECLARE val_status_t val_target_get_config(cfg_id_t cfg_id, uint8_t **data, uint32_t *size);
struct _MISCELLANEOUS_INFO_HDR_ miscellaneous_hdr_t
System Miscellaneous Information.
enum _COMPONENT_GROUPING_ comp_group_assign_t
Assign group type to each system component.
_GROUP_CONFIG_ID_
Config IDs for each group/component 31:24 : MAJOR (group) 23:16 : MINOR (component) 16:8 : SUB-compon...
struct _TARGET_CFG_HDR_ target_cfg_hdr_t
Target Configuration Header.
Copyright (c) 2018-2019, Arm Limited or its affiliates.
struct _MEM_INFO_DESC_ memory_hdr_t
Memory Information.
System Miscellaneous Information.
enum _GROUP_CONFIG_ID_ group_cfg_id_t
Config IDs for each group/component 31:24 : MAJOR (group) 23:16 : MINOR (component) 16:8 : SUB-compon...
Target Configuration Header.
_COMPONENT_GROUPING_
Assign group type to each system component.