xref: /rk3399_ARM-atf/include/services/lfa_component_desc.h (revision 06a6f2968df7ac5a1016afe60a22f2f7d03f6c9b)
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