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