12#define KEY_SIZE_64_BIT 8
13#define KEY_SIZE_128_BIT 16
14#define KEY_SIZE_192_BIT 24
15#define KEY_SIZE_256_BIT 32
16#define SBRK_DISABLE_VAL 0x5
17#define ABRK_DISABLE_VAL 0x5
19#define KEY_SIZE_64_BIT_REG_VAL 0x0
20#define KEY_SIZE_128_BIT_REG_VAL 0x1
21#define KEY_SIZE_192_BIT_REG_VAL 0x2
22#define KEY_SIZE_256_BIT_REG_VAL 0x3
23#define KLAD_LOCK_REG_CONFIG_VALUE 1
24#define KLAD_UNLOCK_REG_CONFIG_VALUE 1
25#define KLAD_INVALID_HANDLE_INDEX (-1)
30#define KLAD_REG_OFFSET (0x00001000)
32#define KL_DATA_IN_0 (KLAD_REG_OFFSET + 0x000)
33#define KL_DATA_IN_1 (KLAD_REG_OFFSET + 0x004)
34#define KL_DATA_IN_2 (KLAD_REG_OFFSET + 0x008)
35#define KL_DATA_IN_3 (KLAD_REG_OFFSET + 0x00c)
36#define KL_DATA_IN(n) (KLAD_REG_OFFSET + 0x000 + ((n) * 0x4))
37#define KL_KEY_ADDR (KLAD_REG_OFFSET + 0x010)
38#define KL_KEY_CFG (KLAD_REG_OFFSET + 0x014)
39#define KL_KEY_SEC_CFG (KLAD_REG_OFFSET + 0x018)
40#define KL_STATE (KLAD_REG_OFFSET + 0x030)
41#define KL_CRC (KLAD_REG_OFFSET + 0x034)
42#define KL_ERROR (KLAD_REG_OFFSET + 0x038)
43#define KC_ERROR (KLAD_REG_OFFSET + 0x03c)
44#define KL_INT_EN (KLAD_REG_OFFSET + 0x040)
45#define KL_INT_RAW (KLAD_REG_OFFSET + 0x044)
46#define KL_INT (KLAD_REG_OFFSET + 0x048)
47#define SBRK_DISABLE (KLAD_REG_OFFSET + 0x060)
48#define ABRK_DISABLE (KLAD_REG_OFFSET + 0x064)
49#define KL_RK_GEN_STATUS (KLAD_REG_OFFSET + 0x070)
50#define KL_LOCK_CTRL (KLAD_REG_OFFSET + 0x074)
51#define KL_UNLOCK_CTRL (KLAD_REG_OFFSET + 0x078)
52#define KL_COM_LOCK_INFO (KLAD_REG_OFFSET + 0x07c)
53#define KL_COM_LOCK_STATUS (KLAD_REG_OFFSET + 0x080)
54#define KL_COM_CTRL (KLAD_REG_OFFSET + 0x084)
55#define KL_COM_STATUS (KLAD_REG_OFFSET + 0x088)
56#define KL_CLR_CTRL (KLAD_REG_OFFSET + 0x438)
57#define KL_ALARM_INFO (KLAD_REG_OFFSET + 0x600)
63#define ATTACH_MCIPHER 3
69#define KALD_DATA_IN_REG_NUM 4
90#define KDF_ABRK_REE 20
91#define KDF_RDRK_REE 22
93#define KLAD_KEY_TYPE_SBRK0 0x0
94#define KLAD_KEY_TYPE_SBRK1 0x1
95#define KLAD_KEY_TYPE_SBRK2 0x10
96#define KLAD_KEY_TYPE_ABRK0 0x2
97#define KLAD_KEY_TYPE_ABRK1 0x3
98#define KLAD_KEY_TYPE_ABRK2 0x11
99#define KLAD_KEY_TYPE_DRK0 0xc
100#define KLAD_KEY_TYPE_DRK1 0xd
101#define KLAD_KEY_TYPE_RDRK0 0xe
102#define KLAD_KEY_TYPE_RDRK1 0xf
103#define KLAD_KEY_TYPE_PSK 0x12
104#define KLAD_KEY_TYPE_FDRK0 0x4
105#define KLAD_KEY_TYPE_ODRK0 0x5
106#define KLAD_KEY_TYPE_OARK0 0x6
107#define KLAD_KEY_TYPE_ODRK1 0x7
108#define KLAD_KEY_TYPE_MDRK0 0x8
109#define KLAD_KEY_TYPE_ABRK_REE 0x15
110#define KLAD_KEY_TYPE_RDRK_REE 0x17
112#define KDF_FUNC_JTAG 0x13
113#define KDF_TEE_JTAG 0x14
114#define KDF_DFT_JTAG 0x15
116#define KLAD_DEST_TYPE_INVALID 0
117#define KLAD_DEST_TYPE_MCIPHER 1
118#define KLAD_DEST_TYPE_AI_AUDIO 4
119#define KLAD_DEST_TYPE_AI_NPU 5
120#define KLAD_DEST_TYPE_FLASH 7
121#define KLAD_UNLOCK_STATUS 0x0
123#define KLAD_DEST_TYPE_INVALID_KSLOT 0xffffffff
124#define KLAD_CLEAR_KEY_INVALID_HMAC 0xff
126#define CLEAR_HMAC_KEY_BLOCK_SIZE_512 64
127#define CLEAR_HMAC_KEY_BLOCK_SIZE_1024 128
128#define CLEAR_HMAC_KEY_CAL_CNT_512 4
129#define CLEAR_HMAC_KEY_CAL_CNT_1024 8
130#define BYTE_TO_BITS 8
131#define HKL_KEY_LEN 16
132#define HKL_KEY_LEN_32 32
134#define KLAD_CHANNEL_MAX_SUPPORT 1
Definition hal_klad_reg.h:592
unsigned int u32
Definition hal_klad_reg.h:599
unsigned int abrk0_disable
Definition hal_klad_reg.h:595
unsigned int reserved
Definition hal_klad_reg.h:596
Definition hal_klad_reg.h:556
unsigned int kl_ta_crc16_alarm
Definition hal_klad_reg.h:568
unsigned int kl_cfg_sig_alarm
Definition hal_klad_reg.h:560
unsigned int kl_rk_info_crc4_alarm
Definition hal_klad_reg.h:563
unsigned int kl_ta_fsm_alarm
Definition hal_klad_reg.h:569
unsigned int cm_core_alarm
Definition hal_klad_reg.h:571
unsigned int u32
Definition hal_klad_reg.h:576
unsigned int reserved_0
Definition hal_klad_reg.h:570
unsigned int kl_rk_tag_sig_alarm
Definition hal_klad_reg.h:561
unsigned int rng_crc4_alarm
Definition hal_klad_reg.h:559
unsigned int kl_rk_tag_crc16_alarm
Definition hal_klad_reg.h:562
unsigned int kl_fp_crc16_alarm
Definition hal_klad_reg.h:567
unsigned int kl_nonce_crc16_alarm
Definition hal_klad_reg.h:566
unsigned int kl_com_crc16_alarm
Definition hal_klad_reg.h:565
unsigned int reserved_1
Definition hal_klad_reg.h:572
unsigned int kl_sel_sig_alarm
Definition hal_klad_reg.h:564
Definition hal_klad_reg.h:339
unsigned int kl_clr_iv_sel
Definition hal_klad_reg.h:343
unsigned int u32
Definition hal_klad_reg.h:349
unsigned int kl_clr_key_size
Definition hal_klad_reg.h:344
unsigned int kl_clr_start
Definition hal_klad_reg.h:342
unsigned int reserved_0
Definition hal_klad_reg.h:345
Definition hal_klad_reg.h:313
unsigned int reserved_0
Definition hal_klad_reg.h:319
unsigned int kl_clr_lock_fail
Definition hal_klad_reg.h:317
unsigned int kl_clr_unlock_fail
Definition hal_klad_reg.h:318
unsigned int u32
Definition hal_klad_reg.h:323
unsigned int kl_clr_lock_busy
Definition hal_klad_reg.h:316
Definition hal_klad_reg.h:327
unsigned int reserved_0
Definition hal_klad_reg.h:331
unsigned int kl_clr_lock_stat
Definition hal_klad_reg.h:330
unsigned int u32
Definition hal_klad_reg.h:335
Definition hal_klad_reg.h:151
unsigned int kl_com_unlock_fail
Definition hal_klad_reg.h:156
unsigned int kl_com_lock_num
Definition hal_klad_reg.h:158
unsigned int reserved_1
Definition hal_klad_reg.h:159
unsigned int reserved_0
Definition hal_klad_reg.h:157
unsigned int u32
Definition hal_klad_reg.h:163
unsigned int kl_com_lock_fail
Definition hal_klad_reg.h:155
unsigned int kl_com_lock_busy
Definition hal_klad_reg.h:154
Definition hal_klad_reg.h:167
unsigned int u32
Definition hal_klad_reg.h:175
unsigned int kl_com_lock_stat
Definition hal_klad_reg.h:170
unsigned int reserved_0
Definition hal_klad_reg.h:171
Definition hal_klad_reg.h:520
unsigned int u32
Definition hal_klad_reg.h:528
unsigned int kl_csgk2_start
Definition hal_klad_reg.h:523
unsigned int reserved_0
Definition hal_klad_reg.h:524
Definition hal_klad_reg.h:544
unsigned int reserved_0
Definition hal_klad_reg.h:548
unsigned int u32
Definition hal_klad_reg.h:552
unsigned int kl_csgk2_dis_lock
Definition hal_klad_reg.h:547
Definition hal_klad_reg.h:532
unsigned int kl_csgk2_dis
Definition hal_klad_reg.h:535
unsigned int u32
Definition hal_klad_reg.h:540
unsigned int reserved_0
Definition hal_klad_reg.h:536
Definition hal_klad_reg.h:494
unsigned int kl_csgk2_lock_busy
Definition hal_klad_reg.h:497
unsigned int reserved_0
Definition hal_klad_reg.h:500
unsigned int u32
Definition hal_klad_reg.h:504
unsigned int kl_csgk2_lock_fail
Definition hal_klad_reg.h:498
unsigned int kl_csgk2_unlock_fail
Definition hal_klad_reg.h:499
Definition hal_klad_reg.h:508
unsigned int kl_csgk2_lock_stat
Definition hal_klad_reg.h:511
unsigned int u32
Definition hal_klad_reg.h:516
unsigned int reserved_0
Definition hal_klad_reg.h:512
Definition hal_klad_reg.h:391
unsigned int kl_fp_level_sel
Definition hal_klad_reg.h:395
unsigned int u32
Definition hal_klad_reg.h:402
unsigned int kl_fp_dec_sel
Definition hal_klad_reg.h:397
unsigned int kl_fp_start
Definition hal_klad_reg.h:394
unsigned int reserved_1
Definition hal_klad_reg.h:398
unsigned int reserved_0
Definition hal_klad_reg.h:396
Definition hal_klad_reg.h:420
unsigned int u32
Definition hal_klad_reg.h:429
unsigned int kl_fp_dec_rd_dis
Definition hal_klad_reg.h:423
unsigned int reserved_0
Definition hal_klad_reg.h:425
unsigned int kl_fp_dec_route_dis
Definition hal_klad_reg.h:424
Definition hal_klad_reg.h:353
unsigned int u32
Definition hal_klad_reg.h:363
unsigned int kl_fp_lock_busy
Definition hal_klad_reg.h:356
unsigned int reserved_0
Definition hal_klad_reg.h:359
unsigned int kl_fp_lock_fail
Definition hal_klad_reg.h:357
unsigned int kl_fp_unlock_fail
Definition hal_klad_reg.h:358
Definition hal_klad_reg.h:367
unsigned int kl_fp_lock_stat
Definition hal_klad_reg.h:370
unsigned int reserved_0
Definition hal_klad_reg.h:371
unsigned int u32
Definition hal_klad_reg.h:375
Definition hal_klad_reg.h:379
unsigned int kl_fp_rk_sel
Definition hal_klad_reg.h:382
unsigned int reserved_0
Definition hal_klad_reg.h:383
unsigned int u32
Definition hal_klad_reg.h:387
Definition hal_klad_reg.h:406
unsigned int u32
Definition hal_klad_reg.h:416
unsigned int reserved_0
Definition hal_klad_reg.h:412
unsigned int kl_fp_lv1_enc_rdy
Definition hal_klad_reg.h:410
unsigned int kl_fp_rk_rdy
Definition hal_klad_reg.h:409
unsigned int kl_fp_lv1_dec_rdy
Definition hal_klad_reg.h:411
Definition hal_klad_reg.h:241
unsigned int reserved_0
Definition hal_klad_reg.h:245
unsigned int key_addr
Definition hal_klad_reg.h:244
unsigned int u32
Definition hal_klad_reg.h:249
Definition hal_klad_reg.h:253
unsigned int dsc_code
Definition hal_klad_reg.h:258
unsigned int u32
Definition hal_klad_reg.h:267
unsigned int key_enc
Definition hal_klad_reg.h:260
unsigned int key_dec
Definition hal_klad_reg.h:261
unsigned int port_sel
Definition hal_klad_reg.h:256
unsigned int reserved_0
Definition hal_klad_reg.h:257
unsigned int reserved_2
Definition hal_klad_reg.h:263
unsigned int kl_flash_sel
Definition hal_klad_reg.h:262
unsigned int reserved_1
Definition hal_klad_reg.h:259
Definition hal_klad_reg.h:224
unsigned int src_nsec
Definition hal_klad_reg.h:228
unsigned int reserved_0
Definition hal_klad_reg.h:233
unsigned int src_sec
Definition hal_klad_reg.h:229
unsigned int master_only
Definition hal_klad_reg.h:232
unsigned int key_sec
Definition hal_klad_reg.h:227
unsigned int dest_nsec
Definition hal_klad_reg.h:230
unsigned int dest_sec
Definition hal_klad_reg.h:231
unsigned int u32
Definition hal_klad_reg.h:237
Definition hal_klad_reg.h:137
unsigned int reserved_1
Definition hal_klad_reg.h:143
unsigned int kl_lock_num
Definition hal_klad_reg.h:142
unsigned int reserved_0
Definition hal_klad_reg.h:141
unsigned int u32
Definition hal_klad_reg.h:147
unsigned int kl_lock
Definition hal_klad_reg.h:140
Definition hal_klad_reg.h:286
unsigned int reserved_1
Definition hal_klad_reg.h:292
unsigned int reserved_0
Definition hal_klad_reg.h:290
unsigned int kl_nonce_alg_sel
Definition hal_klad_reg.h:291
unsigned int kl_nonce_start
Definition hal_klad_reg.h:289
unsigned int u32
Definition hal_klad_reg.h:295
Definition hal_klad_reg.h:299
unsigned int kl_nonce_lvl2_rdy
Definition hal_klad_reg.h:304
unsigned int u32
Definition hal_klad_reg.h:309
unsigned int kl_nonce_rk_rdy
Definition hal_klad_reg.h:302
unsigned int kl_nonce_lvl1_rdy
Definition hal_klad_reg.h:303
unsigned int reserved_0
Definition hal_klad_reg.h:305
Definition hal_klad_reg.h:459
unsigned int kl_ta_level_sel
Definition hal_klad_reg.h:463
unsigned int reserved_0
Definition hal_klad_reg.h:464
unsigned int kl_ta_cur_128bit_cnt
Definition hal_klad_reg.h:465
unsigned int kl_ta_lut_alg_sel
Definition hal_klad_reg.h:467
unsigned int kl_ta_last_time
Definition hal_klad_reg.h:466
unsigned int reserved_1
Definition hal_klad_reg.h:468
unsigned int u32
Definition hal_klad_reg.h:472
unsigned int kl_ta_start
Definition hal_klad_reg.h:462
Definition hal_klad_reg.h:433
unsigned int kl_ta_unlock_fail
Definition hal_klad_reg.h:438
unsigned int kl_ta_lock_busy
Definition hal_klad_reg.h:436
unsigned int reserved_0
Definition hal_klad_reg.h:439
unsigned int kl_ta_lock_fail
Definition hal_klad_reg.h:437
unsigned int u32
Definition hal_klad_reg.h:443
Definition hal_klad_reg.h:447
unsigned int u32
Definition hal_klad_reg.h:455
unsigned int reserved_0
Definition hal_klad_reg.h:451
unsigned int kl_ta_lock_stat
Definition hal_klad_reg.h:450
Definition hal_klad_reg.h:476
unsigned int kl_ta_f_bc_rdy
Definition hal_klad_reg.h:485
unsigned int kl_ta_lvl1_rdy
Definition hal_klad_reg.h:480
unsigned int kl_ta_f_m_rdy
Definition hal_klad_reg.h:484
unsigned int kl_ta_rk_rdy
Definition hal_klad_reg.h:479
unsigned int kl_ta_lvl3_rdy
Definition hal_klad_reg.h:482
unsigned int reserved_0
Definition hal_klad_reg.h:486
unsigned int kl_ta_lvl2_rdy
Definition hal_klad_reg.h:481
unsigned int kl_ta_f_lut_rdy
Definition hal_klad_reg.h:483
unsigned int u32
Definition hal_klad_reg.h:490
Definition hal_klad_reg.h:179
unsigned int u32
Definition hal_klad_reg.h:191
unsigned int kl_unlock_num
Definition hal_klad_reg.h:184
unsigned int reserved_2
Definition hal_klad_reg.h:187
unsigned int reserved_1
Definition hal_klad_reg.h:185
unsigned int kl_unlock
Definition hal_klad_reg.h:182
unsigned int kl_com_unlock_num
Definition hal_klad_reg.h:186
unsigned int reserved_0
Definition hal_klad_reg.h:183
Definition hal_klad_reg.h:271
unsigned int kl_clr_key_size
Definition hal_klad_reg.h:276
unsigned int kl_clr_key_cnt
Definition hal_klad_reg.h:278
unsigned int reserved_1
Definition hal_klad_reg.h:277
unsigned int u32
Definition hal_klad_reg.h:282
unsigned int reserved_0
Definition hal_klad_reg.h:275
unsigned int reserved_2
Definition hal_klad_reg.h:279
unsigned int kl_clr_start
Definition hal_klad_reg.h:274
Definition hal_klad_reg.h:195
unsigned int kl_com_key_size
Definition hal_klad_reg.h:201
unsigned int u32
Definition hal_klad_reg.h:207
unsigned int reserved_1
Definition hal_klad_reg.h:203
unsigned int rk_choose
Definition hal_klad_reg.h:202
unsigned int kl_com_alg_sel
Definition hal_klad_reg.h:200
unsigned int kl_com_level_sel
Definition hal_klad_reg.h:199
unsigned int kl_com_start
Definition hal_klad_reg.h:198
Definition hal_klad_reg.h:211
unsigned int kl_com_rk_rdy
Definition hal_klad_reg.h:214
unsigned int reserved_0
Definition hal_klad_reg.h:216
unsigned int kl_com_lv1_rdy
Definition hal_klad_reg.h:215
unsigned int u32
Definition hal_klad_reg.h:220
Definition hal_klad_reg.h:603
unsigned int u32
Definition hal_klad_reg.h:610
unsigned int kl_int_en
Definition hal_klad_reg.h:606
unsigned int reserved
Definition hal_klad_reg.h:607
Definition hal_klad_reg.h:625
unsigned int reserved2
Definition hal_klad_reg.h:633
unsigned int kl_int_num
Definition hal_klad_reg.h:630
unsigned int reserved1
Definition hal_klad_reg.h:631
unsigned int com_kl_int_raw
Definition hal_klad_reg.h:628
unsigned int reserved0
Definition hal_klad_reg.h:629
unsigned int u32
Definition hal_klad_reg.h:636
unsigned int clr_kl_int_raw
Definition hal_klad_reg.h:632
Definition hal_klad_reg.h:614
unsigned int u32
Definition hal_klad_reg.h:621
unsigned int reserved
Definition hal_klad_reg.h:618
unsigned int kl_int
Definition hal_klad_reg.h:617
Definition hal_klad_reg.h:580
unsigned int u32
Definition hal_klad_reg.h:588
unsigned int sbrk1_disable
Definition hal_klad_reg.h:584
unsigned int sbrk0_disable
Definition hal_klad_reg.h:583
unsigned int reserved
Definition hal_klad_reg.h:585