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