summaryrefslogtreecommitdiff
path: root/plat/imx/common/sci
diff options
context:
space:
mode:
Diffstat (limited to 'plat/imx/common/sci')
-rw-r--r--plat/imx/common/sci/svc/seco/sci_seco_rpc.h1
-rw-r--r--plat/imx/common/sci/svc/seco/seco_rpc_clnt.c21
2 files changed, 22 insertions, 0 deletions
diff --git a/plat/imx/common/sci/svc/seco/sci_seco_rpc.h b/plat/imx/common/sci/svc/seco/sci_seco_rpc.h
index 3688b6d7..ed3fc061 100644
--- a/plat/imx/common/sci/svc/seco/sci_seco_rpc.h
+++ b/plat/imx/common/sci/svc/seco/sci_seco_rpc.h
@@ -51,6 +51,7 @@
#define SECO_FUNC_SECVIO_ENABLE 25U /* Index for sc_seco_secvio_enable() RPC call */
#define SECO_FUNC_SECVIO_CONFIG 26U /* Index for sc_seco_secvio_config() RPC call */
#define SECO_FUNC_SECVIO_DGO_CONFIG 27U /* Index for sc_seco_secvio_dgo_config() RPC call */
+#define SECO_FUNC_SET_FIPS_MODE 29U /* Index for sc_seco_set_fips_mode() RPC call */
/*@}*/
/* Types */
diff --git a/plat/imx/common/sci/svc/seco/seco_rpc_clnt.c b/plat/imx/common/sci/svc/seco/seco_rpc_clnt.c
index 5b98ebd2..03923a69 100644
--- a/plat/imx/common/sci/svc/seco/seco_rpc_clnt.c
+++ b/plat/imx/common/sci/svc/seco/seco_rpc_clnt.c
@@ -626,4 +626,25 @@ sc_err_t sc_seco_secvio_dgo_config(sc_ipc_t ipc, uint8_t id, uint8_t access,
return err;
}
+sc_err_t sc_seco_set_fips_mode(sc_ipc_t ipc, uint8_t mode, uint32_t *status)
+{
+ 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_SECO);
+ RPC_FUNC(&msg) = U8(SECO_FUNC_SET_FIPS_MODE);
+
+ RPC_U8(&msg, 0U) = mode;
+
+ sc_call_rpc(ipc, &msg, SC_FALSE);
+
+ if (status)
+ *status = (uint32_t)RPC_U32(&msg, 0U);
+
+ err = RPC_R8(&msg);
+ return (sc_err_t)err;
+}
+
/**@}*/