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