 |
Software APIs
|
Go to the documentation of this file.
13#ifndef _OTBN_REG_DEFS_
14#define _OTBN_REG_DEFS_
20#define OTBN_PARAM_NUM_ALERTS 2
23#define OTBN_PARAM_REG_WIDTH 32
26#define OTBN_INTR_COMMON_DONE_BIT 0
29#define OTBN_INTR_STATE_REG_OFFSET 0x0
30#define OTBN_INTR_STATE_REG_RESVAL 0x0u
31#define OTBN_INTR_STATE_DONE_BIT 0
34#define OTBN_INTR_ENABLE_REG_OFFSET 0x4
35#define OTBN_INTR_ENABLE_REG_RESVAL 0x0u
36#define OTBN_INTR_ENABLE_DONE_BIT 0
39#define OTBN_INTR_TEST_REG_OFFSET 0x8
40#define OTBN_INTR_TEST_REG_RESVAL 0x0u
41#define OTBN_INTR_TEST_DONE_BIT 0
44#define OTBN_ALERT_TEST_REG_OFFSET 0xc
45#define OTBN_ALERT_TEST_REG_RESVAL 0x0u
46#define OTBN_ALERT_TEST_FATAL_BIT 0
47#define OTBN_ALERT_TEST_RECOV_BIT 1
50#define OTBN_CMD_REG_OFFSET 0x10
51#define OTBN_CMD_REG_RESVAL 0x0u
52#define OTBN_CMD_CMD_MASK 0xffu
53#define OTBN_CMD_CMD_OFFSET 0
54#define OTBN_CMD_CMD_FIELD \
55 ((bitfield_field32_t) { .mask = OTBN_CMD_CMD_MASK, .index = OTBN_CMD_CMD_OFFSET })
58#define OTBN_CTRL_REG_OFFSET 0x14
59#define OTBN_CTRL_REG_RESVAL 0x0u
60#define OTBN_CTRL_SOFTWARE_ERRS_FATAL_BIT 0
61#define OTBN_CTRL_WFI_ENABLED_BIT 1
62#define OTBN_CTRL_URND_CTRL_ENABLED_BIT 2
65#define OTBN_STATUS_REG_OFFSET 0x18
66#define OTBN_STATUS_REG_RESVAL 0x4u
67#define OTBN_STATUS_STATUS_MASK 0xffu
68#define OTBN_STATUS_STATUS_OFFSET 0
69#define OTBN_STATUS_STATUS_FIELD \
70 ((bitfield_field32_t) { .mask = OTBN_STATUS_STATUS_MASK, .index = OTBN_STATUS_STATUS_OFFSET })
73#define OTBN_ERR_BITS_REG_OFFSET 0x1c
74#define OTBN_ERR_BITS_REG_RESVAL 0x0u
75#define OTBN_ERR_BITS_BAD_DATA_ADDR_BIT 0
76#define OTBN_ERR_BITS_BAD_INSN_ADDR_BIT 1
77#define OTBN_ERR_BITS_CALL_STACK_BIT 2
78#define OTBN_ERR_BITS_ILLEGAL_INSN_BIT 3
79#define OTBN_ERR_BITS_LOOP_BIT 4
80#define OTBN_ERR_BITS_KEY_INVALID_BIT 5
81#define OTBN_ERR_BITS_RND_REP_CHK_FAIL_BIT 6
82#define OTBN_ERR_BITS_RND_FIPS_CHK_FAIL_BIT 7
83#define OTBN_ERR_BITS_MAI_SOFTWARE_ERROR_BIT 8
84#define OTBN_ERR_BITS_IMEM_INTG_VIOLATION_BIT 16
85#define OTBN_ERR_BITS_DMEM_INTG_VIOLATION_BIT 17
86#define OTBN_ERR_BITS_REG_INTG_VIOLATION_BIT 18
87#define OTBN_ERR_BITS_BUS_INTG_VIOLATION_BIT 19
88#define OTBN_ERR_BITS_BAD_INTERNAL_STATE_BIT 20
89#define OTBN_ERR_BITS_ILLEGAL_BUS_ACCESS_BIT 21
90#define OTBN_ERR_BITS_LIFECYCLE_ESCALATION_BIT 22
91#define OTBN_ERR_BITS_FATAL_SOFTWARE_BIT 23
94#define OTBN_FATAL_ALERT_CAUSE_REG_OFFSET 0x20
95#define OTBN_FATAL_ALERT_CAUSE_REG_RESVAL 0x0u
96#define OTBN_FATAL_ALERT_CAUSE_IMEM_INTG_VIOLATION_BIT 0
97#define OTBN_FATAL_ALERT_CAUSE_DMEM_INTG_VIOLATION_BIT 1
98#define OTBN_FATAL_ALERT_CAUSE_REG_INTG_VIOLATION_BIT 2
99#define OTBN_FATAL_ALERT_CAUSE_BUS_INTG_VIOLATION_BIT 3
100#define OTBN_FATAL_ALERT_CAUSE_BAD_INTERNAL_STATE_BIT 4
101#define OTBN_FATAL_ALERT_CAUSE_ILLEGAL_BUS_ACCESS_BIT 5
102#define OTBN_FATAL_ALERT_CAUSE_LIFECYCLE_ESCALATION_BIT 6
103#define OTBN_FATAL_ALERT_CAUSE_FATAL_SOFTWARE_BIT 7
106#define OTBN_INSN_CNT_REG_OFFSET 0x24
107#define OTBN_INSN_CNT_REG_RESVAL 0x0u
110#define OTBN_LOAD_CHECKSUM_REG_OFFSET 0x28
111#define OTBN_LOAD_CHECKSUM_REG_RESVAL 0x0u
114#define OTBN_IMEM_REG_OFFSET 0x4000
115#define OTBN_IMEM_SIZE_WORDS 4096
116#define OTBN_IMEM_SIZE_BYTES 16384
118#define OTBN_DMEM_REG_OFFSET 0x8000
119#define OTBN_DMEM_SIZE_WORDS 4096
120#define OTBN_DMEM_SIZE_BYTES 16384