blob: 686e6e997c30c9e0492406cf07944983bb0f0ca6 [file] [log] [blame]
Anson Huangb6294132018-06-05 16:05:59 +08001/*
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 SC_PAD_RPC_H
15#define SC_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 */
54void 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 */
62void pad_xlate(sc_ipc_t ipc, sc_rpc_msg_t *msg);
63
64#endif /* SC_PAD_RPC_H */
65
66/**@}*/