diff options
Diffstat (limited to 'plat/imx/common/include/sci/rpc.h')
-rw-r--r-- | plat/imx/common/include/sci/rpc.h | 109 |
1 files changed, 53 insertions, 56 deletions
diff --git a/plat/imx/common/include/sci/rpc.h b/plat/imx/common/include/sci/rpc.h index b7e5c7f5..86ad904d 100644 --- a/plat/imx/common/include/sci/rpc.h +++ b/plat/imx/common/include/sci/rpc.h @@ -1,6 +1,6 @@ /* * Copyright (C) 2016 Freescale Semiconductor, Inc. - * Copyright 2017 NXP + * Copyright 2017-2018 NXP * * SPDX-License-Identifier: BSD-3-Clause */ @@ -9,8 +9,8 @@ * Header file for the RPC implementation. */ -#ifndef _SC_RPC_H -#define _SC_RPC_H +#ifndef SC_RPC_H +#define SC_RPC_H /* Includes */ @@ -19,70 +19,68 @@ /* Defines */ -#define SC_RPC_VERSION 1 +#define SC_RPC_VERSION 1U -#define SC_RPC_MAX_MSG 8 +#define SC_RPC_MAX_MSG 8U #define RPC_VER(MSG) ((MSG)->version) #define RPC_SIZE(MSG) ((MSG)->size) #define RPC_SVC(MSG) ((MSG)->svc) #define RPC_FUNC(MSG) ((MSG)->func) #define RPC_R8(MSG) ((MSG)->func) -#define RPC_I32(MSG, IDX) ((MSG)->DATA.i32[(IDX) / 4]) -#define RPC_I16(MSG, IDX) ((MSG)->DATA.i16[(IDX) / 2]) +#define RPC_I32(MSG, IDX) ((MSG)->DATA.i32[(IDX) / 4U]) +#define RPC_I16(MSG, IDX) ((MSG)->DATA.i16[(IDX) / 2U]) #define RPC_I8(MSG, IDX) ((MSG)->DATA.i8[(IDX)]) -#define RPC_U32(MSG, IDX) ((MSG)->DATA.u32[(IDX) / 4]) -#define RPC_U16(MSG, IDX) ((MSG)->DATA.u16[(IDX) / 2]) +#define RPC_U32(MSG, IDX) ((MSG)->DATA.u32[(IDX) / 4U]) +#define RPC_U16(MSG, IDX) ((MSG)->DATA.u16[(IDX) / 2U]) #define RPC_U8(MSG, IDX) ((MSG)->DATA.u8[(IDX)]) +#define SC_RPC_SVC_UNKNOWN 0U +#define SC_RPC_SVC_RETURN 1U +#define SC_RPC_SVC_PM 2U +#define SC_RPC_SVC_RM 3U +#define SC_RPC_SVC_TIMER 5U +#define SC_RPC_SVC_PAD 6U +#define SC_RPC_SVC_MISC 7U +#define SC_RPC_SVC_IRQ 8U +#define SC_RPC_SVC_ABORT 9U + +#define SC_RPC_ASYNC_STATE_RD_START 0U +#define SC_RPC_ASYNC_STATE_RD_ACTIVE 1U +#define SC_RPC_ASYNC_STATE_RD_DONE 2U +#define SC_RPC_ASYNC_STATE_WR_START 3U +#define SC_RPC_ASYNC_STATE_WR_ACTIVE 4U +#define SC_RPC_ASYNC_STATE_WR_DONE 5U + +#define SC_RPC_MU_GIR_SVC 0x1U +#define SC_RPC_MU_GIR_DBG 0x8U + /* Types */ -typedef enum sc_rpc_svc_e -{ - SC_RPC_SVC_UNKNOWN = 0, - SC_RPC_SVC_RETURN = 1, - SC_RPC_SVC_PM = 2, - SC_RPC_SVC_RM = 3, - SC_RPC_SVC_TIMER = 5, - SC_RPC_SVC_PAD = 6, - SC_RPC_SVC_MISC = 7, - SC_RPC_SVC_IRQ = 8, - SC_RPC_SVC_ABORT = 9 -} sc_rpc_svc_t; - -typedef struct sc_rpc_msg_s -{ - uint8_t version; - uint8_t size; - uint8_t svc; - uint8_t func; - union - { - int32_t i32[(SC_RPC_MAX_MSG - 1)]; - int16_t i16[(SC_RPC_MAX_MSG - 1) * 2]; - int8_t i8[(SC_RPC_MAX_MSG - 1) * 4]; - uint32_t u32[(SC_RPC_MAX_MSG - 1)]; - uint16_t u16[(SC_RPC_MAX_MSG - 1) * 2]; - uint8_t u8[(SC_RPC_MAX_MSG - 1) * 4]; - } DATA; +typedef uint8_t sc_rpc_svc_t; + +typedef struct sc_rpc_msg_s { + uint8_t version; + uint8_t size; + uint8_t svc; + uint8_t func; + union { + int32_t i32[(SC_RPC_MAX_MSG - 1U)]; + int16_t i16[(SC_RPC_MAX_MSG - 1U) * 2U]; + int8_t i8[(SC_RPC_MAX_MSG - 1U) * 4U]; + uint32_t u32[(SC_RPC_MAX_MSG - 1U)]; + uint16_t u16[(SC_RPC_MAX_MSG - 1U) * 2U]; + uint8_t u8[(SC_RPC_MAX_MSG - 1U) * 4U]; + } DATA; } sc_rpc_msg_t; -typedef enum sc_rpc_async_state_e -{ - SC_RPC_ASYNC_STATE_RD_START = 0, - SC_RPC_ASYNC_STATE_RD_ACTIVE = 1, - SC_RPC_ASYNC_STATE_RD_DONE = 2, - SC_RPC_ASYNC_STATE_WR_START = 3, - SC_RPC_ASYNC_STATE_WR_ACTIVE = 4, - SC_RPC_ASYNC_STATE_WR_DONE = 5, -} sc_rpc_async_state_t; - -typedef struct sc_rpc_async_msg_s -{ - sc_rpc_async_state_t state; - uint8_t wordIdx; - sc_rpc_msg_t msg; - uint32_t timeStamp; +typedef uint8_t sc_rpc_async_state_t; + +typedef struct sc_rpc_async_msg_s { + sc_rpc_async_state_t state; + uint8_t wordIdx; + sc_rpc_msg_t msg; + uint32_t timeStamp; } sc_rpc_async_msg_t; /* Functions */ @@ -95,7 +93,7 @@ typedef struct sc_rpc_async_msg_s * @param[in,out] msg handle to a message * @param[in] no_resp response flag * - * If \a no_resp is false then this function waits for a response + * If \a no_resp is SC_FALSE then this function waits for a response * and returns the result in \a msg. */ void sc_call_rpc(sc_ipc_t ipc, sc_rpc_msg_t *msg, bool no_resp); @@ -126,5 +124,4 @@ void sc_rpc_dispatch(sc_rsrc_t mu, sc_rpc_msg_t *msg); */ void sc_rpc_xlate(sc_ipc_t ipc, sc_rpc_msg_t *msg); -#endif /* _SC_RPC_H */ - +#endif /* SC_RPC_H */ |