Pavona Software APIs
acc_regs.h
Go to the documentation of this file.
1/**
2 * @file
3 * @brief Generated register defines for acc
4 */
5
6// Copyright information found in source file:
7// Copyright lowRISC contributors (OpenTitan project).Copyright "Towards ML-KEM & ML-DSA on OpenTitan" Authors
8
9// Licensing information found in source file:
10// Licensed under the Apache License, Version 2.0, see LICENSE for details.
11// SPDX-License-Identifier: Apache-2.0
12
13#ifndef _ACC_REG_DEFS_
14#define _ACC_REG_DEFS_
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19// Number of alerts
20#define ACC_PARAM_NUM_ALERTS 2
21
22// Register width
23#define ACC_PARAM_REG_WIDTH 32
24
25// Common Interrupt Offsets
26#define ACC_INTR_COMMON_DONE_BIT 0
27
28// Interrupt State Register
29#define ACC_INTR_STATE_REG_OFFSET 0x0
30#define ACC_INTR_STATE_REG_RESVAL 0x0u
31#define ACC_INTR_STATE_DONE_BIT 0
32
33// Interrupt Enable Register
34#define ACC_INTR_ENABLE_REG_OFFSET 0x4
35#define ACC_INTR_ENABLE_REG_RESVAL 0x0u
36#define ACC_INTR_ENABLE_DONE_BIT 0
37
38// Interrupt Test Register
39#define ACC_INTR_TEST_REG_OFFSET 0x8
40#define ACC_INTR_TEST_REG_RESVAL 0x0u
41#define ACC_INTR_TEST_DONE_BIT 0
42
43// Alert Test Register
44#define ACC_ALERT_TEST_REG_OFFSET 0xc
45#define ACC_ALERT_TEST_REG_RESVAL 0x0u
46#define ACC_ALERT_TEST_FATAL_BIT 0
47#define ACC_ALERT_TEST_RECOV_BIT 1
48
49// Command Register
50#define ACC_CMD_REG_OFFSET 0x10
51#define ACC_CMD_REG_RESVAL 0x0u
52#define ACC_CMD_CMD_MASK 0xffu
53#define ACC_CMD_CMD_OFFSET 0
54#define ACC_CMD_CMD_FIELD \
55 ((bitfield_field32_t) { .mask = ACC_CMD_CMD_MASK, .index = ACC_CMD_CMD_OFFSET })
56
57// Control Register
58#define ACC_CTRL_REG_OFFSET 0x14
59#define ACC_CTRL_REG_RESVAL 0x0u
60#define ACC_CTRL_SOFTWARE_ERRS_FATAL_BIT 0
61
62// Status Register
63#define ACC_STATUS_REG_OFFSET 0x18
64#define ACC_STATUS_REG_RESVAL 0x4u
65#define ACC_STATUS_STATUS_MASK 0xffu
66#define ACC_STATUS_STATUS_OFFSET 0
67#define ACC_STATUS_STATUS_FIELD \
68 ((bitfield_field32_t) { .mask = ACC_STATUS_STATUS_MASK, .index = ACC_STATUS_STATUS_OFFSET })
69
70// Operation Result Register
71#define ACC_ERR_BITS_REG_OFFSET 0x1c
72#define ACC_ERR_BITS_REG_RESVAL 0x0u
73#define ACC_ERR_BITS_BAD_DATA_ADDR_BIT 0
74#define ACC_ERR_BITS_BAD_INSN_ADDR_BIT 1
75#define ACC_ERR_BITS_CALL_STACK_BIT 2
76#define ACC_ERR_BITS_ILLEGAL_INSN_BIT 3
77#define ACC_ERR_BITS_LOOP_BIT 4
78#define ACC_ERR_BITS_KEY_INVALID_BIT 5
79#define ACC_ERR_BITS_RND_REP_CHK_FAIL_BIT 6
80#define ACC_ERR_BITS_RND_FIPS_CHK_FAIL_BIT 7
81#define ACC_ERR_BITS_KMAC_RECOV_ERROR_BIT 8
82#define ACC_ERR_BITS_IMEM_INTG_VIOLATION_BIT 16
83#define ACC_ERR_BITS_DMEM_INTG_VIOLATION_BIT 17
84#define ACC_ERR_BITS_REG_INTG_VIOLATION_BIT 18
85#define ACC_ERR_BITS_BUS_INTG_VIOLATION_BIT 19
86#define ACC_ERR_BITS_BAD_INTERNAL_STATE_BIT 20
87#define ACC_ERR_BITS_ILLEGAL_BUS_ACCESS_BIT 21
88#define ACC_ERR_BITS_LIFECYCLE_ESCALATION_BIT 22
89#define ACC_ERR_BITS_FATAL_SOFTWARE_BIT 23
90#define ACC_ERR_BITS_KMAC_FATAL_ERROR_BIT 24
91
92// Fatal Alert Cause Register
93#define ACC_FATAL_ALERT_CAUSE_REG_OFFSET 0x20
94#define ACC_FATAL_ALERT_CAUSE_REG_RESVAL 0x0u
95#define ACC_FATAL_ALERT_CAUSE_IMEM_INTG_VIOLATION_BIT 0
96#define ACC_FATAL_ALERT_CAUSE_DMEM_INTG_VIOLATION_BIT 1
97#define ACC_FATAL_ALERT_CAUSE_REG_INTG_VIOLATION_BIT 2
98#define ACC_FATAL_ALERT_CAUSE_BUS_INTG_VIOLATION_BIT 3
99#define ACC_FATAL_ALERT_CAUSE_BAD_INTERNAL_STATE_BIT 4
100#define ACC_FATAL_ALERT_CAUSE_ILLEGAL_BUS_ACCESS_BIT 5
101#define ACC_FATAL_ALERT_CAUSE_LIFECYCLE_ESCALATION_BIT 6
102#define ACC_FATAL_ALERT_CAUSE_FATAL_SOFTWARE_BIT 7
103#define ACC_FATAL_ALERT_CAUSE_KMAC_FATAL_ERROR_BIT 8
104
105// Instruction Count Register
106#define ACC_INSN_CNT_REG_OFFSET 0x24
107#define ACC_INSN_CNT_REG_RESVAL 0x0u
108
109// A 32-bit CRC checksum of data written to memory
110#define ACC_LOAD_CHECKSUM_REG_OFFSET 0x28
111#define ACC_LOAD_CHECKSUM_REG_RESVAL 0x0u
112
113// Memory area: Instruction Memory Access
114#define ACC_IMEM_REG_OFFSET 0x8000
115#define ACC_IMEM_SIZE_WORDS 8192
116#define ACC_IMEM_SIZE_BYTES 32768
117// Memory area: Data Memory Access
118#define ACC_DMEM_REG_OFFSET 0x18000
119#define ACC_DMEM_SIZE_WORDS 7936
120#define ACC_DMEM_SIZE_BYTES 31744
121#ifdef __cplusplus
122} // extern "C"
123#endif
124#endif // _ACC_REG_DEFS_
125// End generated register defines for acc