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