1 /*
2  * Arm SCP/MCP Software
3  * Copyright (c) 2018-2021, Arm Limited and Contributors. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  *
7  * Description:
8  *      SCMI Core Configuration Protocol Support
9  */
10 
11 #ifndef INTERNAL_SCMI_APCORE_H
12 #define INTERNAL_SCMI_APCORE_H
13 
14 #include <stdint.h>
15 
16 /*
17  * Protocol Attributes
18  */
19 
20 #define MOD_SCMI_APCORE_PROTOCOL_ATTRIBUTES_64BIT_POS 0
21 
22 #define MOD_SCMI_APCORE_PROTOCOL_ATTRIBUTES_64BIT_MASK \
23     (UINT32_C(0x1) << MOD_SCMI_APCORE_PROTOCOL_ATTRIBUTES_64BIT_POS)
24 
25 /*
26  * Reset Address Set
27  */
28 
29 #define MOD_SCMI_APCORE_RESET_ADDRESS_SET_LOCK_POS 0
30 
31 #define MOD_SCMI_APCORE_RESET_ADDRESS_SET_LOCK_MASK \
32     (UINT32_C(0x1) << MOD_SCMI_APCORE_RESET_ADDRESS_SET_LOCK_POS)
33 
34 struct scmi_apcore_reset_address_set_a2p {
35     uint32_t reset_address_low;
36     uint32_t reset_address_high;
37     uint32_t attributes;
38 };
39 
40 struct scmi_apcore_reset_address_set_p2a {
41     int32_t status;
42 };
43 
44 /*
45  * Reset Address Get
46  */
47 
48 #define MOD_SCMI_APCORE_RESET_ADDRESS_GET_LOCK_POS 0
49 
50 #define MOD_SCMI_APCORE_RESET_ADDRESS_GET_LOCK_MASK \
51     (UINT32_C(0x1) << MOD_SCMI_APCORE_RESET_ADDRESS_GET_LOCK_POS)
52 
53 struct scmi_apcore_reset_address_get_p2a {
54     int32_t status;
55     uint32_t reset_address_low;
56     uint32_t reset_address_high;
57     uint32_t attributes;
58 };
59 
60 #endif /* INTERNAL_SCMI_APCORE_H */
61