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