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