1 /* SPDX-License-Identifier: BSD-2-Clause */ 2 /* 3 * Copyright (c) 2021, STMicroelectronics - All Rights Reserved 4 */ 5 6 #ifndef __DRIVERS_CRYPTO_STM32_COMMON_H 7 #define __DRIVERS_CRYPTO_STM32_COMMON_H 8 9 #include <tee_api_types.h> 10 11 enum stm32_cipher_ip_id { 12 CRYP_IP, 13 SAES_IP, 14 }; 15 16 /* 17 * Crypto algorithm common macro used in stm32_saes and stm32_cryp driver 18 */ 19 20 #define INT8_BIT U(8) 21 #define AES_BLOCK_SIZE_BIT U(128) 22 #define AES_BLOCK_SIZE (AES_BLOCK_SIZE_BIT / INT8_BIT) 23 #define AES_BLOCK_NB_U32 (AES_BLOCK_SIZE / sizeof(uint32_t)) 24 #define DES_BLOCK_SIZE_BIT U(64) 25 #define DES_BLOCK_SIZE (DES_BLOCK_SIZE_BIT / INT8_BIT) 26 #define DES_BLOCK_NB_U32 (DES_BLOCK_SIZE / sizeof(uint32_t)) 27 #define MAX_BLOCK_SIZE_BIT AES_BLOCK_SIZE_BIT 28 #define MAX_BLOCK_SIZE AES_BLOCK_SIZE 29 #define MAX_BLOCK_NB_U32 AES_BLOCK_NB_U32 30 #define AES_KEYSIZE_128 U(16) 31 #define AES_KEYSIZE_192 U(24) 32 #define AES_KEYSIZE_256 U(32) 33 #define AES_IVSIZE U(16) 34 35 TEE_Result stm32_register_authenc(void); 36 TEE_Result stm32_register_cipher(enum stm32_cipher_ip_id); 37 TEE_Result stm32_register_ecc(void); 38 TEE_Result stm32_register_hash(void); 39 TEE_Result stm32_register_hmac(void); 40 41 #endif /* __DRIVERS_CRYPTO_STM32_COMMON_H */ 42