xref: /optee_os/core/include/drivers/imx_sc_api.h (revision 958897f552096b2c55709fa12d7a001791263fd3)
1*958897f5SClement Faure /* SPDX-License-Identifier: BSD-2-Clause */
2*958897f5SClement Faure /*
3*958897f5SClement Faure  * Copyright (C) 2016 Freescale Semiconductor, Inc.
4*958897f5SClement Faure  * Copyright 2017-2021 NXP
5*958897f5SClement Faure  */
6*958897f5SClement Faure #ifndef __DRIVERS_IMX_SC_API_H
7*958897f5SClement Faure #define __DRIVERS_IMX_SC_API_H
8*958897f5SClement Faure 
9*958897f5SClement Faure #include <tee_api_types.h>
10*958897f5SClement Faure 
11*958897f5SClement Faure /*
12*958897f5SClement Faure  * Initializes the Secure Controller
13*958897f5SClement Faure  */
14*958897f5SClement Faure TEE_Result imx_sc_driver_init(void);
15*958897f5SClement Faure 
16*958897f5SClement Faure /*
17*958897f5SClement Faure  * Enables a CAAM Job Ring for the secure world with the following steps:
18*958897f5SClement Faure  *  - Assign CAAM JR resources to secure world
19*958897f5SClement Faure  *  - Power ON CAAM JR resources
20*958897f5SClement Faure  *
21*958897f5SClement Faure  * @jr_index Index of the CAAM Job Ring to enable
22*958897f5SClement Faure  */
23*958897f5SClement Faure TEE_Result imx_sc_rm_enable_jr(unsigned int jr_index);
24*958897f5SClement Faure 
25*958897f5SClement Faure /*
26*958897f5SClement Faure  * Starts the random number generator and returns the RNG status.
27*958897f5SClement Faure  *
28*958897f5SClement Faure  * Note that the RNG is started automatically after all CPUs are booted. This
29*958897f5SClement Faure  * function can then be used to start the RNG earlier or to check the RNG
30*958897f5SClement Faure  * status.
31*958897f5SClement Faure  */
32*958897f5SClement Faure TEE_Result imx_sc_seco_start_rng(void);
33*958897f5SClement Faure #endif /* __DRIVERS_IMX_SC_API_H */
34