1 /*
2  * Arm SCP/MCP Software
3  * Copyright (c) 2019-2021, Arm Limited and Contributors. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  *
7  * Description:
8  *      N1SDP SCP to PCC message transfer prototypes.
9  */
10 
11 #ifndef INTERNAL_N1SDP_SCP2PCC_H
12 #define INTERNAL_N1SDP_SCP2PCC_H
13 
14 #include <fwk_attributes.h>
15 
16 #include <stdint.h>
17 
18 #define MSG_PAYLOAD_SIZE         16
19 #define MSG_UNUSED_MESSAGE_TYPE  0xFFFF
20 #define MSG_ALIVE_VALUE          0xDEADBEEF
21 
22 #define SCP2PCC_TYPE_SHUTDOWN    0x0001
23 #define SCP2PCC_TYPE_REBOOT      0x0002
24 
25 struct FWK_PACKED mem_msg_packet_st {
26     /* Message type, lower 16 bits only. */
27     unsigned int type;
28     /* Valid payload size, lower 16 bits only. */
29     unsigned int size;
30     /* Sequence field used to process packets in proper order. */
31     unsigned int sequence;
32     /* Data payload. */
33     uint8_t payload[MSG_PAYLOAD_SIZE];
34 };
35 
36 #endif /* INTERNAL_N1SDP_SCP2PCC_H */
37