1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (C) 2016 Freescale Semiconductor, Inc. 3*91f16700Schasinglulu * Copyright 2017-2019 NXP 4*91f16700Schasinglulu * 5*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 6*91f16700Schasinglulu */ 7*91f16700Schasinglulu 8*91f16700Schasinglulu /*! 9*91f16700Schasinglulu * Header file for the TIMER RPC implementation. 10*91f16700Schasinglulu * 11*91f16700Schasinglulu * @addtogroup TIMER_SVC 12*91f16700Schasinglulu * @{ 13*91f16700Schasinglulu */ 14*91f16700Schasinglulu 15*91f16700Schasinglulu #ifndef SC_TIMER_RPC_H 16*91f16700Schasinglulu #define SC_TIMER_RPC_H 17*91f16700Schasinglulu 18*91f16700Schasinglulu /* Includes */ 19*91f16700Schasinglulu 20*91f16700Schasinglulu /* Defines */ 21*91f16700Schasinglulu 22*91f16700Schasinglulu /*! 23*91f16700Schasinglulu * @name Defines for RPC TIMER function calls 24*91f16700Schasinglulu */ 25*91f16700Schasinglulu /*@{*/ 26*91f16700Schasinglulu #define TIMER_FUNC_UNKNOWN 0 /* Unknown function */ 27*91f16700Schasinglulu #define TIMER_FUNC_SET_WDOG_TIMEOUT 1U /* Index for timer_set_wdog_timeout() RPC call */ 28*91f16700Schasinglulu #define TIMER_FUNC_SET_WDOG_PRE_TIMEOUT 12U /* Index for timer_set_wdog_pre_timeout() RPC call */ 29*91f16700Schasinglulu #define TIMER_FUNC_START_WDOG 2U /* Index for timer_start_wdog() RPC call */ 30*91f16700Schasinglulu #define TIMER_FUNC_STOP_WDOG 3U /* Index for timer_stop_wdog() RPC call */ 31*91f16700Schasinglulu #define TIMER_FUNC_PING_WDOG 4U /* Index for timer_ping_wdog() RPC call */ 32*91f16700Schasinglulu #define TIMER_FUNC_GET_WDOG_STATUS 5U /* Index for timer_get_wdog_status() RPC call */ 33*91f16700Schasinglulu #define TIMER_FUNC_PT_GET_WDOG_STATUS 13U /* Index for timer_pt_get_wdog_status() RPC call */ 34*91f16700Schasinglulu #define TIMER_FUNC_SET_WDOG_ACTION 10U /* Index for timer_set_wdog_action() RPC call */ 35*91f16700Schasinglulu #define TIMER_FUNC_SET_RTC_TIME 6U /* Index for timer_set_rtc_time() RPC call */ 36*91f16700Schasinglulu #define TIMER_FUNC_GET_RTC_TIME 7U /* Index for timer_get_rtc_time() RPC call */ 37*91f16700Schasinglulu #define TIMER_FUNC_GET_RTC_SEC1970 9U /* Index for timer_get_rtc_sec1970() RPC call */ 38*91f16700Schasinglulu #define TIMER_FUNC_SET_RTC_ALARM 8U /* Index for timer_set_rtc_alarm() RPC call */ 39*91f16700Schasinglulu #define TIMER_FUNC_SET_RTC_PERIODIC_ALARM 14U /* Index for timer_set_rtc_periodic_alarm() RPC call */ 40*91f16700Schasinglulu #define TIMER_FUNC_CANCEL_RTC_ALARM 15U /* Index for timer_cancel_rtc_alarm() RPC call */ 41*91f16700Schasinglulu #define TIMER_FUNC_SET_RTC_CALB 11U /* Index for timer_set_rtc_calb() RPC call */ 42*91f16700Schasinglulu #define TIMER_FUNC_SET_SYSCTR_ALARM 16U /* Index for timer_set_sysctr_alarm() RPC call */ 43*91f16700Schasinglulu #define TIMER_FUNC_SET_SYSCTR_PERIODIC_ALARM 17U /* Index for timer_set_sysctr_periodic_alarm() RPC call */ 44*91f16700Schasinglulu #define TIMER_FUNC_CANCEL_SYSCTR_ALARM 18U /* Index for timer_cancel_sysctr_alarm() RPC call */ 45*91f16700Schasinglulu /*@}*/ 46*91f16700Schasinglulu 47*91f16700Schasinglulu /* Types */ 48*91f16700Schasinglulu 49*91f16700Schasinglulu /* Functions */ 50*91f16700Schasinglulu 51*91f16700Schasinglulu /*! 52*91f16700Schasinglulu * This function dispatches an incoming TIMER RPC request. 53*91f16700Schasinglulu * 54*91f16700Schasinglulu * @param[in] caller_pt caller partition 55*91f16700Schasinglulu * @param[in] msg pointer to RPC message 56*91f16700Schasinglulu */ 57*91f16700Schasinglulu void timer_dispatch(sc_rm_pt_t caller_pt, sc_rpc_msg_t *msg); 58*91f16700Schasinglulu 59*91f16700Schasinglulu /*! 60*91f16700Schasinglulu * This function translates and dispatches an TIMER RPC request. 61*91f16700Schasinglulu * 62*91f16700Schasinglulu * @param[in] ipc IPC handle 63*91f16700Schasinglulu * @param[in] msg pointer to RPC message 64*91f16700Schasinglulu */ 65*91f16700Schasinglulu void timer_xlate(sc_ipc_t ipc, sc_rpc_msg_t *msg); 66*91f16700Schasinglulu 67*91f16700Schasinglulu #endif /* SC_TIMER_RPC_H */ 68*91f16700Schasinglulu 69*91f16700Schasinglulu /**@}*/ 70