diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/include/asm/mach-imx/sci/rpc.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/sci/svc/timer/rpc.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/sci/svc/timer/rpc_clnt.c | 19 |
3 files changed, 21 insertions, 1 deletions
diff --git a/arch/arm/include/asm/mach-imx/sci/rpc.h b/arch/arm/include/asm/mach-imx/sci/rpc.h index 4105bde1f4..ad9fa7ac4b 100644 --- a/arch/arm/include/asm/mach-imx/sci/rpc.h +++ b/arch/arm/include/asm/mach-imx/sci/rpc.h @@ -20,7 +20,7 @@ /* Defines */ #define SCFW_API_VERSION_MAJOR 1U -#define SCFW_API_VERSION_MINOR 15U +#define SCFW_API_VERSION_MINOR 16U #define SC_RPC_VERSION 1U diff --git a/arch/arm/mach-imx/sci/svc/timer/rpc.h b/arch/arm/mach-imx/sci/svc/timer/rpc.h index 723272056d..76148bb9e6 100644 --- a/arch/arm/mach-imx/sci/svc/timer/rpc.h +++ b/arch/arm/mach-imx/sci/svc/timer/rpc.h @@ -26,6 +26,7 @@ #define TIMER_FUNC_UNKNOWN 0 /*!< Unknown function */ #define TIMER_FUNC_SET_WDOG_TIMEOUT 1U /*!< Index for sc_timer_set_wdog_timeout() RPC call */ #define TIMER_FUNC_SET_WDOG_PRE_TIMEOUT 12U /*!< Index for sc_timer_set_wdog_pre_timeout() RPC call */ +#define TIMER_FUNC_SET_WDOG_WINDOW 19U /*!< Index for sc_timer_set_wdog_window() RPC call */ #define TIMER_FUNC_START_WDOG 2U /*!< Index for sc_timer_start_wdog() RPC call */ #define TIMER_FUNC_STOP_WDOG 3U /*!< Index for sc_timer_stop_wdog() RPC call */ #define TIMER_FUNC_PING_WDOG 4U /*!< Index for sc_timer_ping_wdog() RPC call */ diff --git a/arch/arm/mach-imx/sci/svc/timer/rpc_clnt.c b/arch/arm/mach-imx/sci/svc/timer/rpc_clnt.c index 3ea0d7b170..d57c5924d8 100644 --- a/arch/arm/mach-imx/sci/svc/timer/rpc_clnt.c +++ b/arch/arm/mach-imx/sci/svc/timer/rpc_clnt.c @@ -66,6 +66,25 @@ sc_err_t sc_timer_set_wdog_pre_timeout(sc_ipc_t ipc, return err; } +sc_err_t sc_timer_set_wdog_window(sc_ipc_t ipc, sc_timer_wdog_time_t window) +{ + sc_rpc_msg_t msg; + sc_err_t err; + + RPC_VER(&msg) = SC_RPC_VERSION; + RPC_SIZE(&msg) = 2U; + RPC_SVC(&msg) = U8(SC_RPC_SVC_TIMER); + RPC_FUNC(&msg) = U8(TIMER_FUNC_SET_WDOG_WINDOW); + + RPC_U32(&msg, 0U) = U32(window); + + sc_call_rpc(ipc, &msg, SC_FALSE); + + err = (sc_err_t) RPC_R8(&msg); + + return err; +} + sc_err_t sc_timer_start_wdog(sc_ipc_t ipc, sc_bool_t lock) { sc_rpc_msg_t msg; |