1ab8ec965SGilad Ben-Yossef /* SPDX-License-Identifier: GPL-2.0 */ 203963caeSGilad Ben-Yossef /* Copyright (C) 2012-2019 ARM Limited (or its affiliates). */ 3ab8ec965SGilad Ben-Yossef 4ab8ec965SGilad Ben-Yossef #ifndef __CC_FIPS_H__ 5ab8ec965SGilad Ben-Yossef #define __CC_FIPS_H__ 6ab8ec965SGilad Ben-Yossef 7ab8ec965SGilad Ben-Yossef #ifdef CONFIG_CRYPTO_FIPS 8ab8ec965SGilad Ben-Yossef 9ab8ec965SGilad Ben-Yossef enum cc_fips_status { 10ab8ec965SGilad Ben-Yossef CC_FIPS_SYNC_MODULE_OK = 0x0, 11ab8ec965SGilad Ben-Yossef CC_FIPS_SYNC_MODULE_ERROR = 0x1, 12ab8ec965SGilad Ben-Yossef CC_FIPS_SYNC_REE_STATUS = 0x4, 13ab8ec965SGilad Ben-Yossef CC_FIPS_SYNC_TEE_STATUS = 0x8, 14ab8ec965SGilad Ben-Yossef CC_FIPS_SYNC_STATUS_RESERVE32B = S32_MAX 15ab8ec965SGilad Ben-Yossef }; 16ab8ec965SGilad Ben-Yossef 17ab8ec965SGilad Ben-Yossef int cc_fips_init(struct cc_drvdata *p_drvdata); 18ab8ec965SGilad Ben-Yossef void cc_fips_fini(struct cc_drvdata *drvdata); 19ab8ec965SGilad Ben-Yossef void fips_handler(struct cc_drvdata *drvdata); 20ab8ec965SGilad Ben-Yossef void cc_set_ree_fips_status(struct cc_drvdata *drvdata, bool ok); 21*897ab231SOfir Drang void cc_tee_handle_fips_error(struct cc_drvdata *p_drvdata); 22ab8ec965SGilad Ben-Yossef 23ab8ec965SGilad Ben-Yossef #else /* CONFIG_CRYPTO_FIPS */ 24ab8ec965SGilad Ben-Yossef cc_fips_init(struct cc_drvdata * p_drvdata)25ab8ec965SGilad Ben-Yossefstatic inline int cc_fips_init(struct cc_drvdata *p_drvdata) 26ab8ec965SGilad Ben-Yossef { 27ab8ec965SGilad Ben-Yossef return 0; 28ab8ec965SGilad Ben-Yossef } 29ab8ec965SGilad Ben-Yossef cc_fips_fini(struct cc_drvdata * drvdata)30ab8ec965SGilad Ben-Yossefstatic inline void cc_fips_fini(struct cc_drvdata *drvdata) {} cc_set_ree_fips_status(struct cc_drvdata * drvdata,bool ok)31ab8ec965SGilad Ben-Yossefstatic inline void cc_set_ree_fips_status(struct cc_drvdata *drvdata, 32ab8ec965SGilad Ben-Yossef bool ok) {} fips_handler(struct cc_drvdata * drvdata)33ab8ec965SGilad Ben-Yossefstatic inline void fips_handler(struct cc_drvdata *drvdata) {} cc_tee_handle_fips_error(struct cc_drvdata * p_drvdata)34*897ab231SOfir Drangstatic inline void cc_tee_handle_fips_error(struct cc_drvdata *p_drvdata) {} 35ab8ec965SGilad Ben-Yossef 36ab8ec965SGilad Ben-Yossef #endif /* CONFIG_CRYPTO_FIPS */ 37ab8ec965SGilad Ben-Yossef 38ab8ec965SGilad Ben-Yossef #endif /*__CC_FIPS_H__*/ 39