From 5a9ac99043ef1dc18565700d4c46dc2c8fe34e59 Mon Sep 17 00:00:00 2001 From: Ranjani Vaidyanathan Date: Fri, 26 May 2017 17:36:29 -0500 Subject: i.MX8: Update to the latest SCFW API Signed-off-by: Ranjani Vaidyanathan --- plat/freescale/common/sci/svc/rm/rm_rpc_clnt.c | 153 +++++++++++++------------ 1 file changed, 78 insertions(+), 75 deletions(-) (limited to 'plat/freescale/common/sci/svc/rm/rm_rpc_clnt.c') diff --git a/plat/freescale/common/sci/svc/rm/rm_rpc_clnt.c b/plat/freescale/common/sci/svc/rm/rm_rpc_clnt.c index a7e7e188..9cdf6177 100644 --- a/plat/freescale/common/sci/svc/rm/rm_rpc_clnt.c +++ b/plat/freescale/common/sci/svc/rm/rm_rpc_clnt.c @@ -1,6 +1,8 @@ /* + * Copyright (C) 2016 Freescale Semiconductor, Inc. * Copyright 2017 NXP * + * SPDX-License-Identifier: GPL-2.0+ */ /*! @@ -26,8 +28,7 @@ /* Local Functions */ sc_err_t sc_rm_partition_alloc(sc_ipc_t ipc, sc_rm_pt_t *pt, bool secure, - bool isolated, bool restricted, - bool confidential, bool coherent) + bool isolated, bool restricted, bool confidential, bool coherent) { sc_rpc_msg_t msg; uint8_t result; @@ -35,18 +36,18 @@ sc_err_t sc_rm_partition_alloc(sc_ipc_t ipc, sc_rm_pt_t *pt, bool secure, RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_PARTITION_ALLOC; - RPC_D8(&msg, 0) = secure; - RPC_D8(&msg, 1) = isolated; - RPC_D8(&msg, 2) = restricted; - RPC_D8(&msg, 3) = confidential; - RPC_D8(&msg, 4) = coherent; + RPC_U8(&msg, 0) = secure; + RPC_U8(&msg, 1) = isolated; + RPC_U8(&msg, 2) = restricted; + RPC_U8(&msg, 3) = confidential; + RPC_U8(&msg, 4) = coherent; RPC_SIZE(&msg) = 3; sc_call_rpc(ipc, &msg, false); result = RPC_R8(&msg); if (pt != NULL) - *pt = RPC_D8(&msg, 0); + *pt = RPC_U8(&msg, 0); return (sc_err_t)result; } @@ -58,7 +59,7 @@ sc_err_t sc_rm_partition_free(sc_ipc_t ipc, sc_rm_pt_t pt) RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_PARTITION_FREE; - RPC_D8(&msg, 0) = pt; + RPC_U8(&msg, 0) = pt; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -83,7 +84,8 @@ sc_rm_did_t sc_rm_get_did(sc_ipc_t ipc) return (sc_rm_did_t) result; } -sc_err_t sc_rm_partition_static(sc_ipc_t ipc, sc_rm_pt_t pt, sc_rm_did_t did) +sc_err_t sc_rm_partition_static(sc_ipc_t ipc, sc_rm_pt_t pt, + sc_rm_did_t did) { sc_rpc_msg_t msg; uint8_t result; @@ -91,8 +93,8 @@ sc_err_t sc_rm_partition_static(sc_ipc_t ipc, sc_rm_pt_t pt, sc_rm_did_t did) RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_PARTITION_STATIC; - RPC_D8(&msg, 0) = pt; - RPC_D8(&msg, 1) = did; + RPC_U8(&msg, 0) = pt; + RPC_U8(&msg, 1) = did; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -109,7 +111,7 @@ sc_err_t sc_rm_partition_lock(sc_ipc_t ipc, sc_rm_pt_t pt) RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_PARTITION_LOCK; - RPC_D8(&msg, 0) = pt; + RPC_U8(&msg, 0) = pt; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -132,11 +134,12 @@ sc_err_t sc_rm_get_partition(sc_ipc_t ipc, sc_rm_pt_t *pt) result = RPC_R8(&msg); if (pt != NULL) - *pt = RPC_D8(&msg, 0); + *pt = RPC_U8(&msg, 0); return (sc_err_t)result; } -sc_err_t sc_rm_set_parent(sc_ipc_t ipc, sc_rm_pt_t pt, sc_rm_pt_t pt_parent) +sc_err_t sc_rm_set_parent(sc_ipc_t ipc, sc_rm_pt_t pt, + sc_rm_pt_t pt_parent) { sc_rpc_msg_t msg; uint8_t result; @@ -144,8 +147,8 @@ sc_err_t sc_rm_set_parent(sc_ipc_t ipc, sc_rm_pt_t pt, sc_rm_pt_t pt_parent) RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_SET_PARENT; - RPC_D8(&msg, 0) = pt; - RPC_D8(&msg, 1) = pt_parent; + RPC_U8(&msg, 0) = pt; + RPC_U8(&msg, 1) = pt_parent; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -155,7 +158,7 @@ sc_err_t sc_rm_set_parent(sc_ipc_t ipc, sc_rm_pt_t pt, sc_rm_pt_t pt_parent) } sc_err_t sc_rm_move_all(sc_ipc_t ipc, sc_rm_pt_t pt_src, sc_rm_pt_t pt_dst, - bool move_rsrc, bool move_pins) + bool move_rsrc, bool move_pads) { sc_rpc_msg_t msg; uint8_t result; @@ -163,10 +166,10 @@ sc_err_t sc_rm_move_all(sc_ipc_t ipc, sc_rm_pt_t pt_src, sc_rm_pt_t pt_dst, RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_MOVE_ALL; - RPC_D8(&msg, 0) = pt_src; - RPC_D8(&msg, 1) = pt_dst; - RPC_D8(&msg, 2) = move_rsrc; - RPC_D8(&msg, 3) = move_pins; + RPC_U8(&msg, 0) = pt_src; + RPC_U8(&msg, 1) = pt_dst; + RPC_U8(&msg, 2) = move_rsrc; + RPC_U8(&msg, 3) = move_pads; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -175,7 +178,8 @@ sc_err_t sc_rm_move_all(sc_ipc_t ipc, sc_rm_pt_t pt_src, sc_rm_pt_t pt_dst, return (sc_err_t)result; } -sc_err_t sc_rm_assign_resource(sc_ipc_t ipc, sc_rm_pt_t pt, sc_rsrc_t resource) +sc_err_t sc_rm_assign_resource(sc_ipc_t ipc, sc_rm_pt_t pt, + sc_rsrc_t resource) { sc_rpc_msg_t msg; uint8_t result; @@ -183,8 +187,8 @@ sc_err_t sc_rm_assign_resource(sc_ipc_t ipc, sc_rm_pt_t pt, sc_rsrc_t resource) RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_ASSIGN_RESOURCE; - RPC_D16(&msg, 0) = resource; - RPC_D8(&msg, 2) = pt; + RPC_U16(&msg, 0) = resource; + RPC_U8(&msg, 2) = pt; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -202,9 +206,9 @@ sc_err_t sc_rm_set_resource_movable(sc_ipc_t ipc, sc_rsrc_t resource_fst, RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_SET_RESOURCE_MOVABLE; - RPC_D16(&msg, 0) = resource_fst; - RPC_D16(&msg, 2) = resource_lst; - RPC_D8(&msg, 4) = movable; + RPC_U16(&msg, 0) = resource_fst; + RPC_U16(&msg, 2) = resource_lst; + RPC_U8(&msg, 4) = movable; RPC_SIZE(&msg) = 3; sc_call_rpc(ipc, &msg, false); @@ -214,8 +218,7 @@ sc_err_t sc_rm_set_resource_movable(sc_ipc_t ipc, sc_rsrc_t resource_fst, } sc_err_t sc_rm_set_master_attributes(sc_ipc_t ipc, sc_rsrc_t resource, - sc_rm_spa_t sa, sc_rm_spa_t pa, - bool smmu_bypass) + sc_rm_spa_t sa, sc_rm_spa_t pa, bool smmu_bypass) { sc_rpc_msg_t msg; uint8_t result; @@ -223,10 +226,10 @@ sc_err_t sc_rm_set_master_attributes(sc_ipc_t ipc, sc_rsrc_t resource, RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_SET_MASTER_ATTRIBUTES; - RPC_D16(&msg, 0) = resource; - RPC_D8(&msg, 2) = sa; - RPC_D8(&msg, 3) = pa; - RPC_D8(&msg, 4) = smmu_bypass; + RPC_U16(&msg, 0) = resource; + RPC_U8(&msg, 2) = sa; + RPC_U8(&msg, 3) = pa; + RPC_U8(&msg, 4) = smmu_bypass; RPC_SIZE(&msg) = 3; sc_call_rpc(ipc, &msg, false); @@ -235,7 +238,8 @@ sc_err_t sc_rm_set_master_attributes(sc_ipc_t ipc, sc_rsrc_t resource, return (sc_err_t)result; } -sc_err_t sc_rm_set_master_sid(sc_ipc_t ipc, sc_rsrc_t resource, sc_rm_sid_t sid) +sc_err_t sc_rm_set_master_sid(sc_ipc_t ipc, sc_rsrc_t resource, + sc_rm_sid_t sid) { sc_rpc_msg_t msg; uint8_t result; @@ -243,8 +247,8 @@ sc_err_t sc_rm_set_master_sid(sc_ipc_t ipc, sc_rsrc_t resource, sc_rm_sid_t sid) RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_SET_MASTER_SID; - RPC_D16(&msg, 0) = resource; - RPC_D16(&msg, 2) = sid; + RPC_U16(&msg, 0) = resource; + RPC_U16(&msg, 2) = sid; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -262,9 +266,9 @@ sc_err_t sc_rm_set_peripheral_permissions(sc_ipc_t ipc, sc_rsrc_t resource, RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_SET_PERIPHERAL_PERMISSIONS; - RPC_D16(&msg, 0) = resource; - RPC_D8(&msg, 2) = pt; - RPC_D8(&msg, 3) = perm; + RPC_U16(&msg, 0) = resource; + RPC_U8(&msg, 2) = pt; + RPC_U8(&msg, 3) = perm; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -281,7 +285,7 @@ bool sc_rm_is_resource_owned(sc_ipc_t ipc, sc_rsrc_t resource) RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_IS_RESOURCE_OWNED; - RPC_D16(&msg, 0) = resource; + RPC_U16(&msg, 0) = resource; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -298,7 +302,7 @@ bool sc_rm_is_resource_master(sc_ipc_t ipc, sc_rsrc_t resource) RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_IS_RESOURCE_MASTER; - RPC_D16(&msg, 0) = resource; + RPC_U16(&msg, 0) = resource; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -315,7 +319,7 @@ bool sc_rm_is_resource_peripheral(sc_ipc_t ipc, sc_rsrc_t resource) RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_IS_RESOURCE_PERIPHERAL; - RPC_D16(&msg, 0) = resource; + RPC_U16(&msg, 0) = resource; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -333,13 +337,13 @@ sc_err_t sc_rm_get_resource_info(sc_ipc_t ipc, sc_rsrc_t resource, RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_GET_RESOURCE_INFO; - RPC_D16(&msg, 0) = resource; + RPC_U16(&msg, 0) = resource; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); if (sid != NULL) - *sid = RPC_D16(&msg, 0); + *sid = RPC_U16(&msg, 0); result = RPC_R8(&msg); return (sc_err_t)result; } @@ -353,17 +357,17 @@ sc_err_t sc_rm_memreg_alloc(sc_ipc_t ipc, sc_rm_mr_t *mr, RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_MEMREG_ALLOC; - RPC_D32(&msg, 0) = addr_start >> 32; - RPC_D32(&msg, 4) = addr_start; - RPC_D32(&msg, 8) = addr_end >> 32; - RPC_D32(&msg, 12) = addr_end; + RPC_U32(&msg, 0) = addr_start >> 32; + RPC_U32(&msg, 4) = addr_start; + RPC_U32(&msg, 8) = addr_end >> 32; + RPC_U32(&msg, 12) = addr_end; RPC_SIZE(&msg) = 5; sc_call_rpc(ipc, &msg, false); result = RPC_R8(&msg); if (mr != NULL) - *mr = RPC_D8(&msg, 0); + *mr = RPC_U8(&msg, 0); return (sc_err_t)result; } @@ -375,7 +379,7 @@ sc_err_t sc_rm_memreg_free(sc_ipc_t ipc, sc_rm_mr_t mr) RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_MEMREG_FREE; - RPC_D8(&msg, 0) = mr; + RPC_U8(&msg, 0) = mr; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -392,8 +396,8 @@ sc_err_t sc_rm_assign_memreg(sc_ipc_t ipc, sc_rm_pt_t pt, sc_rm_mr_t mr) RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_ASSIGN_MEMREG; - RPC_D8(&msg, 0) = pt; - RPC_D8(&msg, 1) = mr; + RPC_U8(&msg, 0) = pt; + RPC_U8(&msg, 1) = mr; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -411,9 +415,9 @@ sc_err_t sc_rm_set_memreg_permissions(sc_ipc_t ipc, sc_rm_mr_t mr, RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_SET_MEMREG_PERMISSIONS; - RPC_D8(&msg, 0) = mr; - RPC_D8(&msg, 1) = pt; - RPC_D8(&msg, 2) = perm; + RPC_U8(&msg, 0) = mr; + RPC_U8(&msg, 1) = pt; + RPC_U8(&msg, 2) = perm; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -430,7 +434,7 @@ bool sc_rm_is_memreg_owned(sc_ipc_t ipc, sc_rm_mr_t mr) RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_IS_MEMREG_OWNED; - RPC_D8(&msg, 0) = mr; + RPC_U8(&msg, 0) = mr; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -448,31 +452,29 @@ sc_err_t sc_rm_get_memreg_info(sc_ipc_t ipc, sc_rm_mr_t mr, RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; RPC_FUNC(&msg) = RM_FUNC_GET_MEMREG_INFO; - RPC_D8(&msg, 0) = mr; + RPC_U8(&msg, 0) = mr; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); if (addr_start != NULL) - *addr_start = - ((uint64_t) RPC_D32(&msg, 0) << 32) | RPC_D32(&msg, 4); + *addr_start = ((uint64_t) RPC_U32(&msg, 0) << 32) | RPC_U32(&msg, 4); if (addr_end != NULL) - *addr_end = - ((uint64_t) RPC_D32(&msg, 8) << 32) | RPC_D32(&msg, 12); + *addr_end = ((uint64_t) RPC_U32(&msg, 8) << 32) | RPC_U32(&msg, 12); result = RPC_R8(&msg); return (sc_err_t)result; } -sc_err_t sc_rm_assign_pin(sc_ipc_t ipc, sc_rm_pt_t pt, sc_pin_t pin) +sc_err_t sc_rm_assign_pad(sc_ipc_t ipc, sc_rm_pt_t pt, sc_pad_t pad) { sc_rpc_msg_t msg; uint8_t result; RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; - RPC_FUNC(&msg) = RM_FUNC_ASSIGN_PIN; - RPC_D16(&msg, 0) = pin; - RPC_D8(&msg, 2) = pt; + RPC_FUNC(&msg) = RM_FUNC_ASSIGN_PAD; + RPC_U16(&msg, 0) = pad; + RPC_U8(&msg, 2) = pt; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -481,18 +483,18 @@ sc_err_t sc_rm_assign_pin(sc_ipc_t ipc, sc_rm_pt_t pt, sc_pin_t pin) return (sc_err_t)result; } -sc_err_t sc_rm_set_pin_movable(sc_ipc_t ipc, sc_pin_t pin_fst, - sc_pin_t pin_lst, bool movable) +sc_err_t sc_rm_set_pad_movable(sc_ipc_t ipc, sc_pad_t pad_fst, + sc_pad_t pad_lst, bool movable) { sc_rpc_msg_t msg; uint8_t result; RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; - RPC_FUNC(&msg) = RM_FUNC_SET_PIN_MOVABLE; - RPC_D16(&msg, 0) = pin_fst; - RPC_D16(&msg, 2) = pin_lst; - RPC_D8(&msg, 4) = movable; + RPC_FUNC(&msg) = RM_FUNC_SET_PAD_MOVABLE; + RPC_U16(&msg, 0) = pad_fst; + RPC_U16(&msg, 2) = pad_lst; + RPC_U8(&msg, 4) = movable; RPC_SIZE(&msg) = 3; sc_call_rpc(ipc, &msg, false); @@ -501,15 +503,15 @@ sc_err_t sc_rm_set_pin_movable(sc_ipc_t ipc, sc_pin_t pin_fst, return (sc_err_t)result; } -bool sc_rm_is_pin_owned(sc_ipc_t ipc, sc_pin_t pin) +bool sc_rm_is_pad_owned(sc_ipc_t ipc, sc_pad_t pad) { sc_rpc_msg_t msg; uint8_t result; RPC_VER(&msg) = SC_RPC_VERSION; RPC_SVC(&msg) = SC_RPC_SVC_RM; - RPC_FUNC(&msg) = RM_FUNC_IS_PIN_OWNED; - RPC_D8(&msg, 0) = pin; + RPC_FUNC(&msg) = RM_FUNC_IS_PAD_OWNED; + RPC_U8(&msg, 0) = pad; RPC_SIZE(&msg) = 2; sc_call_rpc(ipc, &msg, false); @@ -519,3 +521,4 @@ bool sc_rm_is_pin_owned(sc_ipc_t ipc, sc_pin_t pin) } /**@}*/ + -- cgit v1.2.3