1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun /* Copyright (c) 2022 Rockchip Electronics Co. Ltd. */ 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #ifndef __RK_CRYPTO_V3_REG_H__ 6*4882a593Smuzhiyun #define __RK_CRYPTO_V3_REG_H__ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #include "rk_crypto_v2_reg.h" 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #define CRYPTO_UNEQUAL_ERR_INT_EN BIT(9) 11*4882a593Smuzhiyun #define CRYPTO_ZERO_LEN_INT_EN BIT(6) 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun /* DMA Destination Data Read Address Register */ 14*4882a593Smuzhiyun #define CRYPTO_DMA_DST_WADDR 0x0028 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun #define CRYPTO_BC_MID_IV_0 0x0060 17*4882a593Smuzhiyun #define CRYPTO_BC_MID_WORD_SIZE 6 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #define CRYPTO_MID_VALID 0x03e8 20*4882a593Smuzhiyun #define CRYPTO_BC_MID_IS_VALID BIT(0) 21*4882a593Smuzhiyun #define CRYPTO_HASH_MID_IS_VALID BIT(1) 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun #define CRYPTO_KEY_SEL 0x0610 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun #define CRYPTO_MID_VALID_SWITCH 0x0630 26*4882a593Smuzhiyun #define CRYPTO_MID_VALID_ENABLE BIT(0) 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun #define CRYPTO_AES_VERSION 0x0680 29*4882a593Smuzhiyun #define CRYPTO_DES_VERSION 0x0684 30*4882a593Smuzhiyun #define CRYPTO_SM4_VERSION 0x0688 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun #define CRYPTO_ECB_FLAG BIT(0) 33*4882a593Smuzhiyun #define CRYPTO_CBC_FLAG BIT(1) 34*4882a593Smuzhiyun #define CRYPTO_CTS_FLAG BIT(2) 35*4882a593Smuzhiyun #define CRYPTO_CTR_FLAG BIT(3) 36*4882a593Smuzhiyun #define CRYPTO_CFB_FLAG BIT(4) 37*4882a593Smuzhiyun #define CRYPTO_OFB_FLAG BIT(5) 38*4882a593Smuzhiyun #define CRYPTO_XTS_FLAG BIT(6) 39*4882a593Smuzhiyun #define CRYPTO_CCM_FLAG BIT(7) 40*4882a593Smuzhiyun #define CRYPTO_GCM_FLAG BIT(8) 41*4882a593Smuzhiyun #define CRYPTO_CMAC_FLAG BIT(9) 42*4882a593Smuzhiyun #define CRYPTO_CBCMAC_FLAG BIT(10) 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun #define CRYPTO_AES128_FLAG BIT(16) 45*4882a593Smuzhiyun #define CRYPTO_AES192_FLAG BIT(17) 46*4882a593Smuzhiyun #define CRYPTO_AES256_FLAG BIT(18) 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun #define CRYPTO_TDES_FLAG BIT(16) 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun #define CRYPTO_LOCKSEP_FLAG BIT(20) 51*4882a593Smuzhiyun #define CRYPTO_SECURE_FLAG BIT(21) 52*4882a593Smuzhiyun #define CRYPTO_MULTI_CHN_FLAG BIT(22) 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun #define CRYPTO_HASH_VERSION 0x068C 55*4882a593Smuzhiyun #define CRYPTO_HASH_SHA1_FLAG BIT(0) 56*4882a593Smuzhiyun #define CRYPTO_HASH_SHA224_FLAG BIT(1) 57*4882a593Smuzhiyun #define CRYPTO_HASH_SHA256_FLAG BIT(2) 58*4882a593Smuzhiyun #define CRYPTO_HASH_SHA384_FLAG BIT(3) 59*4882a593Smuzhiyun #define CRYPTO_HASH_SHA512_FLAG BIT(4) 60*4882a593Smuzhiyun #define CRYPTO_HASH_SHA512_224_FLAG BIT(5) 61*4882a593Smuzhiyun #define CRYPTO_HASH_SHA512_256_FLAG BIT(6) 62*4882a593Smuzhiyun #define CRYPTO_HASH_MD5_FLAG BIT(7) 63*4882a593Smuzhiyun #define CRYPTO_HASH_SM3_FLAG BIT(8) 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun #define CRYPTO_HMAC_VERSION 0x0690 66*4882a593Smuzhiyun #define CRYPTO_HMAC_SHA1_FLAG BIT(0) 67*4882a593Smuzhiyun #define CRYPTO_HMAC_SHA256_FLAG BIT(1) 68*4882a593Smuzhiyun #define CRYPTO_HMAC_SHA512_FLAG BIT(2) 69*4882a593Smuzhiyun #define CRYPTO_HMAC_MD5_FLAG BIT(3) 70*4882a593Smuzhiyun #define CRYPTO_HMAC_SM3_FLAG BIT(4) 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun #define CRYPTO_RNG_VERSION 0x0694 73*4882a593Smuzhiyun #define CRYPTO_PKA_VERSION 0x0698 74*4882a593Smuzhiyun #define CRYPTO_CRYPTO_VERSION 0x06F0 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun #define CRYPTO_HASH_MID_DATA_0 0x0700 77*4882a593Smuzhiyun #define CRYPTO_HASH_MID_WORD_SIZE 26 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun #endif 80*4882a593Smuzhiyun 81