1 /* 2 * Copyright (c) 2025, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef LFA_COMPONENT_DESC_H 8 #define LFA_COMPONENT_DESC_H 9 10 #include <stdbool.h> 11 #include <stdint.h> 12 13 typedef enum { 14 PRIME_NONE = 0, 15 } lfa_prime_status_t; 16 17 struct lfa_component_status { 18 uint32_t component_id; 19 lfa_prime_status_t prime_status; 20 }; 21 22 typedef int32_t (*component_prime_fn)(struct lfa_component_status *activation); 23 typedef int32_t (*component_activate_fn)(struct lfa_component_status *activation, 24 uint64_t ep_address, 25 uint64_t context_id); 26 27 struct lfa_component_ops { 28 component_prime_fn prime; 29 component_activate_fn activate; 30 bool may_reset_cpu; 31 bool cpu_rendezvous_required; 32 }; 33 34 #endif /* LFA_COMPONENT_DESC_H */ 35