Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3)  * Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) #ifndef _REGS_V5_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) #define _REGS_V5_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) #include <linux/bitops.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) #define REG_VERSION			0x000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) #define REG_STATUS			0x100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) #define REG_STATUS2			0x104
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) #define REG_ENGINES_AVAIL		0x108
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) #define REG_FIFO_SIZES			0x10c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) #define REG_SEG_SIZE			0x110
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) #define REG_GOPROC			0x120
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) #define REG_ENCR_SEG_CFG		0x200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) #define REG_ENCR_SEG_SIZE		0x204
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) #define REG_ENCR_SEG_START		0x208
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) #define REG_CNTR0_IV0			0x20c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) #define REG_CNTR1_IV1			0x210
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) #define REG_CNTR2_IV2			0x214
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) #define REG_CNTR3_IV3			0x218
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) #define REG_CNTR_MASK			0x21C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) #define REG_ENCR_CCM_INT_CNTR0		0x220
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) #define REG_ENCR_CCM_INT_CNTR1		0x224
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) #define REG_ENCR_CCM_INT_CNTR2		0x228
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) #define REG_ENCR_CCM_INT_CNTR3		0x22c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) #define REG_ENCR_XTS_DU_SIZE		0x230
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) #define REG_CNTR_MASK2			0x234
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) #define REG_CNTR_MASK1			0x238
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) #define REG_CNTR_MASK0			0x23c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) #define REG_AUTH_SEG_CFG		0x300
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) #define REG_AUTH_SEG_SIZE		0x304
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) #define REG_AUTH_SEG_START		0x308
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) #define REG_AUTH_IV0			0x310
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) #define REG_AUTH_IV1			0x314
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) #define REG_AUTH_IV2			0x318
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) #define REG_AUTH_IV3			0x31c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) #define REG_AUTH_IV4			0x320
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) #define REG_AUTH_IV5			0x324
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) #define REG_AUTH_IV6			0x328
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) #define REG_AUTH_IV7			0x32c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) #define REG_AUTH_IV8			0x330
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) #define REG_AUTH_IV9			0x334
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) #define REG_AUTH_IV10			0x338
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) #define REG_AUTH_IV11			0x33c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) #define REG_AUTH_IV12			0x340
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) #define REG_AUTH_IV13			0x344
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) #define REG_AUTH_IV14			0x348
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) #define REG_AUTH_IV15			0x34c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) #define REG_AUTH_INFO_NONCE0		0x350
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) #define REG_AUTH_INFO_NONCE1		0x354
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) #define REG_AUTH_INFO_NONCE2		0x358
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) #define REG_AUTH_INFO_NONCE3		0x35c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) #define REG_AUTH_BYTECNT0		0x390
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) #define REG_AUTH_BYTECNT1		0x394
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) #define REG_AUTH_BYTECNT2		0x398
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) #define REG_AUTH_BYTECNT3		0x39c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) #define REG_AUTH_EXP_MAC0		0x3a0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) #define REG_AUTH_EXP_MAC1		0x3a4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) #define REG_AUTH_EXP_MAC2		0x3a8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) #define REG_AUTH_EXP_MAC3		0x3ac
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) #define REG_AUTH_EXP_MAC4		0x3b0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) #define REG_AUTH_EXP_MAC5		0x3b4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) #define REG_AUTH_EXP_MAC6		0x3b8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) #define REG_AUTH_EXP_MAC7		0x3bc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) #define REG_CONFIG			0x400
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) #define REG_GOPROC_QC_KEY		0x1000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) #define REG_GOPROC_OEM_KEY		0x2000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) #define REG_ENCR_KEY0			0x3000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) #define REG_ENCR_KEY1			0x3004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) #define REG_ENCR_KEY2			0x3008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) #define REG_ENCR_KEY3			0x300c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) #define REG_ENCR_KEY4			0x3010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) #define REG_ENCR_KEY5			0x3014
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) #define REG_ENCR_KEY6			0x3018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) #define REG_ENCR_KEY7			0x301c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) #define REG_ENCR_XTS_KEY0		0x3020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) #define REG_ENCR_XTS_KEY1		0x3024
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) #define REG_ENCR_XTS_KEY2		0x3028
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) #define REG_ENCR_XTS_KEY3		0x302c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) #define REG_ENCR_XTS_KEY4		0x3030
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) #define REG_ENCR_XTS_KEY5		0x3034
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) #define REG_ENCR_XTS_KEY6		0x3038
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) #define REG_ENCR_XTS_KEY7		0x303c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) #define REG_AUTH_KEY0			0x3040
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) #define REG_AUTH_KEY1			0x3044
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) #define REG_AUTH_KEY2			0x3048
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) #define REG_AUTH_KEY3			0x304c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) #define REG_AUTH_KEY4			0x3050
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) #define REG_AUTH_KEY5			0x3054
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) #define REG_AUTH_KEY6			0x3058
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) #define REG_AUTH_KEY7			0x305c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) #define REG_AUTH_KEY8			0x3060
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) #define REG_AUTH_KEY9			0x3064
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) #define REG_AUTH_KEY10			0x3068
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) #define REG_AUTH_KEY11			0x306c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) #define REG_AUTH_KEY12			0x3070
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) #define REG_AUTH_KEY13			0x3074
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) #define REG_AUTH_KEY14			0x3078
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) #define REG_AUTH_KEY15			0x307c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) /* Register bits - REG_VERSION */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) #define CORE_STEP_REV_SHIFT		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) #define CORE_STEP_REV_MASK		GENMASK(15, 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) #define CORE_MINOR_REV_SHIFT		16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) #define CORE_MINOR_REV_MASK		GENMASK(23, 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) #define CORE_MAJOR_REV_SHIFT		24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) #define CORE_MAJOR_REV_MASK		GENMASK(31, 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) /* Register bits - REG_STATUS */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) #define MAC_FAILED_SHIFT		31
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) #define DOUT_SIZE_AVAIL_SHIFT		26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) #define DOUT_SIZE_AVAIL_MASK		GENMASK(30, 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) #define DIN_SIZE_AVAIL_SHIFT		21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) #define DIN_SIZE_AVAIL_MASK		GENMASK(25, 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) #define HSD_ERR_SHIFT			20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) #define ACCESS_VIOL_SHIFT		19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) #define PIPE_ACTIVE_ERR_SHIFT		18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) #define CFG_CHNG_ERR_SHIFT		17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) #define DOUT_ERR_SHIFT			16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) #define DIN_ERR_SHIFT			15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) #define AXI_ERR_SHIFT			14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) #define CRYPTO_STATE_SHIFT		10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) #define CRYPTO_STATE_MASK		GENMASK(13, 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) #define ENCR_BUSY_SHIFT			9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) #define AUTH_BUSY_SHIFT			8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) #define DOUT_INTR_SHIFT			7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) #define DIN_INTR_SHIFT			6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) #define OP_DONE_INTR_SHIFT		5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) #define ERR_INTR_SHIFT			4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) #define DOUT_RDY_SHIFT			3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) #define DIN_RDY_SHIFT			2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) #define OPERATION_DONE_SHIFT		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) #define SW_ERR_SHIFT			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) /* Register bits - REG_STATUS2 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) #define AXI_EXTRA_SHIFT			1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) #define LOCKED_SHIFT			2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) /* Register bits - REG_CONFIG */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) #define REQ_SIZE_SHIFT			17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) #define REQ_SIZE_MASK			GENMASK(20, 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) #define REQ_SIZE_ENUM_1_BEAT		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) #define REQ_SIZE_ENUM_2_BEAT		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) #define REQ_SIZE_ENUM_3_BEAT		2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) #define REQ_SIZE_ENUM_4_BEAT		3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) #define REQ_SIZE_ENUM_5_BEAT		4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) #define REQ_SIZE_ENUM_6_BEAT		5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) #define REQ_SIZE_ENUM_7_BEAT		6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) #define REQ_SIZE_ENUM_8_BEAT		7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) #define REQ_SIZE_ENUM_9_BEAT		8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) #define REQ_SIZE_ENUM_10_BEAT		9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) #define REQ_SIZE_ENUM_11_BEAT		10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) #define REQ_SIZE_ENUM_12_BEAT		11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) #define REQ_SIZE_ENUM_13_BEAT		12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) #define REQ_SIZE_ENUM_14_BEAT		13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) #define REQ_SIZE_ENUM_15_BEAT		14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) #define REQ_SIZE_ENUM_16_BEAT		15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) #define MAX_QUEUED_REQ_SHIFT		14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) #define MAX_QUEUED_REQ_MASK		GENMASK(24, 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) #define ENUM_1_QUEUED_REQS		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) #define ENUM_2_QUEUED_REQS		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) #define ENUM_3_QUEUED_REQS		2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) #define IRQ_ENABLES_SHIFT		10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) #define IRQ_ENABLES_MASK		GENMASK(13, 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) #define LITTLE_ENDIAN_MODE_SHIFT	9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) #define PIPE_SET_SELECT_SHIFT		5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) #define PIPE_SET_SELECT_MASK		GENMASK(8, 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) #define HIGH_SPD_EN_N_SHIFT		4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) #define MASK_DOUT_INTR_SHIFT		3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) #define MASK_DIN_INTR_SHIFT		2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) #define MASK_OP_DONE_INTR_SHIFT		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) #define MASK_ERR_INTR_SHIFT		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) /* Register bits - REG_AUTH_SEG_CFG */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) #define COMP_EXP_MAC_SHIFT		24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) #define COMP_EXP_MAC_DISABLED		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) #define COMP_EXP_MAC_ENABLED		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) #define F9_DIRECTION_SHIFT		23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) #define F9_DIRECTION_UPLINK		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) #define F9_DIRECTION_DOWNLINK		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) #define AUTH_NONCE_NUM_WORDS_SHIFT	20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) #define AUTH_NONCE_NUM_WORDS_MASK	GENMASK(22, 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) #define USE_PIPE_KEY_AUTH_SHIFT		19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) #define USE_HW_KEY_AUTH_SHIFT		18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) #define AUTH_FIRST_SHIFT		17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) #define AUTH_LAST_SHIFT			16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) #define AUTH_POS_SHIFT			14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) #define AUTH_POS_MASK			GENMASK(15, 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) #define AUTH_POS_BEFORE			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) #define AUTH_POS_AFTER			1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) #define AUTH_SIZE_SHIFT			9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) #define AUTH_SIZE_MASK			GENMASK(13, 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) #define AUTH_SIZE_SHA1			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) #define AUTH_SIZE_SHA256		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) #define AUTH_SIZE_ENUM_1_BYTES		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) #define AUTH_SIZE_ENUM_2_BYTES		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) #define AUTH_SIZE_ENUM_3_BYTES		2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) #define AUTH_SIZE_ENUM_4_BYTES		3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) #define AUTH_SIZE_ENUM_5_BYTES		4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) #define AUTH_SIZE_ENUM_6_BYTES		5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) #define AUTH_SIZE_ENUM_7_BYTES		6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) #define AUTH_SIZE_ENUM_8_BYTES		7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) #define AUTH_SIZE_ENUM_9_BYTES		8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) #define AUTH_SIZE_ENUM_10_BYTES		9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) #define AUTH_SIZE_ENUM_11_BYTES		10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) #define AUTH_SIZE_ENUM_12_BYTES		11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) #define AUTH_SIZE_ENUM_13_BYTES		12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) #define AUTH_SIZE_ENUM_14_BYTES		13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) #define AUTH_SIZE_ENUM_15_BYTES		14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) #define AUTH_SIZE_ENUM_16_BYTES		15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) #define AUTH_MODE_SHIFT			6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) #define AUTH_MODE_MASK			GENMASK(8, 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) #define AUTH_MODE_HASH			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) #define AUTH_MODE_HMAC			1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) #define AUTH_MODE_CCM			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) #define AUTH_MODE_CMAC			1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) #define AUTH_KEY_SIZE_SHIFT		3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) #define AUTH_KEY_SIZE_MASK		GENMASK(5, 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) #define AUTH_KEY_SZ_AES128		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) #define AUTH_KEY_SZ_AES256		2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) #define AUTH_ALG_SHIFT			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) #define AUTH_ALG_MASK			GENMASK(2, 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) #define AUTH_ALG_NONE			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) #define AUTH_ALG_SHA			1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) #define AUTH_ALG_AES			2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) #define AUTH_ALG_KASUMI			3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) #define AUTH_ALG_SNOW3G			4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) #define AUTH_ALG_ZUC			5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) /* Register bits - REG_ENCR_XTS_DU_SIZE */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) #define ENCR_XTS_DU_SIZE_SHIFT		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) #define ENCR_XTS_DU_SIZE_MASK		GENMASK(19, 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) /* Register bits - REG_ENCR_SEG_CFG */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) #define F8_KEYSTREAM_ENABLE_SHIFT	17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) #define F8_KEYSTREAM_DISABLED		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) #define F8_KEYSTREAM_ENABLED		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) #define F8_DIRECTION_SHIFT		16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) #define F8_DIRECTION_UPLINK		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) #define F8_DIRECTION_DOWNLINK		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) #define USE_PIPE_KEY_ENCR_SHIFT		15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) #define USE_PIPE_KEY_ENCR_ENABLED	1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) #define USE_KEY_REGISTERS		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) #define USE_HW_KEY_ENCR_SHIFT		14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) #define USE_KEY_REG			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) #define USE_HW_KEY			1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) #define LAST_CCM_SHIFT			13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) #define LAST_CCM_XFR			1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) #define INTERM_CCM_XFR			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) #define CNTR_ALG_SHIFT			11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) #define CNTR_ALG_MASK			GENMASK(12, 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) #define CNTR_ALG_NIST			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) #define ENCODE_SHIFT			10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) #define ENCR_MODE_SHIFT			6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) #define ENCR_MODE_MASK			GENMASK(9, 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) #define ENCR_MODE_ECB			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) #define ENCR_MODE_CBC			1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) #define ENCR_MODE_CTR			2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) #define ENCR_MODE_XTS			3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) #define ENCR_MODE_CCM			4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) #define ENCR_KEY_SZ_SHIFT		3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) #define ENCR_KEY_SZ_MASK		GENMASK(5, 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) #define ENCR_KEY_SZ_DES			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) #define ENCR_KEY_SZ_3DES		1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) #define ENCR_KEY_SZ_AES128		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) #define ENCR_KEY_SZ_AES256		2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) #define ENCR_ALG_SHIFT			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) #define ENCR_ALG_MASK			GENMASK(2, 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) #define ENCR_ALG_NONE			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) #define ENCR_ALG_DES			1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) #define ENCR_ALG_AES			2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) #define ENCR_ALG_KASUMI			4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) #define ENCR_ALG_SNOW_3G		5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) #define ENCR_ALG_ZUC			6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) /* Register bits - REG_GOPROC */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) #define GO_SHIFT			0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) #define CLR_CNTXT_SHIFT			1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) #define RESULTS_DUMP_SHIFT		2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) /* Register bits - REG_ENGINES_AVAIL */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) #define ENCR_AES_SEL_SHIFT		0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) #define DES_SEL_SHIFT			1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) #define ENCR_SNOW3G_SEL_SHIFT		2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) #define ENCR_KASUMI_SEL_SHIFT		3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) #define SHA_SEL_SHIFT			4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) #define SHA512_SEL_SHIFT		5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) #define AUTH_AES_SEL_SHIFT		6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) #define AUTH_SNOW3G_SEL_SHIFT		7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) #define AUTH_KASUMI_SEL_SHIFT		8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) #define BAM_PIPE_SETS_SHIFT		9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) #define BAM_PIPE_SETS_MASK		GENMASK(12, 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) #define AXI_WR_BEATS_SHIFT		13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) #define AXI_WR_BEATS_MASK		GENMASK(18, 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) #define AXI_RD_BEATS_SHIFT		19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) #define AXI_RD_BEATS_MASK		GENMASK(24, 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) #define ENCR_ZUC_SEL_SHIFT		26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) #define AUTH_ZUC_SEL_SHIFT		27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) #define ZUC_ENABLE_SHIFT		28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) #endif /* _REGS_V5_H_ */