blob: 1f3edbcc7f329607d520ba7e65edd3da396b583b [file] [log] [blame]
Manish V Badarkhe9e032182025-05-30 12:31:00 +01001/*
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
Manish V Badarkhe06a6f292025-04-15 20:16:34 +010010#include <stdbool.h>
Manish V Badarkhe9e032182025-05-30 12:31:00 +010011#include <stdint.h>
12
13typedef enum {
14 PRIME_NONE = 0,
15} lfa_prime_status_t;
16
17struct lfa_component_status {
18 uint32_t component_id;
19 lfa_prime_status_t prime_status;
20};
21
22typedef int32_t (*component_prime_fn)(struct lfa_component_status *activation);
23typedef int32_t (*component_activate_fn)(struct lfa_component_status *activation,
24 uint64_t ep_address,
25 uint64_t context_id);
26
27struct lfa_component_ops {
28 component_prime_fn prime;
29 component_activate_fn activate;
Manish V Badarkhe06a6f292025-04-15 20:16:34 +010030 bool may_reset_cpu;
31 bool cpu_rendezvous_required;
Manish V Badarkhe9e032182025-05-30 12:31:00 +010032};
33
34#endif /* LFA_COMPONENT_DESC_H */