1 /*
2  * Copyright (c) 2017-2019, Arm Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /* ZynqMP IPI mailbox doorbell service enums and defines */
8 
9 #ifndef IPI_MAILBOX_SVC_H
10 #define IPI_MAILBOX_SVC_H
11 
12 #include <stdint.h>
13 
14 /*********************************************************************
15  * Enum definitions
16  ********************************************************************/
17 
18 /* IPI SMC function numbers enum definition */
19 enum ipi_api_id {
20 	/* IPI mailbox operations functions: */
21 	IPI_MAILBOX_OPEN = 0x1000,
22 	IPI_MAILBOX_RELEASE,
23 	IPI_MAILBOX_STATUS_ENQUIRY,
24 	IPI_MAILBOX_NOTIFY,
25 	IPI_MAILBOX_ACK,
26 	IPI_MAILBOX_ENABLE_IRQ,
27 	IPI_MAILBOX_DISABLE_IRQ
28 };
29 
30 /*********************************************************************
31  * IPI mailbox service APIs declarations
32  ********************************************************************/
33 
34 /* IPI SMC handler */
35 uint64_t ipi_smc_handler(uint32_t smc_fid, uint64_t x1, uint64_t x2,
36 			 uint64_t x3, uint64_t x4, const void *cookie, void *handle,
37 			 uint64_t flags);
38 
39 #endif /* IPI_MAILBOX_SVC_H */
40