1 /*
2  * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /*!
8  * Header file for the PAD RPC implementation.
9  *
10  * @addtogroup PAD_SVC
11  * @{
12  */
13 
14 #ifndef SCI_PAD_RPC_H
15 #define SCI_PAD_RPC_H
16 
17 /* Includes */
18 
19 /* Defines */
20 
21 /*!
22  * @name Defines for RPC PAD function calls
23  */
24 /*@{*/
25 #define PAD_FUNC_UNKNOWN 0	/* Unknown function */
26 #define PAD_FUNC_SET_MUX 1U	/* Index for pad_set_mux() RPC call */
27 #define PAD_FUNC_GET_MUX 6U	/* Index for pad_get_mux() RPC call */
28 #define PAD_FUNC_SET_GP 2U	/* Index for pad_set_gp() RPC call */
29 #define PAD_FUNC_GET_GP 7U	/* Index for pad_get_gp() RPC call */
30 #define PAD_FUNC_SET_WAKEUP 4U	/* Index for pad_set_wakeup() RPC call */
31 #define PAD_FUNC_GET_WAKEUP 9U	/* Index for pad_get_wakeup() RPC call */
32 #define PAD_FUNC_SET_ALL 5U	/* Index for pad_set_all() RPC call */
33 #define PAD_FUNC_GET_ALL 10U	/* Index for pad_get_all() RPC call */
34 #define PAD_FUNC_SET 15U	/* Index for pad_set() RPC call */
35 #define PAD_FUNC_GET 16U	/* Index for pad_get() RPC call */
36 #define PAD_FUNC_SET_GP_28FDSOI 11U	/* Index for pad_set_gp_28fdsoi() RPC call */
37 #define PAD_FUNC_GET_GP_28FDSOI 12U	/* Index for pad_get_gp_28fdsoi() RPC call */
38 #define PAD_FUNC_SET_GP_28FDSOI_HSIC 3U	/* Index for pad_set_gp_28fdsoi_hsic() RPC call */
39 #define PAD_FUNC_GET_GP_28FDSOI_HSIC 8U	/* Index for pad_get_gp_28fdsoi_hsic() RPC call */
40 #define PAD_FUNC_SET_GP_28FDSOI_COMP 13U	/* Index for pad_set_gp_28fdsoi_comp() RPC call */
41 #define PAD_FUNC_GET_GP_28FDSOI_COMP 14U	/* Index for pad_get_gp_28fdsoi_comp() RPC call */
42 /*@}*/
43 
44 /* Types */
45 
46 /* Functions */
47 
48 /*!
49  * This function dispatches an incoming PAD RPC request.
50  *
51  * @param[in]     caller_pt   caller partition
52  * @param[in]     msg         pointer to RPC message
53  */
54 void pad_dispatch(sc_rm_pt_t caller_pt, sc_rpc_msg_t *msg);
55 
56 /*!
57  * This function translates and dispatches an PAD RPC request.
58  *
59  * @param[in]     ipc         IPC handle
60  * @param[in]     msg         pointer to RPC message
61  */
62 void pad_xlate(sc_ipc_t ipc, sc_rpc_msg_t *msg);
63 
64 #endif /* SCI_PAD_RPC_H */
65 
66 /**@}*/
67