xref: /openbmc/linux/drivers/crypto/ccree/cc_fips.h (revision 897ab231)
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);
21897ab231SOfir 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-Yossef static 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-Yossef static inline void cc_fips_fini(struct cc_drvdata *drvdata) {}
cc_set_ree_fips_status(struct cc_drvdata * drvdata,bool ok)31ab8ec965SGilad Ben-Yossef static inline void cc_set_ree_fips_status(struct cc_drvdata *drvdata,
32ab8ec965SGilad Ben-Yossef 					  bool ok) {}
fips_handler(struct cc_drvdata * drvdata)33ab8ec965SGilad Ben-Yossef static inline void fips_handler(struct cc_drvdata *drvdata) {}
cc_tee_handle_fips_error(struct cc_drvdata * p_drvdata)34897ab231SOfir Drang static 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