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