1 /** 2 * Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 * 15 * Description: hal spacc register header. \n 16 * 17 * History: \n 18 * 2023-03-22, Create file. \n 19 */ 20 #ifndef HAL_SPACC_REG_H 21 #define HAL_SPACC_REG_H 22 #include "td_type.h" 23 24 typedef enum { 25 SPACC_CPU_IDLE = 0x00000000, 26 SPACC_CPU_REE = 0x00000001, 27 SPACC_CPU_TEE = 0x00000002, 28 SPACC_CPU_PCPU = 0x00000004, 29 SPACC_CPU_AIDSP = 0x00000005, 30 SPACC_CPU_INVALID = 0xffffffff 31 } spacc_cpu_mask; 32 33 #define SPACC_CALC_CRG_CFG (0x8030) 34 35 #define SPACC_IE (0x00000004) 36 37 #define CHN_WHO_USED_CLR(used, chn) (used) &= ~(0x0fU << ((chn) * 4U)) 38 #define CHN_WHO_USED_SET(used, chn, who) (used) |= (td_u32)(who) << ((td_u32)(chn) * 4U) 39 #define CHN_WHO_USED_GET(used, chn) ((((used) >> ((chn) * 4U))) & 0x0fU) 40 41 /*! \Define the offset of HASH reg */ 42 #define SPACC_HASH_CHN_LOCK 0x0040 43 #define SPACC_HASH_CHN_CLEAR_REQ 0x0068 44 #define SPACC_INT_RAW_HASH_CLEAR_FINISH 0x0014 45 #define CHANN_HASH_STATE_VAL_ADDR(id) (0xa004 + (id) * 0x80) 46 #define CHANN_HASH_STATE_VAL(id) (0xa000 + (id) * 0x80) 47 #define IN_HASH_CHN_CTRL(id) (0x5100 + ((id) - 1) * 0x100) 48 #define IN_HASH_CHN_KEY_CTRL(id) (0x5110 + ((id) - 1) * 0x100) 49 #define IN_HASH_CHN_NODE_START_ADDR_H(id) (0x5120 + ((id) - 1) * 0x100) 50 #define IN_HASH_CHN_NODE_START_ADDR_L(id) (0x5124 + ((id) - 1) * 0x100) 51 #define IN_HASH_CHN_NODE_LENGTH(id) (0x512c + ((id) - 1) * 0x100) 52 #define IN_HASH_CHN_NODE_WR_POINT(id) (0x5130 + ((id) - 1) * 0x100) 53 #define IN_HASH_CHN_NODE_RD_POINT(id) (0x5134 + ((id) - 1) * 0x100) 54 #define IN_HASH_CHN_DATA_LEN(id) (0x51C0 + ((id) - 1) * 0x100) 55 #define HASH_CHANN_RAW_INT 0x8600 56 #define HASH_CHANN_RAW_INT_EN 0x8604 57 #define TEE_HASH_CALC_CTRL_CHECK_ERR 0x8068 58 #define TEE_HASH_CALC_CTRL_CHECK_ERR_STATUS 0x806c 59 #define REE_HASH_CALC_CTRL_CHECK_ERR 0x8078 60 #define REE_HASH_CALC_CTRL_CHECK_ERR_STATUS 0x807c 61 #define PCPU_HASH_CALC_CTRL_CHECK_ERR 0x8088 62 #define PCPU_HASH_CALC_CTRL_CHECK_ERR_STATUS 0x808c 63 #define AIDSP_HASH_CALC_CTRL_CHECK_ERR 0x8098 64 #define AIDSP_HASH_CALC_CTRL_CHECK_ERR_STATUS 0x809c 65 66 #define ENCRYPT 0x5A 67 #define DECRYPT 0xA5 68 69 /* ! \Define the offset of Cipher reg */ 70 #define SPACC_SYM_CHN_LOCK 0x0020 71 #define SPACC_INT_RAW_SYM_CLEAR_FINISH 0x0008 72 #define SPACC_EN_INT_RAW_SYM_CLEAR_FINISH 0x000c 73 #define SPACC_SYM_CHN_CLEAR_REQ 0x0060 74 #define SPACC_BUS_ERR 0x0200 75 #define IN_SYM_CHN_CTRL(id) (0x4100 + ((id) - 1) * 0x100) 76 #define IN_SYM_OUT_CTRL(id) (0x4104 + ((id) - 1) * 0x100) 77 #define IN_SYM_CHN_KEY_CTRL(id) (0x4110 + ((id) - 1) * 0x100) 78 #define IN_SYM_CHN_NODE_START_ADDR_H(id) (0x4120 + ((id) - 1) * 0x100) 79 #define IN_SYM_CHN_NODE_START_ADDR_L(id) (0x4124 + ((id) - 1) * 0x100) 80 #define IN_SYM_CHN_NODE_LENGTH(id) (0x412c + ((id) - 1) * 0x100) 81 #define IN_SYM_CHN_NODE_WR_POINT(id) (0x4130 + ((id) - 1) * 0x100) 82 #define IN_SYM_CHN_NODE_RD_POINT(id) (0x4134 + ((id) - 1) * 0x100) 83 #define IN_SYM_CHN_NODE_CTRL(id) (0x4140 + ((id) - 1) * 0x100) 84 #define DBG_IN_SYM_CHN_RD_ADDR_H(id) (0x41a0 + ((id) - 1) * 0x100) 85 #define DBG_IN_SYM_CHN_RD_ADDR_L(id) (0x41a4 + ((id) - 1) * 0x100) 86 #define DBG_IN_SYM_CHN_DATA_LEN(id) (0x41c0 + ((id) - 1) * 0x100) 87 88 #define TEE_SYM_CALC_CTRL_CHECK_ERR 0x8060 89 #define TEE_SYM_CALC_CTRL_CHECK_ERR_STATUS 0x8064 90 #define REE_SYM_CALC_CTRL_CHECK_ERR 0x8070 91 #define REE_SYM_CALC_CTRL_CHECK_ERR_STATUS 0x8074 92 #define PCPU_SYM_CALC_CTRL_CHECK_ERR 0x8080 93 #define PCPU_SYM_CALC_CTRL_CHECK_ERR_STATUS 0x8084 94 #define AIDSP_SYM_CALC_CTRL_CHECK_ERR 0x8090 95 #define AIDSP_SYM_CALC_CTRL_CHECK_ERR_STATUS 0x8094 96 97 #define SYM_CHANN_RAW_INT 0x8610 98 #define SYM_CHANN_RAW_INT_EN 0x8614 99 #define SYM_CHANN_INT 0x8618 100 101 #define CHANN_CIPHER_IVOUT(id) (0x9000 + (id) * 0x80) 102 #define CHANN_CIPHER_DFA_EN(id) (0x9020 + (id) * 0x80) 103 104 #define OUT_SYM_CHAN_RAW_LAST_NODE_INT 0xc000 105 #define OUT_SYM_CHAN_RAW_LAST_NODE_INT_EN 0xc004 106 #define OUT_SYM_CHAN_LAST_NODE_INT 0xc008 107 #define OUT_SYM_CHAN_RAW_LEVEL_INT 0xc010 108 #define OUT_SYM_CHAN_RAW_LEVEL_INT_EN 0xc014 109 #define OUT_SYM_CHAN_LEVEL_INT 0xc018 110 111 #define OUT_SYM_CHN_STATUS(id) (0xD004 + ((id) - 1) * 0x100) 112 #define OUT_SYM_CHN_NODE_START_ADDR_H(id) (0xD020 + ((id) - 1) * 0x100) 113 #define OUT_SYM_CHN_NODE_START_ADDR_L(id) (0xD024 + ((id) - 1) * 0x100) 114 #define OUT_SYM_CHN_NODE_LENGTH(id) (0xD028 + ((id) - 1) * 0x100) 115 #define OUT_SYM_CHN_NODE_WR_POINT(id) (0xD030 + ((id) - 1) * 0x100) 116 #define OUT_SYM_CHN_NODE_RD_POINT(id) (0xD034 + ((id) - 1) * 0x100) 117 #define OUT_SYM_CHN_NODE_CTRL(id) (0xD040 + ((id) - 1) * 0x100) 118 #define DBG_OUT_SYM_CHN_RD_ADDR_H(id) (0xD0a0 + ((id) - 1) * 0x100) 119 #define DBG_OUT_SYM_CHN_RD_ADDR_L(id) (0xD0a4 + ((id) - 1) * 0x100) 120 #define DBG_OUT_SYM_CHN_NODE_LEFT_BUF_LEN(id) (0xD0a8 + ((id) - 1) * 0x100) 121 122 #define IN_SYM_CHN0_CTRL 0x4000 123 #define IN_SYM_CHN0_SPECIAL_CTRL 0x4004 124 #define IN_SYM_CHN0_KEY_CTRL 0x4010 125 #define IN_SYM_CHN0_IV_DATA_CTRL 0x4030 126 #define IN_SYM_CHN0_IV0 0x4040 127 #define IN_SYM_CHN0_IV1 0x4044 128 #define IN_SYM_CHN0_IV2 0x4048 129 #define IN_SYM_CHN0_IV3 0x404C 130 #define IN_SYM_CHN0_DATA0 0x4050 131 #define IN_SYM_CHN0_DATA1 0x4054 132 #define IN_SYM_CHN0_DATA2 0x4058 133 #define IN_SYM_CHN0_DATA3 0x405C 134 #define CHAN0_CIPHER_DOUT0 0x8100 135 136 #define SYMC_KEY_SIZE (32) 137 #define NODE_DEPTH (2) 138 139 #define SYMC_CFG_SECURE (0x05) 140 #define SYMC_CFG_NON_SECURE (0x0A) 141 142 143 #define ALG_DMA_REG (0) 144 #define ALG_AES_REG (2) 145 #define ALG_LEA_REG (4) 146 #define ALG_SM4_REG (5) 147 #define ALG_GHASH_REG (6) 148 #define ALG_TDES_REG (7) 149 150 #define MODE_ECB_REG (0x01) 151 #define MODE_CBC_REG (0x03) 152 #define MODE_CTR_REG (0x06) 153 #define MODE_OFB_REG (0x07) 154 #define MODE_CFB_REG (0x08) 155 #define MODE_CCM_REG (0x09) 156 #define MODE_GCM_REG (0x0A) 157 #define MODE_GCTR_REG (0x0B) 158 #define MODE_CMAC_REG (0x0C) 159 #define MODE_CBC_NOOUT_REG (0x0D) 160 #define MODE_GCTR_NOOUT_REG (0x0E) 161 162 #define BIT_WIDTH_1_REG (2) 163 #define BIT_WIDTH_8_REG (1) 164 #define BIT_WIDTH_64_REG (3) 165 #define BIT_WIDTH_128_REG (3) 166 167 // internal iv state 168 #define SYMC_IV_STATE_START (0) 169 #define SYMC_IV_STATE_UPDATE (1) 170 #define SYMC_IV_STATE_FINISH (2) 171 172 typedef union { 173 struct { 174 td_u32 reserved_0 : 8; 175 td_u32 hash_chn_ss : 4; 176 td_u32 reserved_1 : 19; 177 td_u32 hash_chn_en : 1; 178 } bits; 179 td_u32 u32; 180 } in_hash_chn_ctrl; 181 182 typedef union { 183 struct { 184 td_u32 hash_key_chn_id : 4; 185 td_u32 reserved_0 : 5; 186 td_u32 hmac_vld : 1; 187 td_u32 reserved_1 : 6; 188 td_u32 hash_chn_alg_sel : 4; 189 td_u32 hash_chn_alg_mode : 4; 190 td_u32 reserved_2 : 8; 191 } bits; 192 td_u32 u32; 193 } in_hash_chn_key_ctrl; 194 195 // Define the union in_hash_chn_node_wr_point 196 typedef union { 197 // Define the struct bits 198 struct { 199 td_u32 hash_chn_node_wr_point : 8; // [7..0] 200 td_u32 reserved_0 : 24; // [31..8] 201 } bits; 202 203 // Define an unsigned member 204 td_u32 u32; 205 } in_hash_chn_node_wr_point; 206 207 // Define the union in_hash_chn_node_wr_point 208 typedef union { 209 // Define the struct bits 210 struct { 211 td_u32 hash_chn_node_rd_point : 8; // [7..0] 212 td_u32 reserved_0 : 24; // [31..8] 213 } bits; 214 215 // Define an unsigned member 216 td_u32 u32; 217 } in_hash_chn_node_rd_point; 218 219 // Define the union hash_chann_raw_int 220 typedef union { 221 // Define the struct bits 222 struct { 223 td_u32 hash_chann_raw_int : 16; // [15..0] 224 td_u32 reserved_0 : 16; // [31..16] 225 } bits; 226 227 // Define an unsigned member 228 td_u32 u32; 229 } hash_chann_raw_int; 230 231 // Define the union tee_hash_calc_ctrl_check_err 232 typedef union { 233 // Define the struct bits 234 struct { 235 td_u32 reserved_0 : 1; 236 td_u32 hash_check_ss_error : 1; 237 td_u32 hash_check_alg_error : 1; 238 td_u32 hash_check_alg_invld_error : 1; 239 td_u32 reserved_1 : 2; 240 td_u32 hash_check_sc_error : 1; 241 td_u32 reserved_2 : 6; 242 td_u32 hash_check_sm3_disable_error : 1; 243 td_u32 hash_check_sha1_disable_error : 1; 244 td_u32 reserved_3 : 2; 245 td_u32 hash_tonly_error : 1; 246 td_u32 hash_aidsp_error : 1; 247 td_u32 reserved_4 : 13; 248 } bits; 249 250 // Define an unsigned member 251 td_u32 u32; 252 } hash_calc_ctrl_check_err; 253 254 // Define the union tee_hash_calc_ctrl_check_err 255 typedef union { 256 // Define the struct bits 257 struct { 258 td_u32 hash_error_code_clr : 1; 259 td_u32 reserved_0 : 15; 260 td_u32 error_hash_chan_id : 4; 261 td_u32 reserved_1 : 12; 262 } bits; 263 264 // Define an unsigned member 265 td_u32 u32; 266 } hash_calc_ctrl_check_err_status; 267 268 /* Define the union in_sym_out_ctrl */ 269 typedef union { 270 /* Define the struct bits */ 271 struct { 272 td_u32 sym_dma_copy : 2; /* [1..0] */ 273 td_u32 reserved : 30; /* [31..2] */ 274 } bits; 275 /* Define an unsigned member */ 276 td_u32 u32; 277 } in_sym_out_ctrl; 278 279 /* Define the union in_sym_chn_key_ctrl */ 280 typedef union { 281 /* Define the struct bits */ 282 struct { 283 td_u32 sym_key_chn_id : 9; /* [8..0] */ 284 td_u32 reserved : 7; /* [15..9] */ 285 td_u32 sym_alg_sel : 4; /* [19..16] */ 286 td_u32 sym_alg_mode : 4; /* [23..20] */ 287 td_u32 sym_alg_key_len : 2; /* [25..24] */ 288 td_u32 sym_alg_data_width : 2; /* [27..26] */ 289 td_u32 sym_alg_decrypt : 1; /* [28] */ 290 td_u32 reserved_2 : 3; /* [31..29] */ 291 } bits; 292 /* Define an unsigned member */ 293 td_u32 u32; 294 } in_sym_chn_key_ctrl; 295 296 /* Define the union in_sym_chn_ctrl */ 297 typedef union { 298 /* Define the struct bits */ 299 struct { 300 td_u32 reserved : 8; /* [7..0] */ 301 td_u32 sym_chn_ss : 4; /* [8..11] */ 302 td_u32 sym_chn_ds : 4; /* [12..15] */ 303 td_u32 reserved_2 : 15; /* [30..16] */ 304 td_u32 sym_chn_en : 1; /* [31] */ 305 } bits; 306 /* Define an unsigned member */ 307 td_u32 u32; 308 } in_sym_chn_ctrl; 309 310 /* Define the union in_sym_chn0_ctrl */ 311 typedef union { 312 /* Define the struct bits */ 313 struct { 314 td_u32 reserved : 31; /* [30..0] */ 315 td_u32 sym_chn0_req : 1; /* [31] */ 316 } bits; 317 /* Define an unsigned member */ 318 td_u32 u32; 319 } in_sym_chn0_ctrl; 320 321 /* Define the union in_sym_chn0_special_ctrl */ 322 typedef union { 323 /* Define the struct bits */ 324 struct { 325 td_u32 sym_chn0_odd_even : 1; /* [0] */ 326 td_u32 reserved : 31; /* [31..1] */ 327 } bits; 328 /* Define an unsigned member */ 329 td_u32 u32; 330 } in_sym_chn0_special_ctrl; 331 332 /* Define the union in_sym_chn0_iv_data_ctrl */ 333 typedef union { 334 /* Define the struct bits */ 335 struct { 336 td_u32 sym_chn0_first_block : 1; /* [0] */ 337 td_u32 sym_chn0_last_block : 1; /* [1] */ 338 td_u32 reserved : 14; /* [15..2] */ 339 td_u32 sym_chn0_block_len : 5; /* [20..16] */ 340 td_u32 reserved2 : 11; /* [31..21] */ 341 } bits; 342 /* Define an unsigned member */ 343 td_u32 u32; 344 } in_sym_chn0_iv_data_ctrl; 345 346 /* Define the union out_sym_chan_raw_int */ 347 typedef union { 348 /* Define the struct bits */ 349 struct { 350 td_u32 out_sym_chan_raw_int : 16; /* [15..0] */ 351 td_u32 reserved_1 : 16; /* [31..16] */ 352 } bits; 353 /* Define an unsigned member */ 354 td_u32 u32; 355 } out_sym_chan_raw_int; 356 357 /* Define the union out_sym_chn_node_wr_point */ 358 typedef union { 359 /* Define the struct bits */ 360 struct { 361 td_u32 sym_chn_node_wr_point : 8; /* [7..0] */ 362 td_u32 reserved_1 : 24; /* [31..8] */ 363 } bits; 364 /* Define an unsigned member */ 365 td_u32 u32; 366 } out_sym_chn_node_wr_point; 367 368 /* Define the union out_sym_chn_node_wr_point */ 369 typedef union { 370 /* Define the struct bits */ 371 struct { 372 td_u32 sym_chn_node_wr_point : 8; /* [7..0] */ 373 td_u32 reserved_1 : 24; /* [31..8] */ 374 } bits; 375 /* Define an unsigned member */ 376 td_u32 u32; 377 } in_sym_chn_node_wr_point; 378 379 /* Define the union out_sym_chn_node_rd_point */ 380 typedef union { 381 /* Define the struct bits */ 382 struct { 383 td_u32 sym_chn_node_rd_point : 8; /* [7..0] */ 384 td_u32 reserved_1 : 24; /* [31..8] */ 385 } bits; 386 /* Define an unsigned member */ 387 td_u32 u32; 388 } out_sym_chn_node_rd_point; 389 390 /* Define the union out_sym_chn_node_rd_point */ 391 typedef union { 392 /* Define the struct bits */ 393 struct { 394 td_u32 sym_chn_node_rd_point : 8; /* [7..0] */ 395 td_u32 reserved_1 : 24; /* [31..8] */ 396 } bits; 397 /* Define an unsigned member */ 398 td_u32 u32; 399 } in_sym_chn_node_rd_point; 400 401 /* Define the union in_sym_chn_node_length */ 402 typedef union { 403 /* Define the struct bits */ 404 struct { 405 td_u32 sym_chn_node_length : 8; /* [7..0] */ 406 td_u32 reserved_1 : 24; /* [31..8] */ 407 } bits; 408 /* Define an unsigned member */ 409 td_u32 u32; 410 } in_sym_chn_node_length; 411 412 /* Define the union out_sym_chn_node_length */ 413 typedef union { 414 /* Define the struct bits */ 415 struct { 416 td_u32 sym_chn_node_length : 8; /* [7..0] */ 417 td_u32 reserved_1 : 24; /* [31..8] */ 418 } bits; 419 /* Define an unsigned member */ 420 td_u32 u32; 421 } out_sym_chn_node_length; 422 423 /* Define the union dbg_in_sym_chn_rd_addr_h */ 424 typedef union { 425 /* Define the struct bits */ 426 struct { 427 td_u32 dbg_sym_chn_rd_addr_h : 4; /* [3..0] */ 428 td_u32 reserved : 28; /* [31..4] */ 429 } bits; 430 /* Define an unsigned member */ 431 td_u32 u32; 432 } dbg_in_sym_chn_rd_addr_h; 433 434 /* Define the union dbg_out_sym_chn_rd_addr_h */ 435 typedef union { 436 /* Define the struct bits */ 437 struct { 438 td_u32 dbg_sym_chn_rd_addr_h : 4; /* [3..0] */ 439 td_u32 reserved : 28; /* [31..4] */ 440 } bits; 441 /* Define an unsigned member */ 442 td_u32 u32; 443 } dbg_out_sym_chn_rd_addr_h; 444 445 /* Define the union sym_calc_ctrl_check_err */ 446 typedef union { 447 /* Define the struct bits */ 448 struct { 449 td_u32 calc_ctrl_check_ds_error : 1; /* [0] */ 450 td_u32 calc_ctrl_check_ss_error : 1; /* [1] */ 451 td_u32 calc_ctrl_check_alg_error : 1; /* [2] */ 452 td_u32 calc_ctrl_check_alg_invld_error : 1; /* [3] */ 453 td_u32 calc_ctrl_check_dec_error : 1; /* [4] */ 454 td_u32 reserved0 : 1; /* [5] */ 455 td_u32 calc_ctrl_check_sc_error : 1; /* [6] */ 456 td_u32 calc_ctrl_check_key_size_error : 1; /* [7] */ 457 td_u32 reserved : 8; /* [15..8] */ 458 td_u32 calc_ctrl_big_key_info_diff_error : 1; /* [16] */ 459 td_u32 calc_ctrl_tonly_error : 1; /* [17] */ 460 td_u32 calc_ctrl_aidsp_error : 1; /* [18] */ 461 td_u32 reserved2 : 13; /* [31..19] */ 462 } bits; 463 /* Define an unsigned member */ 464 td_u32 u32; 465 } sym_calc_ctrl_check_err; 466 467 /* Define the union sym_calc_ctrl_check_err_status */ 468 typedef union { 469 /* Define the struct bits */ 470 struct { 471 td_u32 sym_error_code_clr : 1; /* [0] */ 472 td_u32 reserved : 15; /* [15..1] */ 473 td_u32 error_sym_chan_id : 4; /* [19..16] */ 474 td_u32 reserved1 : 12; /* [31..20] */ 475 } bits; 476 /* Define an unsigned member */ 477 td_u32 u32; 478 } sym_calc_ctrl_check_err_status; 479 480 /* Define the union in_sym_chn_node_ctrl */ 481 typedef union { 482 /* Define the struct bits */ 483 struct { 484 td_u32 sym_chn_node_level : 8; /* [7..0] */ 485 td_u32 reserved_0 : 8; /* [15..8] */ 486 td_u32 sym_chn_node_cnt : 8; /* [23..16] */ 487 td_u32 reserved_1 : 7; /* [30..24] */ 488 td_u32 sym_chn_node_cnt_clear : 1; /* [31] */ 489 } bits; 490 /* Define an unsigned member */ 491 td_u32 u32; 492 } in_sym_chn_node_ctrl; 493 494 /* Define the union out_sym_chn_node_ctrl */ 495 typedef union { 496 /* Define the struct bits */ 497 struct { 498 td_u32 out_sym_chn_node_level : 8; /* [7..0] */ 499 td_u32 reserved_0 : 24; /* [31..8] */ 500 } bits; 501 /* Define an unsigned member */ 502 td_u32 u32; 503 } out_sym_chn_node_ctrl; 504 505 /* Define the union spacc_sym_chn_clear_req */ 506 typedef union { 507 /* Define the struct bits */ 508 struct { 509 td_u32 sym_chn_clear_req : 16; /* [15..0] */ 510 td_u32 reserved_0 : 16; /* [31..16] */ 511 } bits; 512 /* Define an unsigned member */ 513 td_u32 u32; 514 } spacc_sym_chn_clear_req; 515 516 /* Define the union spacc_int_raw_sym_clear_finish */ 517 typedef union { 518 /* Define the struct bits */ 519 struct { 520 td_u32 int_raw_sym_clear_finish : 16; /* [15..0] */ 521 td_u32 reserved_0 : 16; /* [31..16] */ 522 } bits; 523 /* Define an unsigned member */ 524 td_u32 u32; 525 } spacc_int_raw_sym_clear_finish; 526 527 /* Define the union sym_chann_raw_int */ 528 typedef union { 529 /* Define the struct bits */ 530 struct { 531 td_u32 sym_chann_raw_int : 16; /* [0] */ 532 td_u32 reserved_0 : 16; /* [31..16] */ 533 } bits; 534 /* Define an unsigned member */ 535 td_u32 u32; 536 } sym_chann_raw_int; 537 538 /* Define the union sym_chann_raw_int_en */ 539 typedef union { 540 /* Define the struct bits */ 541 struct { 542 td_u32 sym_chann_int_en : 16; /* [0] */ 543 td_u32 reserved_0 : 16; /* [31..16] */ 544 } bits; 545 /* Define an unsigned member */ 546 td_u32 u32; 547 } sym_chann_raw_int_en; 548 549 /* Define the union sym_chann_int */ 550 typedef union { 551 /* Define the struct bits */ 552 struct { 553 td_u32 sym_chann_int : 16; /* [0] */ 554 td_u32 reserved_0 : 16; /* [31..16] */ 555 } bits; 556 /* Define an unsigned member */ 557 td_u32 u32; 558 } sym_chann_int; 559 560 /* Define the union sym_chan0_finish_raw_int */ 561 typedef union { 562 /* Define the struct bits */ 563 struct { 564 td_u32 sym_chan0_finish_raw_int : 1; /* [0] */ 565 td_u32 reserved_0 : 31; /* [31..1] */ 566 } bits; 567 /* Define an unsigned member */ 568 td_u32 u32; 569 } sym_chan0_finish_raw_int; 570 571 /* Define the union sym_chan0_finish_raw_int_en */ 572 typedef union { 573 /* Define the struct bits */ 574 struct { 575 td_u32 sym_chan0_finish_int_en : 1; /* [0] */ 576 td_u32 reserved_0 : 31; /* [31..1] */ 577 } bits; 578 /* Define an unsigned member */ 579 td_u32 u32; 580 } sym_chan0_finish_raw_int_en; 581 582 /* Define the union sym_chan0_finish_int */ 583 typedef union { 584 /* Define the struct bits */ 585 struct { 586 td_u32 sym_chan0_finish_int : 1; /* [0] */ 587 td_u32 reserved_0 : 31; /* [31..1] */ 588 } bits; 589 /* Define an unsigned member */ 590 td_u32 u32; 591 } sym_chan0_finish_int; 592 593 /* Define the union sym_chann_error_raw_int */ 594 typedef union { 595 /* Define the struct bits */ 596 struct { 597 td_u32 sym_chan_raw_err_int : 16; /* [0] */ 598 td_u32 reserved_0 : 16; /* [31..16] */ 599 } bits; 600 /* Define an unsigned member */ 601 td_u32 u32; 602 } sym_chann_error_raw_int; 603 604 /* Define the union sym_chann_error_raw_int_en */ 605 typedef union { 606 /* Define the struct bits */ 607 struct { 608 td_u32 sym_chan_err_int_en : 16; /* [0] */ 609 td_u32 reserved_0 : 16; /* [31..16] */ 610 } bits; 611 /* Define an unsigned member */ 612 td_u32 u32; 613 } sym_chann_error_raw_int_en; 614 615 typedef union { 616 struct { 617 td_u32 chann_dfa_en : 4; /* [3..0] */ 618 td_u32 reserved : 28; /* [31..4] */ 619 } bits; 620 td_u32 u32; 621 } symc_chann_dfa_en; 622 623 /* Define the union sym_chann_error_int */ 624 typedef union { 625 /* Define the struct bits */ 626 struct { 627 td_u32 sym_chan_err_int : 16; /* [0] */ 628 td_u32 reserved_0 : 16; /* [31..16] */ 629 } bits; 630 /* Define an unsigned member */ 631 td_u32 u32; 632 } sym_chann_error_int; 633 634 typedef union { 635 struct { 636 td_u32 sec_dfa_en : 4; /* [3..0] */ 637 td_u32 reserved : 28; /* [31..4] */ 638 } bits; 639 td_u32 u32; 640 } spacc_sec_dfa_en; 641 642 /* Define the union spacc_ie */ 643 typedef union { 644 /* Define the struct bits */ 645 struct { 646 unsigned int spacc_ie_ree : 1; /* [0] */ 647 unsigned int reserved_0 : 3; /* [3..1] */ 648 unsigned int spacc_ie_tee : 1; /* [4] */ 649 unsigned int reserved_1 : 3; /* [7..5] */ 650 unsigned int spacc_ie_hpp : 1; /* [8] */ 651 unsigned int reserved_2 : 23; /* [31..9] */ 652 } bits; 653 /* Define an unsigned member */ 654 unsigned int u32; 655 } spacc_ie; 656 657 #endif