Software APIs
rram_ctrl_regs.h
Go to the documentation of this file.
1/**
2 * @file
3 * @brief Generated register defines for rram_ctrl
4 */
5
6// Copyright information found in source file:
7// Copyright lowRISC contributors (OpenTitan project).
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 _RRAM_CTRL_REG_DEFS_
14#define _RRAM_CTRL_REG_DEFS_
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19// Constant value that enables RRAM execution
20#define RRAM_CTRL_PARAM_EXEC_EN 2724870391
21
22// Number of configurable rram regions
23#define RRAM_CTRL_PARAM_NUM_REGIONS 10
24
25// Number of info pages
26#define RRAM_CTRL_PARAM_NUM_INFO_PAGES 8
27
28// Number of data pages
29#define RRAM_CTRL_PARAM_NUM_DATA_PAGES 4096
30
31// Number of data pages reserved for OTP
32#define RRAM_CTRL_PARAM_NUM_OTP_PAGES 5
33
34// Number of words per page
35#define RRAM_CTRL_PARAM_WORDS_PER_PAGE 32
36
37// Number of bytes per word
38#define RRAM_CTRL_PARAM_BYTES_PER_WORD 16
39
40// Number of bytes per page
41#define RRAM_CTRL_PARAM_BYTES_PER_PAGE 512
42
43// Number of alerts
44#define RRAM_CTRL_PARAM_NUM_ALERTS 5
45
46// Register width
47#define RRAM_CTRL_PARAM_REG_WIDTH 32
48
49// Common Interrupt Offsets
50#define RRAM_CTRL_INTR_COMMON_WR_EMPTY_BIT 0
51#define RRAM_CTRL_INTR_COMMON_WR_LVL_BIT 1
52#define RRAM_CTRL_INTR_COMMON_RD_FULL_BIT 2
53#define RRAM_CTRL_INTR_COMMON_RD_LVL_BIT 3
54#define RRAM_CTRL_INTR_COMMON_OP_DONE_BIT 4
55#define RRAM_CTRL_INTR_COMMON_CORR_ERR_BIT 5
56
57// Interrupt State Register
58#define RRAM_CTRL_INTR_STATE_REG_OFFSET 0x0
59#define RRAM_CTRL_INTR_STATE_REG_RESVAL 0x3u
60#define RRAM_CTRL_INTR_STATE_WR_EMPTY_BIT 0
61#define RRAM_CTRL_INTR_STATE_WR_LVL_BIT 1
62#define RRAM_CTRL_INTR_STATE_RD_FULL_BIT 2
63#define RRAM_CTRL_INTR_STATE_RD_LVL_BIT 3
64#define RRAM_CTRL_INTR_STATE_OP_DONE_BIT 4
65#define RRAM_CTRL_INTR_STATE_CORR_ERR_BIT 5
66
67// Interrupt Enable Register
68#define RRAM_CTRL_INTR_ENABLE_REG_OFFSET 0x4
69#define RRAM_CTRL_INTR_ENABLE_REG_RESVAL 0x0u
70#define RRAM_CTRL_INTR_ENABLE_WR_EMPTY_BIT 0
71#define RRAM_CTRL_INTR_ENABLE_WR_LVL_BIT 1
72#define RRAM_CTRL_INTR_ENABLE_RD_FULL_BIT 2
73#define RRAM_CTRL_INTR_ENABLE_RD_LVL_BIT 3
74#define RRAM_CTRL_INTR_ENABLE_OP_DONE_BIT 4
75#define RRAM_CTRL_INTR_ENABLE_CORR_ERR_BIT 5
76
77// Interrupt Test Register
78#define RRAM_CTRL_INTR_TEST_REG_OFFSET 0x8
79#define RRAM_CTRL_INTR_TEST_REG_RESVAL 0x0u
80#define RRAM_CTRL_INTR_TEST_WR_EMPTY_BIT 0
81#define RRAM_CTRL_INTR_TEST_WR_LVL_BIT 1
82#define RRAM_CTRL_INTR_TEST_RD_FULL_BIT 2
83#define RRAM_CTRL_INTR_TEST_RD_LVL_BIT 3
84#define RRAM_CTRL_INTR_TEST_OP_DONE_BIT 4
85#define RRAM_CTRL_INTR_TEST_CORR_ERR_BIT 5
86
87// Alert Test Register
88#define RRAM_CTRL_ALERT_TEST_REG_OFFSET 0xc
89#define RRAM_CTRL_ALERT_TEST_REG_RESVAL 0x0u
90#define RRAM_CTRL_ALERT_TEST_RECOV_ERR_BIT 0
91#define RRAM_CTRL_ALERT_TEST_FATAL_STD_ERR_BIT 1
92#define RRAM_CTRL_ALERT_TEST_FATAL_ERR_BIT 2
93#define RRAM_CTRL_ALERT_TEST_FATAL_MACRO_ERR_BIT 3
94#define RRAM_CTRL_ALERT_TEST_RECOV_MACRO_ERR_BIT 4
95
96// Disable RRAM functionality
97#define RRAM_CTRL_DIS_REG_OFFSET 0x10
98#define RRAM_CTRL_DIS_REG_RESVAL 0x99u
99#define RRAM_CTRL_DIS_SW_DIS_MASK 0xfu
100#define RRAM_CTRL_DIS_SW_DIS_OFFSET 0
101#define RRAM_CTRL_DIS_SW_DIS_FIELD \
102 ((bitfield_field32_t) { .mask = RRAM_CTRL_DIS_SW_DIS_MASK, .index = RRAM_CTRL_DIS_SW_DIS_OFFSET })
103#define RRAM_CTRL_DIS_RELBL_ERR_FATAL_MASK 0xfu
104#define RRAM_CTRL_DIS_RELBL_ERR_FATAL_OFFSET 4
105#define RRAM_CTRL_DIS_RELBL_ERR_FATAL_FIELD \
106 ((bitfield_field32_t) { .mask = RRAM_CTRL_DIS_RELBL_ERR_FATAL_MASK, .index = RRAM_CTRL_DIS_RELBL_ERR_FATAL_OFFSET })
107
108// Controls whether RRAM can be used for code execution fetches
109#define RRAM_CTRL_EXEC_REG_OFFSET 0x14
110#define RRAM_CTRL_EXEC_REG_RESVAL 0x0u
111
112// Controller init register
113#define RRAM_CTRL_INIT_REG_OFFSET 0x18
114#define RRAM_CTRL_INIT_REG_RESVAL 0x0u
115#define RRAM_CTRL_INIT_VAL_BIT 0
116
117// Controls the configurability of the !!CONTROL register.
118#define RRAM_CTRL_CTRL_REGWEN_REG_OFFSET 0x1c
119#define RRAM_CTRL_CTRL_REGWEN_REG_RESVAL 0x1u
120#define RRAM_CTRL_CTRL_REGWEN_EN_BIT 0
121
122// Control register
123#define RRAM_CTRL_CONTROL_REG_OFFSET 0x20
124#define RRAM_CTRL_CONTROL_REG_RESVAL 0x0u
125#define RRAM_CTRL_CONTROL_START_BIT 0
126#define RRAM_CTRL_CONTROL_OP_MASK 0x3u
127#define RRAM_CTRL_CONTROL_OP_OFFSET 4
128#define RRAM_CTRL_CONTROL_OP_FIELD \
129 ((bitfield_field32_t) { .mask = RRAM_CTRL_CONTROL_OP_MASK, .index = RRAM_CTRL_CONTROL_OP_OFFSET })
130#define RRAM_CTRL_CONTROL_OP_VALUE_READ 0x0
131#define RRAM_CTRL_CONTROL_OP_VALUE_WRITE 0x1
132#define RRAM_CTRL_CONTROL_OP_VALUE_REWRITE 0x2
133#define RRAM_CTRL_CONTROL_PARTITION_BIT 8
134#define RRAM_CTRL_CONTROL_NUM_MASK 0x3ffu
135#define RRAM_CTRL_CONTROL_NUM_OFFSET 16
136#define RRAM_CTRL_CONTROL_NUM_FIELD \
137 ((bitfield_field32_t) { .mask = RRAM_CTRL_CONTROL_NUM_MASK, .index = RRAM_CTRL_CONTROL_NUM_OFFSET })
138
139// Address for RRAM operation
140#define RRAM_CTRL_ADDR_REG_OFFSET 0x24
141#define RRAM_CTRL_ADDR_REG_RESVAL 0x0u
142#define RRAM_CTRL_ADDR_START_MASK 0x1fffffu
143#define RRAM_CTRL_ADDR_START_OFFSET 0
144#define RRAM_CTRL_ADDR_START_FIELD \
145 ((bitfield_field32_t) { .mask = RRAM_CTRL_ADDR_START_MASK, .index = RRAM_CTRL_ADDR_START_OFFSET })
146
147// Memory region registers configuration enable. (common parameters)
148#define RRAM_CTRL_REGION_CFG_REGWEN_REGION_FIELD_WIDTH 1
149#define RRAM_CTRL_REGION_CFG_REGWEN_MULTIREG_COUNT 10
150
151// Memory region registers configuration enable.
152#define RRAM_CTRL_REGION_CFG_REGWEN_0_REG_OFFSET 0x28
153#define RRAM_CTRL_REGION_CFG_REGWEN_0_REG_RESVAL 0x1u
154#define RRAM_CTRL_REGION_CFG_REGWEN_0_REGION_0_BIT 0
155#define RRAM_CTRL_REGION_CFG_REGWEN_0_REGION_0_VALUE_REGION_LOCKED 0x0
156#define RRAM_CTRL_REGION_CFG_REGWEN_0_REGION_0_VALUE_REGION_ENABLED 0x1
157
158// Memory region registers configuration enable.
159#define RRAM_CTRL_REGION_CFG_REGWEN_1_REG_OFFSET 0x2c
160#define RRAM_CTRL_REGION_CFG_REGWEN_1_REG_RESVAL 0x1u
161#define RRAM_CTRL_REGION_CFG_REGWEN_1_REGION_1_BIT 0
162
163// Memory region registers configuration enable.
164#define RRAM_CTRL_REGION_CFG_REGWEN_2_REG_OFFSET 0x30
165#define RRAM_CTRL_REGION_CFG_REGWEN_2_REG_RESVAL 0x1u
166#define RRAM_CTRL_REGION_CFG_REGWEN_2_REGION_2_BIT 0
167
168// Memory region registers configuration enable.
169#define RRAM_CTRL_REGION_CFG_REGWEN_3_REG_OFFSET 0x34
170#define RRAM_CTRL_REGION_CFG_REGWEN_3_REG_RESVAL 0x1u
171#define RRAM_CTRL_REGION_CFG_REGWEN_3_REGION_3_BIT 0
172
173// Memory region registers configuration enable.
174#define RRAM_CTRL_REGION_CFG_REGWEN_4_REG_OFFSET 0x38
175#define RRAM_CTRL_REGION_CFG_REGWEN_4_REG_RESVAL 0x1u
176#define RRAM_CTRL_REGION_CFG_REGWEN_4_REGION_4_BIT 0
177
178// Memory region registers configuration enable.
179#define RRAM_CTRL_REGION_CFG_REGWEN_5_REG_OFFSET 0x3c
180#define RRAM_CTRL_REGION_CFG_REGWEN_5_REG_RESVAL 0x1u
181#define RRAM_CTRL_REGION_CFG_REGWEN_5_REGION_5_BIT 0
182
183// Memory region registers configuration enable.
184#define RRAM_CTRL_REGION_CFG_REGWEN_6_REG_OFFSET 0x40
185#define RRAM_CTRL_REGION_CFG_REGWEN_6_REG_RESVAL 0x1u
186#define RRAM_CTRL_REGION_CFG_REGWEN_6_REGION_6_BIT 0
187
188// Memory region registers configuration enable.
189#define RRAM_CTRL_REGION_CFG_REGWEN_7_REG_OFFSET 0x44
190#define RRAM_CTRL_REGION_CFG_REGWEN_7_REG_RESVAL 0x1u
191#define RRAM_CTRL_REGION_CFG_REGWEN_7_REGION_7_BIT 0
192
193// Memory region registers configuration enable.
194#define RRAM_CTRL_REGION_CFG_REGWEN_8_REG_OFFSET 0x48
195#define RRAM_CTRL_REGION_CFG_REGWEN_8_REG_RESVAL 0x1u
196#define RRAM_CTRL_REGION_CFG_REGWEN_8_REGION_8_BIT 0
197
198// Memory region registers configuration enable.
199#define RRAM_CTRL_REGION_CFG_REGWEN_9_REG_OFFSET 0x4c
200#define RRAM_CTRL_REGION_CFG_REGWEN_9_REG_RESVAL 0x1u
201#define RRAM_CTRL_REGION_CFG_REGWEN_9_REGION_9_BIT 0
202
203// Memory property configuration for data partition (common parameters)
204#define RRAM_CTRL_MP_REGION_CFG_EN_FIELD_WIDTH 4
205#define RRAM_CTRL_MP_REGION_CFG_RD_EN_FIELD_WIDTH 4
206#define RRAM_CTRL_MP_REGION_CFG_WR_EN_FIELD_WIDTH 4
207#define RRAM_CTRL_MP_REGION_CFG_SCRAMBLE_EN_FIELD_WIDTH 4
208#define RRAM_CTRL_MP_REGION_CFG_ECC_EN_FIELD_WIDTH 4
209#define RRAM_CTRL_MP_REGION_CFG_MULTIREG_COUNT 10
210
211// Memory property configuration for data partition
212#define RRAM_CTRL_MP_REGION_CFG_0_REG_OFFSET 0x50
213#define RRAM_CTRL_MP_REGION_CFG_0_REG_RESVAL 0x99999u
214#define RRAM_CTRL_MP_REGION_CFG_0_EN_0_MASK 0xfu
215#define RRAM_CTRL_MP_REGION_CFG_0_EN_0_OFFSET 0
216#define RRAM_CTRL_MP_REGION_CFG_0_EN_0_FIELD \
217 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_0_EN_0_MASK, .index = RRAM_CTRL_MP_REGION_CFG_0_EN_0_OFFSET })
218#define RRAM_CTRL_MP_REGION_CFG_0_RD_EN_0_MASK 0xfu
219#define RRAM_CTRL_MP_REGION_CFG_0_RD_EN_0_OFFSET 4
220#define RRAM_CTRL_MP_REGION_CFG_0_RD_EN_0_FIELD \
221 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_0_RD_EN_0_MASK, .index = RRAM_CTRL_MP_REGION_CFG_0_RD_EN_0_OFFSET })
222#define RRAM_CTRL_MP_REGION_CFG_0_WR_EN_0_MASK 0xfu
223#define RRAM_CTRL_MP_REGION_CFG_0_WR_EN_0_OFFSET 8
224#define RRAM_CTRL_MP_REGION_CFG_0_WR_EN_0_FIELD \
225 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_0_WR_EN_0_MASK, .index = RRAM_CTRL_MP_REGION_CFG_0_WR_EN_0_OFFSET })
226#define RRAM_CTRL_MP_REGION_CFG_0_SCRAMBLE_EN_0_MASK 0xfu
227#define RRAM_CTRL_MP_REGION_CFG_0_SCRAMBLE_EN_0_OFFSET 12
228#define RRAM_CTRL_MP_REGION_CFG_0_SCRAMBLE_EN_0_FIELD \
229 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_0_SCRAMBLE_EN_0_MASK, .index = RRAM_CTRL_MP_REGION_CFG_0_SCRAMBLE_EN_0_OFFSET })
230#define RRAM_CTRL_MP_REGION_CFG_0_ECC_EN_0_MASK 0xfu
231#define RRAM_CTRL_MP_REGION_CFG_0_ECC_EN_0_OFFSET 16
232#define RRAM_CTRL_MP_REGION_CFG_0_ECC_EN_0_FIELD \
233 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_0_ECC_EN_0_MASK, .index = RRAM_CTRL_MP_REGION_CFG_0_ECC_EN_0_OFFSET })
234
235// Memory property configuration for data partition
236#define RRAM_CTRL_MP_REGION_CFG_1_REG_OFFSET 0x54
237#define RRAM_CTRL_MP_REGION_CFG_1_REG_RESVAL 0x99999u
238#define RRAM_CTRL_MP_REGION_CFG_1_EN_1_MASK 0xfu
239#define RRAM_CTRL_MP_REGION_CFG_1_EN_1_OFFSET 0
240#define RRAM_CTRL_MP_REGION_CFG_1_EN_1_FIELD \
241 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_1_EN_1_MASK, .index = RRAM_CTRL_MP_REGION_CFG_1_EN_1_OFFSET })
242#define RRAM_CTRL_MP_REGION_CFG_1_RD_EN_1_MASK 0xfu
243#define RRAM_CTRL_MP_REGION_CFG_1_RD_EN_1_OFFSET 4
244#define RRAM_CTRL_MP_REGION_CFG_1_RD_EN_1_FIELD \
245 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_1_RD_EN_1_MASK, .index = RRAM_CTRL_MP_REGION_CFG_1_RD_EN_1_OFFSET })
246#define RRAM_CTRL_MP_REGION_CFG_1_WR_EN_1_MASK 0xfu
247#define RRAM_CTRL_MP_REGION_CFG_1_WR_EN_1_OFFSET 8
248#define RRAM_CTRL_MP_REGION_CFG_1_WR_EN_1_FIELD \
249 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_1_WR_EN_1_MASK, .index = RRAM_CTRL_MP_REGION_CFG_1_WR_EN_1_OFFSET })
250#define RRAM_CTRL_MP_REGION_CFG_1_SCRAMBLE_EN_1_MASK 0xfu
251#define RRAM_CTRL_MP_REGION_CFG_1_SCRAMBLE_EN_1_OFFSET 12
252#define RRAM_CTRL_MP_REGION_CFG_1_SCRAMBLE_EN_1_FIELD \
253 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_1_SCRAMBLE_EN_1_MASK, .index = RRAM_CTRL_MP_REGION_CFG_1_SCRAMBLE_EN_1_OFFSET })
254#define RRAM_CTRL_MP_REGION_CFG_1_ECC_EN_1_MASK 0xfu
255#define RRAM_CTRL_MP_REGION_CFG_1_ECC_EN_1_OFFSET 16
256#define RRAM_CTRL_MP_REGION_CFG_1_ECC_EN_1_FIELD \
257 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_1_ECC_EN_1_MASK, .index = RRAM_CTRL_MP_REGION_CFG_1_ECC_EN_1_OFFSET })
258
259// Memory property configuration for data partition
260#define RRAM_CTRL_MP_REGION_CFG_2_REG_OFFSET 0x58
261#define RRAM_CTRL_MP_REGION_CFG_2_REG_RESVAL 0x99999u
262#define RRAM_CTRL_MP_REGION_CFG_2_EN_2_MASK 0xfu
263#define RRAM_CTRL_MP_REGION_CFG_2_EN_2_OFFSET 0
264#define RRAM_CTRL_MP_REGION_CFG_2_EN_2_FIELD \
265 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_2_EN_2_MASK, .index = RRAM_CTRL_MP_REGION_CFG_2_EN_2_OFFSET })
266#define RRAM_CTRL_MP_REGION_CFG_2_RD_EN_2_MASK 0xfu
267#define RRAM_CTRL_MP_REGION_CFG_2_RD_EN_2_OFFSET 4
268#define RRAM_CTRL_MP_REGION_CFG_2_RD_EN_2_FIELD \
269 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_2_RD_EN_2_MASK, .index = RRAM_CTRL_MP_REGION_CFG_2_RD_EN_2_OFFSET })
270#define RRAM_CTRL_MP_REGION_CFG_2_WR_EN_2_MASK 0xfu
271#define RRAM_CTRL_MP_REGION_CFG_2_WR_EN_2_OFFSET 8
272#define RRAM_CTRL_MP_REGION_CFG_2_WR_EN_2_FIELD \
273 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_2_WR_EN_2_MASK, .index = RRAM_CTRL_MP_REGION_CFG_2_WR_EN_2_OFFSET })
274#define RRAM_CTRL_MP_REGION_CFG_2_SCRAMBLE_EN_2_MASK 0xfu
275#define RRAM_CTRL_MP_REGION_CFG_2_SCRAMBLE_EN_2_OFFSET 12
276#define RRAM_CTRL_MP_REGION_CFG_2_SCRAMBLE_EN_2_FIELD \
277 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_2_SCRAMBLE_EN_2_MASK, .index = RRAM_CTRL_MP_REGION_CFG_2_SCRAMBLE_EN_2_OFFSET })
278#define RRAM_CTRL_MP_REGION_CFG_2_ECC_EN_2_MASK 0xfu
279#define RRAM_CTRL_MP_REGION_CFG_2_ECC_EN_2_OFFSET 16
280#define RRAM_CTRL_MP_REGION_CFG_2_ECC_EN_2_FIELD \
281 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_2_ECC_EN_2_MASK, .index = RRAM_CTRL_MP_REGION_CFG_2_ECC_EN_2_OFFSET })
282
283// Memory property configuration for data partition
284#define RRAM_CTRL_MP_REGION_CFG_3_REG_OFFSET 0x5c
285#define RRAM_CTRL_MP_REGION_CFG_3_REG_RESVAL 0x99999u
286#define RRAM_CTRL_MP_REGION_CFG_3_EN_3_MASK 0xfu
287#define RRAM_CTRL_MP_REGION_CFG_3_EN_3_OFFSET 0
288#define RRAM_CTRL_MP_REGION_CFG_3_EN_3_FIELD \
289 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_3_EN_3_MASK, .index = RRAM_CTRL_MP_REGION_CFG_3_EN_3_OFFSET })
290#define RRAM_CTRL_MP_REGION_CFG_3_RD_EN_3_MASK 0xfu
291#define RRAM_CTRL_MP_REGION_CFG_3_RD_EN_3_OFFSET 4
292#define RRAM_CTRL_MP_REGION_CFG_3_RD_EN_3_FIELD \
293 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_3_RD_EN_3_MASK, .index = RRAM_CTRL_MP_REGION_CFG_3_RD_EN_3_OFFSET })
294#define RRAM_CTRL_MP_REGION_CFG_3_WR_EN_3_MASK 0xfu
295#define RRAM_CTRL_MP_REGION_CFG_3_WR_EN_3_OFFSET 8
296#define RRAM_CTRL_MP_REGION_CFG_3_WR_EN_3_FIELD \
297 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_3_WR_EN_3_MASK, .index = RRAM_CTRL_MP_REGION_CFG_3_WR_EN_3_OFFSET })
298#define RRAM_CTRL_MP_REGION_CFG_3_SCRAMBLE_EN_3_MASK 0xfu
299#define RRAM_CTRL_MP_REGION_CFG_3_SCRAMBLE_EN_3_OFFSET 12
300#define RRAM_CTRL_MP_REGION_CFG_3_SCRAMBLE_EN_3_FIELD \
301 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_3_SCRAMBLE_EN_3_MASK, .index = RRAM_CTRL_MP_REGION_CFG_3_SCRAMBLE_EN_3_OFFSET })
302#define RRAM_CTRL_MP_REGION_CFG_3_ECC_EN_3_MASK 0xfu
303#define RRAM_CTRL_MP_REGION_CFG_3_ECC_EN_3_OFFSET 16
304#define RRAM_CTRL_MP_REGION_CFG_3_ECC_EN_3_FIELD \
305 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_3_ECC_EN_3_MASK, .index = RRAM_CTRL_MP_REGION_CFG_3_ECC_EN_3_OFFSET })
306
307// Memory property configuration for data partition
308#define RRAM_CTRL_MP_REGION_CFG_4_REG_OFFSET 0x60
309#define RRAM_CTRL_MP_REGION_CFG_4_REG_RESVAL 0x99999u
310#define RRAM_CTRL_MP_REGION_CFG_4_EN_4_MASK 0xfu
311#define RRAM_CTRL_MP_REGION_CFG_4_EN_4_OFFSET 0
312#define RRAM_CTRL_MP_REGION_CFG_4_EN_4_FIELD \
313 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_4_EN_4_MASK, .index = RRAM_CTRL_MP_REGION_CFG_4_EN_4_OFFSET })
314#define RRAM_CTRL_MP_REGION_CFG_4_RD_EN_4_MASK 0xfu
315#define RRAM_CTRL_MP_REGION_CFG_4_RD_EN_4_OFFSET 4
316#define RRAM_CTRL_MP_REGION_CFG_4_RD_EN_4_FIELD \
317 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_4_RD_EN_4_MASK, .index = RRAM_CTRL_MP_REGION_CFG_4_RD_EN_4_OFFSET })
318#define RRAM_CTRL_MP_REGION_CFG_4_WR_EN_4_MASK 0xfu
319#define RRAM_CTRL_MP_REGION_CFG_4_WR_EN_4_OFFSET 8
320#define RRAM_CTRL_MP_REGION_CFG_4_WR_EN_4_FIELD \
321 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_4_WR_EN_4_MASK, .index = RRAM_CTRL_MP_REGION_CFG_4_WR_EN_4_OFFSET })
322#define RRAM_CTRL_MP_REGION_CFG_4_SCRAMBLE_EN_4_MASK 0xfu
323#define RRAM_CTRL_MP_REGION_CFG_4_SCRAMBLE_EN_4_OFFSET 12
324#define RRAM_CTRL_MP_REGION_CFG_4_SCRAMBLE_EN_4_FIELD \
325 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_4_SCRAMBLE_EN_4_MASK, .index = RRAM_CTRL_MP_REGION_CFG_4_SCRAMBLE_EN_4_OFFSET })
326#define RRAM_CTRL_MP_REGION_CFG_4_ECC_EN_4_MASK 0xfu
327#define RRAM_CTRL_MP_REGION_CFG_4_ECC_EN_4_OFFSET 16
328#define RRAM_CTRL_MP_REGION_CFG_4_ECC_EN_4_FIELD \
329 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_4_ECC_EN_4_MASK, .index = RRAM_CTRL_MP_REGION_CFG_4_ECC_EN_4_OFFSET })
330
331// Memory property configuration for data partition
332#define RRAM_CTRL_MP_REGION_CFG_5_REG_OFFSET 0x64
333#define RRAM_CTRL_MP_REGION_CFG_5_REG_RESVAL 0x99999u
334#define RRAM_CTRL_MP_REGION_CFG_5_EN_5_MASK 0xfu
335#define RRAM_CTRL_MP_REGION_CFG_5_EN_5_OFFSET 0
336#define RRAM_CTRL_MP_REGION_CFG_5_EN_5_FIELD \
337 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_5_EN_5_MASK, .index = RRAM_CTRL_MP_REGION_CFG_5_EN_5_OFFSET })
338#define RRAM_CTRL_MP_REGION_CFG_5_RD_EN_5_MASK 0xfu
339#define RRAM_CTRL_MP_REGION_CFG_5_RD_EN_5_OFFSET 4
340#define RRAM_CTRL_MP_REGION_CFG_5_RD_EN_5_FIELD \
341 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_5_RD_EN_5_MASK, .index = RRAM_CTRL_MP_REGION_CFG_5_RD_EN_5_OFFSET })
342#define RRAM_CTRL_MP_REGION_CFG_5_WR_EN_5_MASK 0xfu
343#define RRAM_CTRL_MP_REGION_CFG_5_WR_EN_5_OFFSET 8
344#define RRAM_CTRL_MP_REGION_CFG_5_WR_EN_5_FIELD \
345 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_5_WR_EN_5_MASK, .index = RRAM_CTRL_MP_REGION_CFG_5_WR_EN_5_OFFSET })
346#define RRAM_CTRL_MP_REGION_CFG_5_SCRAMBLE_EN_5_MASK 0xfu
347#define RRAM_CTRL_MP_REGION_CFG_5_SCRAMBLE_EN_5_OFFSET 12
348#define RRAM_CTRL_MP_REGION_CFG_5_SCRAMBLE_EN_5_FIELD \
349 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_5_SCRAMBLE_EN_5_MASK, .index = RRAM_CTRL_MP_REGION_CFG_5_SCRAMBLE_EN_5_OFFSET })
350#define RRAM_CTRL_MP_REGION_CFG_5_ECC_EN_5_MASK 0xfu
351#define RRAM_CTRL_MP_REGION_CFG_5_ECC_EN_5_OFFSET 16
352#define RRAM_CTRL_MP_REGION_CFG_5_ECC_EN_5_FIELD \
353 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_5_ECC_EN_5_MASK, .index = RRAM_CTRL_MP_REGION_CFG_5_ECC_EN_5_OFFSET })
354
355// Memory property configuration for data partition
356#define RRAM_CTRL_MP_REGION_CFG_6_REG_OFFSET 0x68
357#define RRAM_CTRL_MP_REGION_CFG_6_REG_RESVAL 0x99999u
358#define RRAM_CTRL_MP_REGION_CFG_6_EN_6_MASK 0xfu
359#define RRAM_CTRL_MP_REGION_CFG_6_EN_6_OFFSET 0
360#define RRAM_CTRL_MP_REGION_CFG_6_EN_6_FIELD \
361 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_6_EN_6_MASK, .index = RRAM_CTRL_MP_REGION_CFG_6_EN_6_OFFSET })
362#define RRAM_CTRL_MP_REGION_CFG_6_RD_EN_6_MASK 0xfu
363#define RRAM_CTRL_MP_REGION_CFG_6_RD_EN_6_OFFSET 4
364#define RRAM_CTRL_MP_REGION_CFG_6_RD_EN_6_FIELD \
365 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_6_RD_EN_6_MASK, .index = RRAM_CTRL_MP_REGION_CFG_6_RD_EN_6_OFFSET })
366#define RRAM_CTRL_MP_REGION_CFG_6_WR_EN_6_MASK 0xfu
367#define RRAM_CTRL_MP_REGION_CFG_6_WR_EN_6_OFFSET 8
368#define RRAM_CTRL_MP_REGION_CFG_6_WR_EN_6_FIELD \
369 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_6_WR_EN_6_MASK, .index = RRAM_CTRL_MP_REGION_CFG_6_WR_EN_6_OFFSET })
370#define RRAM_CTRL_MP_REGION_CFG_6_SCRAMBLE_EN_6_MASK 0xfu
371#define RRAM_CTRL_MP_REGION_CFG_6_SCRAMBLE_EN_6_OFFSET 12
372#define RRAM_CTRL_MP_REGION_CFG_6_SCRAMBLE_EN_6_FIELD \
373 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_6_SCRAMBLE_EN_6_MASK, .index = RRAM_CTRL_MP_REGION_CFG_6_SCRAMBLE_EN_6_OFFSET })
374#define RRAM_CTRL_MP_REGION_CFG_6_ECC_EN_6_MASK 0xfu
375#define RRAM_CTRL_MP_REGION_CFG_6_ECC_EN_6_OFFSET 16
376#define RRAM_CTRL_MP_REGION_CFG_6_ECC_EN_6_FIELD \
377 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_6_ECC_EN_6_MASK, .index = RRAM_CTRL_MP_REGION_CFG_6_ECC_EN_6_OFFSET })
378
379// Memory property configuration for data partition
380#define RRAM_CTRL_MP_REGION_CFG_7_REG_OFFSET 0x6c
381#define RRAM_CTRL_MP_REGION_CFG_7_REG_RESVAL 0x99999u
382#define RRAM_CTRL_MP_REGION_CFG_7_EN_7_MASK 0xfu
383#define RRAM_CTRL_MP_REGION_CFG_7_EN_7_OFFSET 0
384#define RRAM_CTRL_MP_REGION_CFG_7_EN_7_FIELD \
385 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_7_EN_7_MASK, .index = RRAM_CTRL_MP_REGION_CFG_7_EN_7_OFFSET })
386#define RRAM_CTRL_MP_REGION_CFG_7_RD_EN_7_MASK 0xfu
387#define RRAM_CTRL_MP_REGION_CFG_7_RD_EN_7_OFFSET 4
388#define RRAM_CTRL_MP_REGION_CFG_7_RD_EN_7_FIELD \
389 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_7_RD_EN_7_MASK, .index = RRAM_CTRL_MP_REGION_CFG_7_RD_EN_7_OFFSET })
390#define RRAM_CTRL_MP_REGION_CFG_7_WR_EN_7_MASK 0xfu
391#define RRAM_CTRL_MP_REGION_CFG_7_WR_EN_7_OFFSET 8
392#define RRAM_CTRL_MP_REGION_CFG_7_WR_EN_7_FIELD \
393 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_7_WR_EN_7_MASK, .index = RRAM_CTRL_MP_REGION_CFG_7_WR_EN_7_OFFSET })
394#define RRAM_CTRL_MP_REGION_CFG_7_SCRAMBLE_EN_7_MASK 0xfu
395#define RRAM_CTRL_MP_REGION_CFG_7_SCRAMBLE_EN_7_OFFSET 12
396#define RRAM_CTRL_MP_REGION_CFG_7_SCRAMBLE_EN_7_FIELD \
397 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_7_SCRAMBLE_EN_7_MASK, .index = RRAM_CTRL_MP_REGION_CFG_7_SCRAMBLE_EN_7_OFFSET })
398#define RRAM_CTRL_MP_REGION_CFG_7_ECC_EN_7_MASK 0xfu
399#define RRAM_CTRL_MP_REGION_CFG_7_ECC_EN_7_OFFSET 16
400#define RRAM_CTRL_MP_REGION_CFG_7_ECC_EN_7_FIELD \
401 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_7_ECC_EN_7_MASK, .index = RRAM_CTRL_MP_REGION_CFG_7_ECC_EN_7_OFFSET })
402
403// Memory property configuration for data partition
404#define RRAM_CTRL_MP_REGION_CFG_8_REG_OFFSET 0x70
405#define RRAM_CTRL_MP_REGION_CFG_8_REG_RESVAL 0x99999u
406#define RRAM_CTRL_MP_REGION_CFG_8_EN_8_MASK 0xfu
407#define RRAM_CTRL_MP_REGION_CFG_8_EN_8_OFFSET 0
408#define RRAM_CTRL_MP_REGION_CFG_8_EN_8_FIELD \
409 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_8_EN_8_MASK, .index = RRAM_CTRL_MP_REGION_CFG_8_EN_8_OFFSET })
410#define RRAM_CTRL_MP_REGION_CFG_8_RD_EN_8_MASK 0xfu
411#define RRAM_CTRL_MP_REGION_CFG_8_RD_EN_8_OFFSET 4
412#define RRAM_CTRL_MP_REGION_CFG_8_RD_EN_8_FIELD \
413 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_8_RD_EN_8_MASK, .index = RRAM_CTRL_MP_REGION_CFG_8_RD_EN_8_OFFSET })
414#define RRAM_CTRL_MP_REGION_CFG_8_WR_EN_8_MASK 0xfu
415#define RRAM_CTRL_MP_REGION_CFG_8_WR_EN_8_OFFSET 8
416#define RRAM_CTRL_MP_REGION_CFG_8_WR_EN_8_FIELD \
417 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_8_WR_EN_8_MASK, .index = RRAM_CTRL_MP_REGION_CFG_8_WR_EN_8_OFFSET })
418#define RRAM_CTRL_MP_REGION_CFG_8_SCRAMBLE_EN_8_MASK 0xfu
419#define RRAM_CTRL_MP_REGION_CFG_8_SCRAMBLE_EN_8_OFFSET 12
420#define RRAM_CTRL_MP_REGION_CFG_8_SCRAMBLE_EN_8_FIELD \
421 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_8_SCRAMBLE_EN_8_MASK, .index = RRAM_CTRL_MP_REGION_CFG_8_SCRAMBLE_EN_8_OFFSET })
422#define RRAM_CTRL_MP_REGION_CFG_8_ECC_EN_8_MASK 0xfu
423#define RRAM_CTRL_MP_REGION_CFG_8_ECC_EN_8_OFFSET 16
424#define RRAM_CTRL_MP_REGION_CFG_8_ECC_EN_8_FIELD \
425 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_8_ECC_EN_8_MASK, .index = RRAM_CTRL_MP_REGION_CFG_8_ECC_EN_8_OFFSET })
426
427// Memory property configuration for data partition
428#define RRAM_CTRL_MP_REGION_CFG_9_REG_OFFSET 0x74
429#define RRAM_CTRL_MP_REGION_CFG_9_REG_RESVAL 0x99999u
430#define RRAM_CTRL_MP_REGION_CFG_9_EN_9_MASK 0xfu
431#define RRAM_CTRL_MP_REGION_CFG_9_EN_9_OFFSET 0
432#define RRAM_CTRL_MP_REGION_CFG_9_EN_9_FIELD \
433 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_9_EN_9_MASK, .index = RRAM_CTRL_MP_REGION_CFG_9_EN_9_OFFSET })
434#define RRAM_CTRL_MP_REGION_CFG_9_RD_EN_9_MASK 0xfu
435#define RRAM_CTRL_MP_REGION_CFG_9_RD_EN_9_OFFSET 4
436#define RRAM_CTRL_MP_REGION_CFG_9_RD_EN_9_FIELD \
437 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_9_RD_EN_9_MASK, .index = RRAM_CTRL_MP_REGION_CFG_9_RD_EN_9_OFFSET })
438#define RRAM_CTRL_MP_REGION_CFG_9_WR_EN_9_MASK 0xfu
439#define RRAM_CTRL_MP_REGION_CFG_9_WR_EN_9_OFFSET 8
440#define RRAM_CTRL_MP_REGION_CFG_9_WR_EN_9_FIELD \
441 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_9_WR_EN_9_MASK, .index = RRAM_CTRL_MP_REGION_CFG_9_WR_EN_9_OFFSET })
442#define RRAM_CTRL_MP_REGION_CFG_9_SCRAMBLE_EN_9_MASK 0xfu
443#define RRAM_CTRL_MP_REGION_CFG_9_SCRAMBLE_EN_9_OFFSET 12
444#define RRAM_CTRL_MP_REGION_CFG_9_SCRAMBLE_EN_9_FIELD \
445 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_9_SCRAMBLE_EN_9_MASK, .index = RRAM_CTRL_MP_REGION_CFG_9_SCRAMBLE_EN_9_OFFSET })
446#define RRAM_CTRL_MP_REGION_CFG_9_ECC_EN_9_MASK 0xfu
447#define RRAM_CTRL_MP_REGION_CFG_9_ECC_EN_9_OFFSET 16
448#define RRAM_CTRL_MP_REGION_CFG_9_ECC_EN_9_FIELD \
449 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_CFG_9_ECC_EN_9_MASK, .index = RRAM_CTRL_MP_REGION_CFG_9_ECC_EN_9_OFFSET })
450
451// Memory base and size configuration for data partition (common parameters)
452#define RRAM_CTRL_MP_REGION_BASE_FIELD_WIDTH 12
453#define RRAM_CTRL_MP_REGION_SIZE_FIELD_WIDTH 12
454#define RRAM_CTRL_MP_REGION_MULTIREG_COUNT 10
455
456// Memory base and size configuration for data partition
457#define RRAM_CTRL_MP_REGION_0_REG_OFFSET 0x78
458#define RRAM_CTRL_MP_REGION_0_REG_RESVAL 0x0u
459#define RRAM_CTRL_MP_REGION_0_BASE_0_MASK 0xfffu
460#define RRAM_CTRL_MP_REGION_0_BASE_0_OFFSET 0
461#define RRAM_CTRL_MP_REGION_0_BASE_0_FIELD \
462 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_0_BASE_0_MASK, .index = RRAM_CTRL_MP_REGION_0_BASE_0_OFFSET })
463#define RRAM_CTRL_MP_REGION_0_SIZE_0_MASK 0xfffu
464#define RRAM_CTRL_MP_REGION_0_SIZE_0_OFFSET 12
465#define RRAM_CTRL_MP_REGION_0_SIZE_0_FIELD \
466 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_0_SIZE_0_MASK, .index = RRAM_CTRL_MP_REGION_0_SIZE_0_OFFSET })
467
468// Memory base and size configuration for data partition
469#define RRAM_CTRL_MP_REGION_1_REG_OFFSET 0x7c
470#define RRAM_CTRL_MP_REGION_1_REG_RESVAL 0x0u
471#define RRAM_CTRL_MP_REGION_1_BASE_1_MASK 0xfffu
472#define RRAM_CTRL_MP_REGION_1_BASE_1_OFFSET 0
473#define RRAM_CTRL_MP_REGION_1_BASE_1_FIELD \
474 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_1_BASE_1_MASK, .index = RRAM_CTRL_MP_REGION_1_BASE_1_OFFSET })
475#define RRAM_CTRL_MP_REGION_1_SIZE_1_MASK 0xfffu
476#define RRAM_CTRL_MP_REGION_1_SIZE_1_OFFSET 12
477#define RRAM_CTRL_MP_REGION_1_SIZE_1_FIELD \
478 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_1_SIZE_1_MASK, .index = RRAM_CTRL_MP_REGION_1_SIZE_1_OFFSET })
479
480// Memory base and size configuration for data partition
481#define RRAM_CTRL_MP_REGION_2_REG_OFFSET 0x80
482#define RRAM_CTRL_MP_REGION_2_REG_RESVAL 0x0u
483#define RRAM_CTRL_MP_REGION_2_BASE_2_MASK 0xfffu
484#define RRAM_CTRL_MP_REGION_2_BASE_2_OFFSET 0
485#define RRAM_CTRL_MP_REGION_2_BASE_2_FIELD \
486 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_2_BASE_2_MASK, .index = RRAM_CTRL_MP_REGION_2_BASE_2_OFFSET })
487#define RRAM_CTRL_MP_REGION_2_SIZE_2_MASK 0xfffu
488#define RRAM_CTRL_MP_REGION_2_SIZE_2_OFFSET 12
489#define RRAM_CTRL_MP_REGION_2_SIZE_2_FIELD \
490 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_2_SIZE_2_MASK, .index = RRAM_CTRL_MP_REGION_2_SIZE_2_OFFSET })
491
492// Memory base and size configuration for data partition
493#define RRAM_CTRL_MP_REGION_3_REG_OFFSET 0x84
494#define RRAM_CTRL_MP_REGION_3_REG_RESVAL 0x0u
495#define RRAM_CTRL_MP_REGION_3_BASE_3_MASK 0xfffu
496#define RRAM_CTRL_MP_REGION_3_BASE_3_OFFSET 0
497#define RRAM_CTRL_MP_REGION_3_BASE_3_FIELD \
498 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_3_BASE_3_MASK, .index = RRAM_CTRL_MP_REGION_3_BASE_3_OFFSET })
499#define RRAM_CTRL_MP_REGION_3_SIZE_3_MASK 0xfffu
500#define RRAM_CTRL_MP_REGION_3_SIZE_3_OFFSET 12
501#define RRAM_CTRL_MP_REGION_3_SIZE_3_FIELD \
502 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_3_SIZE_3_MASK, .index = RRAM_CTRL_MP_REGION_3_SIZE_3_OFFSET })
503
504// Memory base and size configuration for data partition
505#define RRAM_CTRL_MP_REGION_4_REG_OFFSET 0x88
506#define RRAM_CTRL_MP_REGION_4_REG_RESVAL 0x0u
507#define RRAM_CTRL_MP_REGION_4_BASE_4_MASK 0xfffu
508#define RRAM_CTRL_MP_REGION_4_BASE_4_OFFSET 0
509#define RRAM_CTRL_MP_REGION_4_BASE_4_FIELD \
510 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_4_BASE_4_MASK, .index = RRAM_CTRL_MP_REGION_4_BASE_4_OFFSET })
511#define RRAM_CTRL_MP_REGION_4_SIZE_4_MASK 0xfffu
512#define RRAM_CTRL_MP_REGION_4_SIZE_4_OFFSET 12
513#define RRAM_CTRL_MP_REGION_4_SIZE_4_FIELD \
514 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_4_SIZE_4_MASK, .index = RRAM_CTRL_MP_REGION_4_SIZE_4_OFFSET })
515
516// Memory base and size configuration for data partition
517#define RRAM_CTRL_MP_REGION_5_REG_OFFSET 0x8c
518#define RRAM_CTRL_MP_REGION_5_REG_RESVAL 0x0u
519#define RRAM_CTRL_MP_REGION_5_BASE_5_MASK 0xfffu
520#define RRAM_CTRL_MP_REGION_5_BASE_5_OFFSET 0
521#define RRAM_CTRL_MP_REGION_5_BASE_5_FIELD \
522 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_5_BASE_5_MASK, .index = RRAM_CTRL_MP_REGION_5_BASE_5_OFFSET })
523#define RRAM_CTRL_MP_REGION_5_SIZE_5_MASK 0xfffu
524#define RRAM_CTRL_MP_REGION_5_SIZE_5_OFFSET 12
525#define RRAM_CTRL_MP_REGION_5_SIZE_5_FIELD \
526 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_5_SIZE_5_MASK, .index = RRAM_CTRL_MP_REGION_5_SIZE_5_OFFSET })
527
528// Memory base and size configuration for data partition
529#define RRAM_CTRL_MP_REGION_6_REG_OFFSET 0x90
530#define RRAM_CTRL_MP_REGION_6_REG_RESVAL 0x0u
531#define RRAM_CTRL_MP_REGION_6_BASE_6_MASK 0xfffu
532#define RRAM_CTRL_MP_REGION_6_BASE_6_OFFSET 0
533#define RRAM_CTRL_MP_REGION_6_BASE_6_FIELD \
534 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_6_BASE_6_MASK, .index = RRAM_CTRL_MP_REGION_6_BASE_6_OFFSET })
535#define RRAM_CTRL_MP_REGION_6_SIZE_6_MASK 0xfffu
536#define RRAM_CTRL_MP_REGION_6_SIZE_6_OFFSET 12
537#define RRAM_CTRL_MP_REGION_6_SIZE_6_FIELD \
538 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_6_SIZE_6_MASK, .index = RRAM_CTRL_MP_REGION_6_SIZE_6_OFFSET })
539
540// Memory base and size configuration for data partition
541#define RRAM_CTRL_MP_REGION_7_REG_OFFSET 0x94
542#define RRAM_CTRL_MP_REGION_7_REG_RESVAL 0x0u
543#define RRAM_CTRL_MP_REGION_7_BASE_7_MASK 0xfffu
544#define RRAM_CTRL_MP_REGION_7_BASE_7_OFFSET 0
545#define RRAM_CTRL_MP_REGION_7_BASE_7_FIELD \
546 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_7_BASE_7_MASK, .index = RRAM_CTRL_MP_REGION_7_BASE_7_OFFSET })
547#define RRAM_CTRL_MP_REGION_7_SIZE_7_MASK 0xfffu
548#define RRAM_CTRL_MP_REGION_7_SIZE_7_OFFSET 12
549#define RRAM_CTRL_MP_REGION_7_SIZE_7_FIELD \
550 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_7_SIZE_7_MASK, .index = RRAM_CTRL_MP_REGION_7_SIZE_7_OFFSET })
551
552// Memory base and size configuration for data partition
553#define RRAM_CTRL_MP_REGION_8_REG_OFFSET 0x98
554#define RRAM_CTRL_MP_REGION_8_REG_RESVAL 0x0u
555#define RRAM_CTRL_MP_REGION_8_BASE_8_MASK 0xfffu
556#define RRAM_CTRL_MP_REGION_8_BASE_8_OFFSET 0
557#define RRAM_CTRL_MP_REGION_8_BASE_8_FIELD \
558 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_8_BASE_8_MASK, .index = RRAM_CTRL_MP_REGION_8_BASE_8_OFFSET })
559#define RRAM_CTRL_MP_REGION_8_SIZE_8_MASK 0xfffu
560#define RRAM_CTRL_MP_REGION_8_SIZE_8_OFFSET 12
561#define RRAM_CTRL_MP_REGION_8_SIZE_8_FIELD \
562 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_8_SIZE_8_MASK, .index = RRAM_CTRL_MP_REGION_8_SIZE_8_OFFSET })
563
564// Memory base and size configuration for data partition
565#define RRAM_CTRL_MP_REGION_9_REG_OFFSET 0x9c
566#define RRAM_CTRL_MP_REGION_9_REG_RESVAL 0x0u
567#define RRAM_CTRL_MP_REGION_9_BASE_9_MASK 0xfffu
568#define RRAM_CTRL_MP_REGION_9_BASE_9_OFFSET 0
569#define RRAM_CTRL_MP_REGION_9_BASE_9_FIELD \
570 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_9_BASE_9_MASK, .index = RRAM_CTRL_MP_REGION_9_BASE_9_OFFSET })
571#define RRAM_CTRL_MP_REGION_9_SIZE_9_MASK 0xfffu
572#define RRAM_CTRL_MP_REGION_9_SIZE_9_OFFSET 12
573#define RRAM_CTRL_MP_REGION_9_SIZE_9_FIELD \
574 ((bitfield_field32_t) { .mask = RRAM_CTRL_MP_REGION_9_SIZE_9_MASK, .index = RRAM_CTRL_MP_REGION_9_SIZE_9_OFFSET })
575
576// Default region properties
577#define RRAM_CTRL_DEFAULT_REGION_REG_OFFSET 0xa0
578#define RRAM_CTRL_DEFAULT_REGION_REG_RESVAL 0x9999u
579#define RRAM_CTRL_DEFAULT_REGION_RD_EN_MASK 0xfu
580#define RRAM_CTRL_DEFAULT_REGION_RD_EN_OFFSET 0
581#define RRAM_CTRL_DEFAULT_REGION_RD_EN_FIELD \
582 ((bitfield_field32_t) { .mask = RRAM_CTRL_DEFAULT_REGION_RD_EN_MASK, .index = RRAM_CTRL_DEFAULT_REGION_RD_EN_OFFSET })
583#define RRAM_CTRL_DEFAULT_REGION_WR_EN_MASK 0xfu
584#define RRAM_CTRL_DEFAULT_REGION_WR_EN_OFFSET 4
585#define RRAM_CTRL_DEFAULT_REGION_WR_EN_FIELD \
586 ((bitfield_field32_t) { .mask = RRAM_CTRL_DEFAULT_REGION_WR_EN_MASK, .index = RRAM_CTRL_DEFAULT_REGION_WR_EN_OFFSET })
587#define RRAM_CTRL_DEFAULT_REGION_SCRAMBLE_EN_MASK 0xfu
588#define RRAM_CTRL_DEFAULT_REGION_SCRAMBLE_EN_OFFSET 8
589#define RRAM_CTRL_DEFAULT_REGION_SCRAMBLE_EN_FIELD \
590 ((bitfield_field32_t) { .mask = RRAM_CTRL_DEFAULT_REGION_SCRAMBLE_EN_MASK, .index = RRAM_CTRL_DEFAULT_REGION_SCRAMBLE_EN_OFFSET })
591#define RRAM_CTRL_DEFAULT_REGION_ECC_EN_MASK 0xfu
592#define RRAM_CTRL_DEFAULT_REGION_ECC_EN_OFFSET 12
593#define RRAM_CTRL_DEFAULT_REGION_ECC_EN_FIELD \
594 ((bitfield_field32_t) { .mask = RRAM_CTRL_DEFAULT_REGION_ECC_EN_MASK, .index = RRAM_CTRL_DEFAULT_REGION_ECC_EN_OFFSET })
595
596// Memory region registers configuration enable. (common parameters)
597#define RRAM_CTRL_INFO_REGWEN_REGION_FIELD_WIDTH 1
598#define RRAM_CTRL_INFO_REGWEN_MULTIREG_COUNT 8
599
600// Memory region registers configuration enable.
601#define RRAM_CTRL_INFO_REGWEN_0_REG_OFFSET 0xa4
602#define RRAM_CTRL_INFO_REGWEN_0_REG_RESVAL 0x1u
603#define RRAM_CTRL_INFO_REGWEN_0_REGION_0_BIT 0
604#define RRAM_CTRL_INFO_REGWEN_0_REGION_0_VALUE_PAGE_LOCKED 0x0
605#define RRAM_CTRL_INFO_REGWEN_0_REGION_0_VALUE_PAGE_ENABLED 0x1
606
607// Memory region registers configuration enable.
608#define RRAM_CTRL_INFO_REGWEN_1_REG_OFFSET 0xa8
609#define RRAM_CTRL_INFO_REGWEN_1_REG_RESVAL 0x1u
610#define RRAM_CTRL_INFO_REGWEN_1_REGION_1_BIT 0
611
612// Memory region registers configuration enable.
613#define RRAM_CTRL_INFO_REGWEN_2_REG_OFFSET 0xac
614#define RRAM_CTRL_INFO_REGWEN_2_REG_RESVAL 0x1u
615#define RRAM_CTRL_INFO_REGWEN_2_REGION_2_BIT 0
616
617// Memory region registers configuration enable.
618#define RRAM_CTRL_INFO_REGWEN_3_REG_OFFSET 0xb0
619#define RRAM_CTRL_INFO_REGWEN_3_REG_RESVAL 0x1u
620#define RRAM_CTRL_INFO_REGWEN_3_REGION_3_BIT 0
621
622// Memory region registers configuration enable.
623#define RRAM_CTRL_INFO_REGWEN_4_REG_OFFSET 0xb4
624#define RRAM_CTRL_INFO_REGWEN_4_REG_RESVAL 0x1u
625#define RRAM_CTRL_INFO_REGWEN_4_REGION_4_BIT 0
626
627// Memory region registers configuration enable.
628#define RRAM_CTRL_INFO_REGWEN_5_REG_OFFSET 0xb8
629#define RRAM_CTRL_INFO_REGWEN_5_REG_RESVAL 0x1u
630#define RRAM_CTRL_INFO_REGWEN_5_REGION_5_BIT 0
631
632// Memory region registers configuration enable.
633#define RRAM_CTRL_INFO_REGWEN_6_REG_OFFSET 0xbc
634#define RRAM_CTRL_INFO_REGWEN_6_REG_RESVAL 0x1u
635#define RRAM_CTRL_INFO_REGWEN_6_REGION_6_BIT 0
636
637// Memory region registers configuration enable.
638#define RRAM_CTRL_INFO_REGWEN_7_REG_OFFSET 0xc0
639#define RRAM_CTRL_INFO_REGWEN_7_REG_RESVAL 0x1u
640#define RRAM_CTRL_INFO_REGWEN_7_REGION_7_BIT 0
641
642// Memory property configuration for info partition.
643#define RRAM_CTRL_INFO_PAGE_CFG_EN_FIELD_WIDTH 4
644#define RRAM_CTRL_INFO_PAGE_CFG_RD_EN_FIELD_WIDTH 4
645#define RRAM_CTRL_INFO_PAGE_CFG_WR_EN_FIELD_WIDTH 4
646#define RRAM_CTRL_INFO_PAGE_CFG_SCRAMBLE_EN_FIELD_WIDTH 4
647#define RRAM_CTRL_INFO_PAGE_CFG_ECC_EN_FIELD_WIDTH 4
648#define RRAM_CTRL_INFO_PAGE_CFG_MULTIREG_COUNT 8
649
650// Memory property configuration for info partition.
651#define RRAM_CTRL_INFO_PAGE_CFG_0_REG_OFFSET 0xc4
652#define RRAM_CTRL_INFO_PAGE_CFG_0_REG_RESVAL 0x99999u
653#define RRAM_CTRL_INFO_PAGE_CFG_0_EN_0_MASK 0xfu
654#define RRAM_CTRL_INFO_PAGE_CFG_0_EN_0_OFFSET 0
655#define RRAM_CTRL_INFO_PAGE_CFG_0_EN_0_FIELD \
656 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_0_EN_0_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_0_EN_0_OFFSET })
657#define RRAM_CTRL_INFO_PAGE_CFG_0_RD_EN_0_MASK 0xfu
658#define RRAM_CTRL_INFO_PAGE_CFG_0_RD_EN_0_OFFSET 4
659#define RRAM_CTRL_INFO_PAGE_CFG_0_RD_EN_0_FIELD \
660 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_0_RD_EN_0_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_0_RD_EN_0_OFFSET })
661#define RRAM_CTRL_INFO_PAGE_CFG_0_WR_EN_0_MASK 0xfu
662#define RRAM_CTRL_INFO_PAGE_CFG_0_WR_EN_0_OFFSET 8
663#define RRAM_CTRL_INFO_PAGE_CFG_0_WR_EN_0_FIELD \
664 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_0_WR_EN_0_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_0_WR_EN_0_OFFSET })
665#define RRAM_CTRL_INFO_PAGE_CFG_0_SCRAMBLE_EN_0_MASK 0xfu
666#define RRAM_CTRL_INFO_PAGE_CFG_0_SCRAMBLE_EN_0_OFFSET 12
667#define RRAM_CTRL_INFO_PAGE_CFG_0_SCRAMBLE_EN_0_FIELD \
668 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_0_SCRAMBLE_EN_0_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_0_SCRAMBLE_EN_0_OFFSET })
669#define RRAM_CTRL_INFO_PAGE_CFG_0_ECC_EN_0_MASK 0xfu
670#define RRAM_CTRL_INFO_PAGE_CFG_0_ECC_EN_0_OFFSET 16
671#define RRAM_CTRL_INFO_PAGE_CFG_0_ECC_EN_0_FIELD \
672 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_0_ECC_EN_0_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_0_ECC_EN_0_OFFSET })
673
674// Memory property configuration for info partition.
675#define RRAM_CTRL_INFO_PAGE_CFG_1_REG_OFFSET 0xc8
676#define RRAM_CTRL_INFO_PAGE_CFG_1_REG_RESVAL 0x99999u
677#define RRAM_CTRL_INFO_PAGE_CFG_1_EN_1_MASK 0xfu
678#define RRAM_CTRL_INFO_PAGE_CFG_1_EN_1_OFFSET 0
679#define RRAM_CTRL_INFO_PAGE_CFG_1_EN_1_FIELD \
680 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_1_EN_1_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_1_EN_1_OFFSET })
681#define RRAM_CTRL_INFO_PAGE_CFG_1_RD_EN_1_MASK 0xfu
682#define RRAM_CTRL_INFO_PAGE_CFG_1_RD_EN_1_OFFSET 4
683#define RRAM_CTRL_INFO_PAGE_CFG_1_RD_EN_1_FIELD \
684 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_1_RD_EN_1_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_1_RD_EN_1_OFFSET })
685#define RRAM_CTRL_INFO_PAGE_CFG_1_WR_EN_1_MASK 0xfu
686#define RRAM_CTRL_INFO_PAGE_CFG_1_WR_EN_1_OFFSET 8
687#define RRAM_CTRL_INFO_PAGE_CFG_1_WR_EN_1_FIELD \
688 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_1_WR_EN_1_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_1_WR_EN_1_OFFSET })
689#define RRAM_CTRL_INFO_PAGE_CFG_1_SCRAMBLE_EN_1_MASK 0xfu
690#define RRAM_CTRL_INFO_PAGE_CFG_1_SCRAMBLE_EN_1_OFFSET 12
691#define RRAM_CTRL_INFO_PAGE_CFG_1_SCRAMBLE_EN_1_FIELD \
692 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_1_SCRAMBLE_EN_1_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_1_SCRAMBLE_EN_1_OFFSET })
693#define RRAM_CTRL_INFO_PAGE_CFG_1_ECC_EN_1_MASK 0xfu
694#define RRAM_CTRL_INFO_PAGE_CFG_1_ECC_EN_1_OFFSET 16
695#define RRAM_CTRL_INFO_PAGE_CFG_1_ECC_EN_1_FIELD \
696 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_1_ECC_EN_1_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_1_ECC_EN_1_OFFSET })
697
698// Memory property configuration for info partition.
699#define RRAM_CTRL_INFO_PAGE_CFG_2_REG_OFFSET 0xcc
700#define RRAM_CTRL_INFO_PAGE_CFG_2_REG_RESVAL 0x99999u
701#define RRAM_CTRL_INFO_PAGE_CFG_2_EN_2_MASK 0xfu
702#define RRAM_CTRL_INFO_PAGE_CFG_2_EN_2_OFFSET 0
703#define RRAM_CTRL_INFO_PAGE_CFG_2_EN_2_FIELD \
704 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_2_EN_2_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_2_EN_2_OFFSET })
705#define RRAM_CTRL_INFO_PAGE_CFG_2_RD_EN_2_MASK 0xfu
706#define RRAM_CTRL_INFO_PAGE_CFG_2_RD_EN_2_OFFSET 4
707#define RRAM_CTRL_INFO_PAGE_CFG_2_RD_EN_2_FIELD \
708 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_2_RD_EN_2_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_2_RD_EN_2_OFFSET })
709#define RRAM_CTRL_INFO_PAGE_CFG_2_WR_EN_2_MASK 0xfu
710#define RRAM_CTRL_INFO_PAGE_CFG_2_WR_EN_2_OFFSET 8
711#define RRAM_CTRL_INFO_PAGE_CFG_2_WR_EN_2_FIELD \
712 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_2_WR_EN_2_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_2_WR_EN_2_OFFSET })
713#define RRAM_CTRL_INFO_PAGE_CFG_2_SCRAMBLE_EN_2_MASK 0xfu
714#define RRAM_CTRL_INFO_PAGE_CFG_2_SCRAMBLE_EN_2_OFFSET 12
715#define RRAM_CTRL_INFO_PAGE_CFG_2_SCRAMBLE_EN_2_FIELD \
716 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_2_SCRAMBLE_EN_2_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_2_SCRAMBLE_EN_2_OFFSET })
717#define RRAM_CTRL_INFO_PAGE_CFG_2_ECC_EN_2_MASK 0xfu
718#define RRAM_CTRL_INFO_PAGE_CFG_2_ECC_EN_2_OFFSET 16
719#define RRAM_CTRL_INFO_PAGE_CFG_2_ECC_EN_2_FIELD \
720 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_2_ECC_EN_2_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_2_ECC_EN_2_OFFSET })
721
722// Memory property configuration for info partition.
723#define RRAM_CTRL_INFO_PAGE_CFG_3_REG_OFFSET 0xd0
724#define RRAM_CTRL_INFO_PAGE_CFG_3_REG_RESVAL 0x99999u
725#define RRAM_CTRL_INFO_PAGE_CFG_3_EN_3_MASK 0xfu
726#define RRAM_CTRL_INFO_PAGE_CFG_3_EN_3_OFFSET 0
727#define RRAM_CTRL_INFO_PAGE_CFG_3_EN_3_FIELD \
728 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_3_EN_3_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_3_EN_3_OFFSET })
729#define RRAM_CTRL_INFO_PAGE_CFG_3_RD_EN_3_MASK 0xfu
730#define RRAM_CTRL_INFO_PAGE_CFG_3_RD_EN_3_OFFSET 4
731#define RRAM_CTRL_INFO_PAGE_CFG_3_RD_EN_3_FIELD \
732 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_3_RD_EN_3_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_3_RD_EN_3_OFFSET })
733#define RRAM_CTRL_INFO_PAGE_CFG_3_WR_EN_3_MASK 0xfu
734#define RRAM_CTRL_INFO_PAGE_CFG_3_WR_EN_3_OFFSET 8
735#define RRAM_CTRL_INFO_PAGE_CFG_3_WR_EN_3_FIELD \
736 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_3_WR_EN_3_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_3_WR_EN_3_OFFSET })
737#define RRAM_CTRL_INFO_PAGE_CFG_3_SCRAMBLE_EN_3_MASK 0xfu
738#define RRAM_CTRL_INFO_PAGE_CFG_3_SCRAMBLE_EN_3_OFFSET 12
739#define RRAM_CTRL_INFO_PAGE_CFG_3_SCRAMBLE_EN_3_FIELD \
740 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_3_SCRAMBLE_EN_3_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_3_SCRAMBLE_EN_3_OFFSET })
741#define RRAM_CTRL_INFO_PAGE_CFG_3_ECC_EN_3_MASK 0xfu
742#define RRAM_CTRL_INFO_PAGE_CFG_3_ECC_EN_3_OFFSET 16
743#define RRAM_CTRL_INFO_PAGE_CFG_3_ECC_EN_3_FIELD \
744 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_3_ECC_EN_3_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_3_ECC_EN_3_OFFSET })
745
746// Memory property configuration for info partition.
747#define RRAM_CTRL_INFO_PAGE_CFG_4_REG_OFFSET 0xd4
748#define RRAM_CTRL_INFO_PAGE_CFG_4_REG_RESVAL 0x99999u
749#define RRAM_CTRL_INFO_PAGE_CFG_4_EN_4_MASK 0xfu
750#define RRAM_CTRL_INFO_PAGE_CFG_4_EN_4_OFFSET 0
751#define RRAM_CTRL_INFO_PAGE_CFG_4_EN_4_FIELD \
752 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_4_EN_4_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_4_EN_4_OFFSET })
753#define RRAM_CTRL_INFO_PAGE_CFG_4_RD_EN_4_MASK 0xfu
754#define RRAM_CTRL_INFO_PAGE_CFG_4_RD_EN_4_OFFSET 4
755#define RRAM_CTRL_INFO_PAGE_CFG_4_RD_EN_4_FIELD \
756 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_4_RD_EN_4_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_4_RD_EN_4_OFFSET })
757#define RRAM_CTRL_INFO_PAGE_CFG_4_WR_EN_4_MASK 0xfu
758#define RRAM_CTRL_INFO_PAGE_CFG_4_WR_EN_4_OFFSET 8
759#define RRAM_CTRL_INFO_PAGE_CFG_4_WR_EN_4_FIELD \
760 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_4_WR_EN_4_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_4_WR_EN_4_OFFSET })
761#define RRAM_CTRL_INFO_PAGE_CFG_4_SCRAMBLE_EN_4_MASK 0xfu
762#define RRAM_CTRL_INFO_PAGE_CFG_4_SCRAMBLE_EN_4_OFFSET 12
763#define RRAM_CTRL_INFO_PAGE_CFG_4_SCRAMBLE_EN_4_FIELD \
764 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_4_SCRAMBLE_EN_4_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_4_SCRAMBLE_EN_4_OFFSET })
765#define RRAM_CTRL_INFO_PAGE_CFG_4_ECC_EN_4_MASK 0xfu
766#define RRAM_CTRL_INFO_PAGE_CFG_4_ECC_EN_4_OFFSET 16
767#define RRAM_CTRL_INFO_PAGE_CFG_4_ECC_EN_4_FIELD \
768 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_4_ECC_EN_4_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_4_ECC_EN_4_OFFSET })
769
770// Memory property configuration for info partition.
771#define RRAM_CTRL_INFO_PAGE_CFG_5_REG_OFFSET 0xd8
772#define RRAM_CTRL_INFO_PAGE_CFG_5_REG_RESVAL 0x99999u
773#define RRAM_CTRL_INFO_PAGE_CFG_5_EN_5_MASK 0xfu
774#define RRAM_CTRL_INFO_PAGE_CFG_5_EN_5_OFFSET 0
775#define RRAM_CTRL_INFO_PAGE_CFG_5_EN_5_FIELD \
776 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_5_EN_5_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_5_EN_5_OFFSET })
777#define RRAM_CTRL_INFO_PAGE_CFG_5_RD_EN_5_MASK 0xfu
778#define RRAM_CTRL_INFO_PAGE_CFG_5_RD_EN_5_OFFSET 4
779#define RRAM_CTRL_INFO_PAGE_CFG_5_RD_EN_5_FIELD \
780 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_5_RD_EN_5_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_5_RD_EN_5_OFFSET })
781#define RRAM_CTRL_INFO_PAGE_CFG_5_WR_EN_5_MASK 0xfu
782#define RRAM_CTRL_INFO_PAGE_CFG_5_WR_EN_5_OFFSET 8
783#define RRAM_CTRL_INFO_PAGE_CFG_5_WR_EN_5_FIELD \
784 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_5_WR_EN_5_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_5_WR_EN_5_OFFSET })
785#define RRAM_CTRL_INFO_PAGE_CFG_5_SCRAMBLE_EN_5_MASK 0xfu
786#define RRAM_CTRL_INFO_PAGE_CFG_5_SCRAMBLE_EN_5_OFFSET 12
787#define RRAM_CTRL_INFO_PAGE_CFG_5_SCRAMBLE_EN_5_FIELD \
788 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_5_SCRAMBLE_EN_5_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_5_SCRAMBLE_EN_5_OFFSET })
789#define RRAM_CTRL_INFO_PAGE_CFG_5_ECC_EN_5_MASK 0xfu
790#define RRAM_CTRL_INFO_PAGE_CFG_5_ECC_EN_5_OFFSET 16
791#define RRAM_CTRL_INFO_PAGE_CFG_5_ECC_EN_5_FIELD \
792 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_5_ECC_EN_5_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_5_ECC_EN_5_OFFSET })
793
794// Memory property configuration for info partition.
795#define RRAM_CTRL_INFO_PAGE_CFG_6_REG_OFFSET 0xdc
796#define RRAM_CTRL_INFO_PAGE_CFG_6_REG_RESVAL 0x99999u
797#define RRAM_CTRL_INFO_PAGE_CFG_6_EN_6_MASK 0xfu
798#define RRAM_CTRL_INFO_PAGE_CFG_6_EN_6_OFFSET 0
799#define RRAM_CTRL_INFO_PAGE_CFG_6_EN_6_FIELD \
800 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_6_EN_6_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_6_EN_6_OFFSET })
801#define RRAM_CTRL_INFO_PAGE_CFG_6_RD_EN_6_MASK 0xfu
802#define RRAM_CTRL_INFO_PAGE_CFG_6_RD_EN_6_OFFSET 4
803#define RRAM_CTRL_INFO_PAGE_CFG_6_RD_EN_6_FIELD \
804 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_6_RD_EN_6_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_6_RD_EN_6_OFFSET })
805#define RRAM_CTRL_INFO_PAGE_CFG_6_WR_EN_6_MASK 0xfu
806#define RRAM_CTRL_INFO_PAGE_CFG_6_WR_EN_6_OFFSET 8
807#define RRAM_CTRL_INFO_PAGE_CFG_6_WR_EN_6_FIELD \
808 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_6_WR_EN_6_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_6_WR_EN_6_OFFSET })
809#define RRAM_CTRL_INFO_PAGE_CFG_6_SCRAMBLE_EN_6_MASK 0xfu
810#define RRAM_CTRL_INFO_PAGE_CFG_6_SCRAMBLE_EN_6_OFFSET 12
811#define RRAM_CTRL_INFO_PAGE_CFG_6_SCRAMBLE_EN_6_FIELD \
812 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_6_SCRAMBLE_EN_6_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_6_SCRAMBLE_EN_6_OFFSET })
813#define RRAM_CTRL_INFO_PAGE_CFG_6_ECC_EN_6_MASK 0xfu
814#define RRAM_CTRL_INFO_PAGE_CFG_6_ECC_EN_6_OFFSET 16
815#define RRAM_CTRL_INFO_PAGE_CFG_6_ECC_EN_6_FIELD \
816 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_6_ECC_EN_6_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_6_ECC_EN_6_OFFSET })
817
818// Memory property configuration for info partition.
819#define RRAM_CTRL_INFO_PAGE_CFG_7_REG_OFFSET 0xe0
820#define RRAM_CTRL_INFO_PAGE_CFG_7_REG_RESVAL 0x99999u
821#define RRAM_CTRL_INFO_PAGE_CFG_7_EN_7_MASK 0xfu
822#define RRAM_CTRL_INFO_PAGE_CFG_7_EN_7_OFFSET 0
823#define RRAM_CTRL_INFO_PAGE_CFG_7_EN_7_FIELD \
824 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_7_EN_7_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_7_EN_7_OFFSET })
825#define RRAM_CTRL_INFO_PAGE_CFG_7_RD_EN_7_MASK 0xfu
826#define RRAM_CTRL_INFO_PAGE_CFG_7_RD_EN_7_OFFSET 4
827#define RRAM_CTRL_INFO_PAGE_CFG_7_RD_EN_7_FIELD \
828 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_7_RD_EN_7_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_7_RD_EN_7_OFFSET })
829#define RRAM_CTRL_INFO_PAGE_CFG_7_WR_EN_7_MASK 0xfu
830#define RRAM_CTRL_INFO_PAGE_CFG_7_WR_EN_7_OFFSET 8
831#define RRAM_CTRL_INFO_PAGE_CFG_7_WR_EN_7_FIELD \
832 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_7_WR_EN_7_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_7_WR_EN_7_OFFSET })
833#define RRAM_CTRL_INFO_PAGE_CFG_7_SCRAMBLE_EN_7_MASK 0xfu
834#define RRAM_CTRL_INFO_PAGE_CFG_7_SCRAMBLE_EN_7_OFFSET 12
835#define RRAM_CTRL_INFO_PAGE_CFG_7_SCRAMBLE_EN_7_FIELD \
836 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_7_SCRAMBLE_EN_7_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_7_SCRAMBLE_EN_7_OFFSET })
837#define RRAM_CTRL_INFO_PAGE_CFG_7_ECC_EN_7_MASK 0xfu
838#define RRAM_CTRL_INFO_PAGE_CFG_7_ECC_EN_7_OFFSET 16
839#define RRAM_CTRL_INFO_PAGE_CFG_7_ECC_EN_7_FIELD \
840 ((bitfield_field32_t) { .mask = RRAM_CTRL_INFO_PAGE_CFG_7_ECC_EN_7_MASK, .index = RRAM_CTRL_INFO_PAGE_CFG_7_ECC_EN_7_OFFSET })
841
842// HW interface info configuration rule overrides
843#define RRAM_CTRL_HW_INFO_CFG_OVERRIDE_REG_OFFSET 0xe4
844#define RRAM_CTRL_HW_INFO_CFG_OVERRIDE_REG_RESVAL 0x99u
845#define RRAM_CTRL_HW_INFO_CFG_OVERRIDE_SCRAMBLE_DIS_MASK 0xfu
846#define RRAM_CTRL_HW_INFO_CFG_OVERRIDE_SCRAMBLE_DIS_OFFSET 0
847#define RRAM_CTRL_HW_INFO_CFG_OVERRIDE_SCRAMBLE_DIS_FIELD \
848 ((bitfield_field32_t) { .mask = RRAM_CTRL_HW_INFO_CFG_OVERRIDE_SCRAMBLE_DIS_MASK, .index = RRAM_CTRL_HW_INFO_CFG_OVERRIDE_SCRAMBLE_DIS_OFFSET })
849#define RRAM_CTRL_HW_INFO_CFG_OVERRIDE_ECC_DIS_MASK 0xfu
850#define RRAM_CTRL_HW_INFO_CFG_OVERRIDE_ECC_DIS_OFFSET 4
851#define RRAM_CTRL_HW_INFO_CFG_OVERRIDE_ECC_DIS_FIELD \
852 ((bitfield_field32_t) { .mask = RRAM_CTRL_HW_INFO_CFG_OVERRIDE_ECC_DIS_MASK, .index = RRAM_CTRL_HW_INFO_CFG_OVERRIDE_ECC_DIS_OFFSET })
853
854// RRAM Operation Status
855#define RRAM_CTRL_OP_STATUS_REG_OFFSET 0xe8
856#define RRAM_CTRL_OP_STATUS_REG_RESVAL 0x0u
857#define RRAM_CTRL_OP_STATUS_DONE_BIT 0
858#define RRAM_CTRL_OP_STATUS_ERR_BIT 1
859
860// RRAM Controller Status
861#define RRAM_CTRL_STATUS_REG_OFFSET 0xec
862#define RRAM_CTRL_STATUS_REG_RESVAL 0xau
863#define RRAM_CTRL_STATUS_RD_FULL_BIT 0
864#define RRAM_CTRL_STATUS_RD_EMPTY_BIT 1
865#define RRAM_CTRL_STATUS_WR_FULL_BIT 2
866#define RRAM_CTRL_STATUS_WR_EMPTY_BIT 3
867#define RRAM_CTRL_STATUS_INIT_DONE_BIT 4
868#define RRAM_CTRL_STATUS_KEYS_VALID_BIT 5
869
870// RRAM error code register.
871#define RRAM_CTRL_ERR_CODE_REG_OFFSET 0xf0
872#define RRAM_CTRL_ERR_CODE_REG_RESVAL 0x0u
873#define RRAM_CTRL_ERR_CODE_OP_ERR_BIT 0
874#define RRAM_CTRL_ERR_CODE_MP_ERR_BIT 1
875#define RRAM_CTRL_ERR_CODE_RD_ERR_BIT 2
876#define RRAM_CTRL_ERR_CODE_WR_ERR_BIT 3
877
878// This register tabulates standard fault status of the RRAM.
879#define RRAM_CTRL_STD_FAULT_STATUS_REG_OFFSET 0xf4
880#define RRAM_CTRL_STD_FAULT_STATUS_REG_RESVAL 0x0u
881#define RRAM_CTRL_STD_FAULT_STATUS_REG_INTG_ERR_BIT 0
882#define RRAM_CTRL_STD_FAULT_STATUS_LCMGR_ERR_BIT 1
883#define RRAM_CTRL_STD_FAULT_STATUS_LCMGR_INTG_ERR_BIT 2
884#define RRAM_CTRL_STD_FAULT_STATUS_OTP_ERR_BIT 3
885#define RRAM_CTRL_STD_FAULT_STATUS_OTP_INTG_ERR_BIT 4
886#define RRAM_CTRL_STD_FAULT_STATUS_PHY_WR_INTG_ERR_BIT 5
887#define RRAM_CTRL_STD_FAULT_STATUS_PHY_FIFO_ERR_BIT 6
888#define RRAM_CTRL_STD_FAULT_STATUS_PHY_FSM_ERR_BIT 7
889#define RRAM_CTRL_STD_FAULT_STATUS_PHY_CNT_ERR_BIT 8
890#define RRAM_CTRL_STD_FAULT_STATUS_PHY_ARB_ERR_BIT 9
891#define RRAM_CTRL_STD_FAULT_STATUS_CTRL_FSM_ERR_BIT 10
892#define RRAM_CTRL_STD_FAULT_STATUS_CTRL_CNT_ERR_BIT 11
893#define RRAM_CTRL_STD_FAULT_STATUS_CTRL_FIFO_ERR_BIT 12
894
895// This register tabulates customized fault status of the RRAM.
896#define RRAM_CTRL_FAULT_STATUS_REG_OFFSET 0xf8
897#define RRAM_CTRL_FAULT_STATUS_REG_RESVAL 0x0u
898#define RRAM_CTRL_FAULT_STATUS_LCMGR_OP_ERR_BIT 0
899#define RRAM_CTRL_FAULT_STATUS_LCMGR_MP_ERR_BIT 1
900#define RRAM_CTRL_FAULT_STATUS_LCMGR_RD_ERR_BIT 2
901#define RRAM_CTRL_FAULT_STATUS_LCMGR_WR_ERR_BIT 3
902#define RRAM_CTRL_FAULT_STATUS_OTP_OP_ERR_BIT 4
903#define RRAM_CTRL_FAULT_STATUS_OTP_MP_ERR_BIT 5
904#define RRAM_CTRL_FAULT_STATUS_OTP_RD_ERR_BIT 6
905#define RRAM_CTRL_FAULT_STATUS_OTP_WR_ERR_BIT 7
906#define RRAM_CTRL_FAULT_STATUS_SEED_ERR_BIT 8
907#define RRAM_CTRL_FAULT_STATUS_PHY_RELBL_ERR_BIT 9
908#define RRAM_CTRL_FAULT_STATUS_PHY_RD_INTG_ERR_BIT 10
909#define RRAM_CTRL_FAULT_STATUS_PHY_RD_CTRL_ERR_BIT 11
910#define RRAM_CTRL_FAULT_STATUS_SPURIOUS_DONE_BIT 12
911#define RRAM_CTRL_FAULT_STATUS_HOST_GNT_ERR_BIT 13
912
913// Synchronous error address
914#define RRAM_CTRL_ERR_ADDR_REG_OFFSET 0xfc
915#define RRAM_CTRL_ERR_ADDR_REG_RESVAL 0x0u
916#define RRAM_CTRL_ERR_ADDR_ERR_ADDR_MASK 0x1fffffu
917#define RRAM_CTRL_ERR_ADDR_ERR_ADDR_OFFSET 0
918#define RRAM_CTRL_ERR_ADDR_ERR_ADDR_FIELD \
919 ((bitfield_field32_t) { .mask = RRAM_CTRL_ERR_ADDR_ERR_ADDR_MASK, .index = RRAM_CTRL_ERR_ADDR_ERR_ADDR_OFFSET })
920
921// Count of correctable ECC errors
922#define RRAM_CTRL_CORR_ERR_CNT_REG_OFFSET 0x100
923#define RRAM_CTRL_CORR_ERR_CNT_REG_RESVAL 0x0u
924#define RRAM_CTRL_CORR_ERR_CNT_VAL_MASK 0xffu
925#define RRAM_CTRL_CORR_ERR_CNT_VAL_OFFSET 0
926#define RRAM_CTRL_CORR_ERR_CNT_VAL_FIELD \
927 ((bitfield_field32_t) { .mask = RRAM_CTRL_CORR_ERR_CNT_VAL_MASK, .index = RRAM_CTRL_CORR_ERR_CNT_VAL_OFFSET })
928
929// Last address that was successfully corrected
930#define RRAM_CTRL_CORR_ERR_LOC_REG_OFFSET 0x104
931#define RRAM_CTRL_CORR_ERR_LOC_REG_RESVAL 0x0u
932#define RRAM_CTRL_CORR_ERR_LOC_ADDR_MASK 0x1fffffu
933#define RRAM_CTRL_CORR_ERR_LOC_ADDR_OFFSET 0
934#define RRAM_CTRL_CORR_ERR_LOC_ADDR_FIELD \
935 ((bitfield_field32_t) { .mask = RRAM_CTRL_CORR_ERR_LOC_ADDR_MASK, .index = RRAM_CTRL_CORR_ERR_LOC_ADDR_OFFSET })
936#define RRAM_CTRL_CORR_ERR_LOC_PART_BIT 24
937
938// RRAM Phy Status
939#define RRAM_CTRL_PHY_STATUS_REG_OFFSET 0x108
940#define RRAM_CTRL_PHY_STATUS_REG_RESVAL 0x0u
941#define RRAM_CTRL_PHY_STATUS_WR_BUSY_BIT 0
942#define RRAM_CTRL_PHY_STATUS_INIT_DONE_BIT 1
943
944// RRAM Controller Scratch
945#define RRAM_CTRL_SCRATCH_REG_OFFSET 0x10c
946#define RRAM_CTRL_SCRATCH_REG_RESVAL 0x0u
947
948// Programmable depth where FIFOs should generate interrupts
949#define RRAM_CTRL_FIFO_LVL_REG_OFFSET 0x110
950#define RRAM_CTRL_FIFO_LVL_REG_RESVAL 0xf0fu
951#define RRAM_CTRL_FIFO_LVL_WR_MASK 0x1fu
952#define RRAM_CTRL_FIFO_LVL_WR_OFFSET 0
953#define RRAM_CTRL_FIFO_LVL_WR_FIELD \
954 ((bitfield_field32_t) { .mask = RRAM_CTRL_FIFO_LVL_WR_MASK, .index = RRAM_CTRL_FIFO_LVL_WR_OFFSET })
955#define RRAM_CTRL_FIFO_LVL_RD_MASK 0x1fu
956#define RRAM_CTRL_FIFO_LVL_RD_OFFSET 8
957#define RRAM_CTRL_FIFO_LVL_RD_FIELD \
958 ((bitfield_field32_t) { .mask = RRAM_CTRL_FIFO_LVL_RD_MASK, .index = RRAM_CTRL_FIFO_LVL_RD_OFFSET })
959
960// Clears RRAM controller FIFOs
961#define RRAM_CTRL_FIFO_CLR_REG_OFFSET 0x114
962#define RRAM_CTRL_FIFO_CLR_REG_RESVAL 0x0u
963#define RRAM_CTRL_FIFO_CLR_WR_BIT 0
964#define RRAM_CTRL_FIFO_CLR_RD_BIT 1
965
966// Current write and read fifo level
967#define RRAM_CTRL_CURR_FIFO_LVL_REG_OFFSET 0x118
968#define RRAM_CTRL_CURR_FIFO_LVL_REG_RESVAL 0x0u
969#define RRAM_CTRL_CURR_FIFO_LVL_WR_MASK 0x1fu
970#define RRAM_CTRL_CURR_FIFO_LVL_WR_OFFSET 0
971#define RRAM_CTRL_CURR_FIFO_LVL_WR_FIELD \
972 ((bitfield_field32_t) { .mask = RRAM_CTRL_CURR_FIFO_LVL_WR_MASK, .index = RRAM_CTRL_CURR_FIFO_LVL_WR_OFFSET })
973#define RRAM_CTRL_CURR_FIFO_LVL_RD_MASK 0x1fu
974#define RRAM_CTRL_CURR_FIFO_LVL_RD_OFFSET 8
975#define RRAM_CTRL_CURR_FIFO_LVL_RD_FIELD \
976 ((bitfield_field32_t) { .mask = RRAM_CTRL_CURR_FIFO_LVL_RD_MASK, .index = RRAM_CTRL_CURR_FIFO_LVL_RD_OFFSET })
977
978// Memory area: RRAM write FIFO.
979#define RRAM_CTRL_WR_FIFO_REG_OFFSET 0x11c
980#define RRAM_CTRL_WR_FIFO_SIZE_WORDS 1
981#define RRAM_CTRL_WR_FIFO_SIZE_BYTES 4
982// Memory area: RRAM read FIFO.
983#define RRAM_CTRL_RD_FIFO_REG_OFFSET 0x120
984#define RRAM_CTRL_RD_FIFO_SIZE_WORDS 1
985#define RRAM_CTRL_RD_FIFO_SIZE_BYTES 4
986#ifdef __cplusplus
987} // extern "C"
988#endif
989#endif // _RRAM_CTRL_REG_DEFS_
990// End generated register defines for rram_ctrl