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