Software APIs
sensor_ctrl_regs.h
Go to the documentation of this file.
1/**
2 * @file
3 * @brief Generated register defines for sensor_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 _SENSOR_CTRL_REG_DEFS_
14#define _SENSOR_CTRL_REG_DEFS_
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19// Number of alert events from ast
20#define SENSOR_CTRL_PARAM_NUM_ALERT_EVENTS 11
21
22// Number of local events
23#define SENSOR_CTRL_PARAM_NUM_LOCAL_EVENTS 1
24
25// Number of alerts sent from sensor control
26#define SENSOR_CTRL_PARAM_NUM_ALERTS 2
27
28// Number of IO rails
29#define SENSOR_CTRL_PARAM_NUM_IO_RAILS 2
30
31// Number of pads for which sensor control manages attributes
32#define SENSOR_CTRL_PARAM_NUM_ATTR_PADS 4
33
34// Register width
35#define SENSOR_CTRL_PARAM_REG_WIDTH 32
36
37// Common Interrupt Offsets
38#define SENSOR_CTRL_INTR_COMMON_IO_STATUS_CHANGE_BIT 0
39#define SENSOR_CTRL_INTR_COMMON_INIT_STATUS_CHANGE_BIT 1
40
41// Interrupt State Register
42#define SENSOR_CTRL_INTR_STATE_REG_OFFSET 0x0
43#define SENSOR_CTRL_INTR_STATE_REG_RESVAL 0x0u
44#define SENSOR_CTRL_INTR_STATE_IO_STATUS_CHANGE_BIT 0
45#define SENSOR_CTRL_INTR_STATE_INIT_STATUS_CHANGE_BIT 1
46
47// Interrupt Enable Register
48#define SENSOR_CTRL_INTR_ENABLE_REG_OFFSET 0x4
49#define SENSOR_CTRL_INTR_ENABLE_REG_RESVAL 0x0u
50#define SENSOR_CTRL_INTR_ENABLE_IO_STATUS_CHANGE_BIT 0
51#define SENSOR_CTRL_INTR_ENABLE_INIT_STATUS_CHANGE_BIT 1
52
53// Interrupt Test Register
54#define SENSOR_CTRL_INTR_TEST_REG_OFFSET 0x8
55#define SENSOR_CTRL_INTR_TEST_REG_RESVAL 0x0u
56#define SENSOR_CTRL_INTR_TEST_IO_STATUS_CHANGE_BIT 0
57#define SENSOR_CTRL_INTR_TEST_INIT_STATUS_CHANGE_BIT 1
58
59// Alert Test Register
60#define SENSOR_CTRL_ALERT_TEST_REG_OFFSET 0xc
61#define SENSOR_CTRL_ALERT_TEST_REG_RESVAL 0x0u
62#define SENSOR_CTRL_ALERT_TEST_RECOV_ALERT_BIT 0
63#define SENSOR_CTRL_ALERT_TEST_FATAL_ALERT_BIT 1
64
65// Controls the configurability of !!FATAL_ALERT_EN register.
66#define SENSOR_CTRL_CFG_REGWEN_REG_OFFSET 0x10
67#define SENSOR_CTRL_CFG_REGWEN_REG_RESVAL 0x1u
68#define SENSOR_CTRL_CFG_REGWEN_EN_BIT 0
69
70// Alert trigger test (common parameters)
71#define SENSOR_CTRL_ALERT_TRIG_VAL_FIELD_WIDTH 1
72#define SENSOR_CTRL_ALERT_TRIG_MULTIREG_COUNT 1
73
74// Alert trigger test
75#define SENSOR_CTRL_ALERT_TRIG_REG_OFFSET 0x14
76#define SENSOR_CTRL_ALERT_TRIG_REG_RESVAL 0x0u
77#define SENSOR_CTRL_ALERT_TRIG_VAL_0_BIT 0
78#define SENSOR_CTRL_ALERT_TRIG_VAL_1_BIT 1
79#define SENSOR_CTRL_ALERT_TRIG_VAL_2_BIT 2
80#define SENSOR_CTRL_ALERT_TRIG_VAL_3_BIT 3
81#define SENSOR_CTRL_ALERT_TRIG_VAL_4_BIT 4
82#define SENSOR_CTRL_ALERT_TRIG_VAL_5_BIT 5
83#define SENSOR_CTRL_ALERT_TRIG_VAL_6_BIT 6
84#define SENSOR_CTRL_ALERT_TRIG_VAL_7_BIT 7
85#define SENSOR_CTRL_ALERT_TRIG_VAL_8_BIT 8
86#define SENSOR_CTRL_ALERT_TRIG_VAL_9_BIT 9
87#define SENSOR_CTRL_ALERT_TRIG_VAL_10_BIT 10
88
89// Each multibit value enables a corresponding alert. (common parameters)
90#define SENSOR_CTRL_ALERT_EN_VAL_FIELD_WIDTH 4
91#define SENSOR_CTRL_ALERT_EN_MULTIREG_COUNT 11
92
93// Each multibit value enables a corresponding alert.
94#define SENSOR_CTRL_ALERT_EN_0_REG_OFFSET 0x18
95#define SENSOR_CTRL_ALERT_EN_0_REG_RESVAL 0x6u
96#define SENSOR_CTRL_ALERT_EN_0_VAL_0_MASK 0xfu
97#define SENSOR_CTRL_ALERT_EN_0_VAL_0_OFFSET 0
98#define SENSOR_CTRL_ALERT_EN_0_VAL_0_FIELD \
99 ((bitfield_field32_t) { .mask = SENSOR_CTRL_ALERT_EN_0_VAL_0_MASK, .index = SENSOR_CTRL_ALERT_EN_0_VAL_0_OFFSET })
100
101// Each multibit value enables a corresponding alert.
102#define SENSOR_CTRL_ALERT_EN_1_REG_OFFSET 0x1c
103#define SENSOR_CTRL_ALERT_EN_1_REG_RESVAL 0x6u
104#define SENSOR_CTRL_ALERT_EN_1_VAL_1_MASK 0xfu
105#define SENSOR_CTRL_ALERT_EN_1_VAL_1_OFFSET 0
106#define SENSOR_CTRL_ALERT_EN_1_VAL_1_FIELD \
107 ((bitfield_field32_t) { .mask = SENSOR_CTRL_ALERT_EN_1_VAL_1_MASK, .index = SENSOR_CTRL_ALERT_EN_1_VAL_1_OFFSET })
108
109// Each multibit value enables a corresponding alert.
110#define SENSOR_CTRL_ALERT_EN_2_REG_OFFSET 0x20
111#define SENSOR_CTRL_ALERT_EN_2_REG_RESVAL 0x6u
112#define SENSOR_CTRL_ALERT_EN_2_VAL_2_MASK 0xfu
113#define SENSOR_CTRL_ALERT_EN_2_VAL_2_OFFSET 0
114#define SENSOR_CTRL_ALERT_EN_2_VAL_2_FIELD \
115 ((bitfield_field32_t) { .mask = SENSOR_CTRL_ALERT_EN_2_VAL_2_MASK, .index = SENSOR_CTRL_ALERT_EN_2_VAL_2_OFFSET })
116
117// Each multibit value enables a corresponding alert.
118#define SENSOR_CTRL_ALERT_EN_3_REG_OFFSET 0x24
119#define SENSOR_CTRL_ALERT_EN_3_REG_RESVAL 0x6u
120#define SENSOR_CTRL_ALERT_EN_3_VAL_3_MASK 0xfu
121#define SENSOR_CTRL_ALERT_EN_3_VAL_3_OFFSET 0
122#define SENSOR_CTRL_ALERT_EN_3_VAL_3_FIELD \
123 ((bitfield_field32_t) { .mask = SENSOR_CTRL_ALERT_EN_3_VAL_3_MASK, .index = SENSOR_CTRL_ALERT_EN_3_VAL_3_OFFSET })
124
125// Each multibit value enables a corresponding alert.
126#define SENSOR_CTRL_ALERT_EN_4_REG_OFFSET 0x28
127#define SENSOR_CTRL_ALERT_EN_4_REG_RESVAL 0x6u
128#define SENSOR_CTRL_ALERT_EN_4_VAL_4_MASK 0xfu
129#define SENSOR_CTRL_ALERT_EN_4_VAL_4_OFFSET 0
130#define SENSOR_CTRL_ALERT_EN_4_VAL_4_FIELD \
131 ((bitfield_field32_t) { .mask = SENSOR_CTRL_ALERT_EN_4_VAL_4_MASK, .index = SENSOR_CTRL_ALERT_EN_4_VAL_4_OFFSET })
132
133// Each multibit value enables a corresponding alert.
134#define SENSOR_CTRL_ALERT_EN_5_REG_OFFSET 0x2c
135#define SENSOR_CTRL_ALERT_EN_5_REG_RESVAL 0x6u
136#define SENSOR_CTRL_ALERT_EN_5_VAL_5_MASK 0xfu
137#define SENSOR_CTRL_ALERT_EN_5_VAL_5_OFFSET 0
138#define SENSOR_CTRL_ALERT_EN_5_VAL_5_FIELD \
139 ((bitfield_field32_t) { .mask = SENSOR_CTRL_ALERT_EN_5_VAL_5_MASK, .index = SENSOR_CTRL_ALERT_EN_5_VAL_5_OFFSET })
140
141// Each multibit value enables a corresponding alert.
142#define SENSOR_CTRL_ALERT_EN_6_REG_OFFSET 0x30
143#define SENSOR_CTRL_ALERT_EN_6_REG_RESVAL 0x6u
144#define SENSOR_CTRL_ALERT_EN_6_VAL_6_MASK 0xfu
145#define SENSOR_CTRL_ALERT_EN_6_VAL_6_OFFSET 0
146#define SENSOR_CTRL_ALERT_EN_6_VAL_6_FIELD \
147 ((bitfield_field32_t) { .mask = SENSOR_CTRL_ALERT_EN_6_VAL_6_MASK, .index = SENSOR_CTRL_ALERT_EN_6_VAL_6_OFFSET })
148
149// Each multibit value enables a corresponding alert.
150#define SENSOR_CTRL_ALERT_EN_7_REG_OFFSET 0x34
151#define SENSOR_CTRL_ALERT_EN_7_REG_RESVAL 0x6u
152#define SENSOR_CTRL_ALERT_EN_7_VAL_7_MASK 0xfu
153#define SENSOR_CTRL_ALERT_EN_7_VAL_7_OFFSET 0
154#define SENSOR_CTRL_ALERT_EN_7_VAL_7_FIELD \
155 ((bitfield_field32_t) { .mask = SENSOR_CTRL_ALERT_EN_7_VAL_7_MASK, .index = SENSOR_CTRL_ALERT_EN_7_VAL_7_OFFSET })
156
157// Each multibit value enables a corresponding alert.
158#define SENSOR_CTRL_ALERT_EN_8_REG_OFFSET 0x38
159#define SENSOR_CTRL_ALERT_EN_8_REG_RESVAL 0x6u
160#define SENSOR_CTRL_ALERT_EN_8_VAL_8_MASK 0xfu
161#define SENSOR_CTRL_ALERT_EN_8_VAL_8_OFFSET 0
162#define SENSOR_CTRL_ALERT_EN_8_VAL_8_FIELD \
163 ((bitfield_field32_t) { .mask = SENSOR_CTRL_ALERT_EN_8_VAL_8_MASK, .index = SENSOR_CTRL_ALERT_EN_8_VAL_8_OFFSET })
164
165// Each multibit value enables a corresponding alert.
166#define SENSOR_CTRL_ALERT_EN_9_REG_OFFSET 0x3c
167#define SENSOR_CTRL_ALERT_EN_9_REG_RESVAL 0x6u
168#define SENSOR_CTRL_ALERT_EN_9_VAL_9_MASK 0xfu
169#define SENSOR_CTRL_ALERT_EN_9_VAL_9_OFFSET 0
170#define SENSOR_CTRL_ALERT_EN_9_VAL_9_FIELD \
171 ((bitfield_field32_t) { .mask = SENSOR_CTRL_ALERT_EN_9_VAL_9_MASK, .index = SENSOR_CTRL_ALERT_EN_9_VAL_9_OFFSET })
172
173// Each multibit value enables a corresponding alert.
174#define SENSOR_CTRL_ALERT_EN_10_REG_OFFSET 0x40
175#define SENSOR_CTRL_ALERT_EN_10_REG_RESVAL 0x6u
176#define SENSOR_CTRL_ALERT_EN_10_VAL_10_MASK 0xfu
177#define SENSOR_CTRL_ALERT_EN_10_VAL_10_OFFSET 0
178#define SENSOR_CTRL_ALERT_EN_10_VAL_10_FIELD \
179 ((bitfield_field32_t) { .mask = SENSOR_CTRL_ALERT_EN_10_VAL_10_MASK, .index = SENSOR_CTRL_ALERT_EN_10_VAL_10_OFFSET })
180
181// Each bit marks a corresponding alert as fatal or recoverable.
182#define SENSOR_CTRL_FATAL_ALERT_EN_VAL_FIELD_WIDTH 1
183#define SENSOR_CTRL_FATAL_ALERT_EN_MULTIREG_COUNT 1
184
185// Each bit marks a corresponding alert as fatal or recoverable.
186#define SENSOR_CTRL_FATAL_ALERT_EN_REG_OFFSET 0x44
187#define SENSOR_CTRL_FATAL_ALERT_EN_REG_RESVAL 0x0u
188#define SENSOR_CTRL_FATAL_ALERT_EN_VAL_0_BIT 0
189#define SENSOR_CTRL_FATAL_ALERT_EN_VAL_1_BIT 1
190#define SENSOR_CTRL_FATAL_ALERT_EN_VAL_2_BIT 2
191#define SENSOR_CTRL_FATAL_ALERT_EN_VAL_3_BIT 3
192#define SENSOR_CTRL_FATAL_ALERT_EN_VAL_4_BIT 4
193#define SENSOR_CTRL_FATAL_ALERT_EN_VAL_5_BIT 5
194#define SENSOR_CTRL_FATAL_ALERT_EN_VAL_6_BIT 6
195#define SENSOR_CTRL_FATAL_ALERT_EN_VAL_7_BIT 7
196#define SENSOR_CTRL_FATAL_ALERT_EN_VAL_8_BIT 8
197#define SENSOR_CTRL_FATAL_ALERT_EN_VAL_9_BIT 9
198#define SENSOR_CTRL_FATAL_ALERT_EN_VAL_10_BIT 10
199
200// Each bit represents a recoverable alert that has been triggered by AST.
201#define SENSOR_CTRL_RECOV_ALERT_VAL_FIELD_WIDTH 1
202#define SENSOR_CTRL_RECOV_ALERT_MULTIREG_COUNT 1
203
204// Each bit represents a recoverable alert that has been triggered by AST.
205#define SENSOR_CTRL_RECOV_ALERT_REG_OFFSET 0x48
206#define SENSOR_CTRL_RECOV_ALERT_REG_RESVAL 0x0u
207#define SENSOR_CTRL_RECOV_ALERT_VAL_0_BIT 0
208#define SENSOR_CTRL_RECOV_ALERT_VAL_1_BIT 1
209#define SENSOR_CTRL_RECOV_ALERT_VAL_2_BIT 2
210#define SENSOR_CTRL_RECOV_ALERT_VAL_3_BIT 3
211#define SENSOR_CTRL_RECOV_ALERT_VAL_4_BIT 4
212#define SENSOR_CTRL_RECOV_ALERT_VAL_5_BIT 5
213#define SENSOR_CTRL_RECOV_ALERT_VAL_6_BIT 6
214#define SENSOR_CTRL_RECOV_ALERT_VAL_7_BIT 7
215#define SENSOR_CTRL_RECOV_ALERT_VAL_8_BIT 8
216#define SENSOR_CTRL_RECOV_ALERT_VAL_9_BIT 9
217#define SENSOR_CTRL_RECOV_ALERT_VAL_10_BIT 10
218
219// Each bit represents a fatal alert that has been triggered by AST.
220#define SENSOR_CTRL_FATAL_ALERT_VAL_FIELD_WIDTH 1
221#define SENSOR_CTRL_FATAL_ALERT_MULTIREG_COUNT 1
222
223// Each bit represents a fatal alert that has been triggered by AST.
224#define SENSOR_CTRL_FATAL_ALERT_REG_OFFSET 0x4c
225#define SENSOR_CTRL_FATAL_ALERT_REG_RESVAL 0x0u
226#define SENSOR_CTRL_FATAL_ALERT_VAL_0_BIT 0
227#define SENSOR_CTRL_FATAL_ALERT_VAL_1_BIT 1
228#define SENSOR_CTRL_FATAL_ALERT_VAL_2_BIT 2
229#define SENSOR_CTRL_FATAL_ALERT_VAL_3_BIT 3
230#define SENSOR_CTRL_FATAL_ALERT_VAL_4_BIT 4
231#define SENSOR_CTRL_FATAL_ALERT_VAL_5_BIT 5
232#define SENSOR_CTRL_FATAL_ALERT_VAL_6_BIT 6
233#define SENSOR_CTRL_FATAL_ALERT_VAL_7_BIT 7
234#define SENSOR_CTRL_FATAL_ALERT_VAL_8_BIT 8
235#define SENSOR_CTRL_FATAL_ALERT_VAL_9_BIT 9
236#define SENSOR_CTRL_FATAL_ALERT_VAL_10_BIT 10
237#define SENSOR_CTRL_FATAL_ALERT_VAL_11_BIT 11
238
239// Status readback for ast
240#define SENSOR_CTRL_STATUS_REG_OFFSET 0x50
241#define SENSOR_CTRL_STATUS_REG_RESVAL 0x0u
242#define SENSOR_CTRL_STATUS_AST_INIT_DONE_BIT 0
243#define SENSOR_CTRL_STATUS_IO_POK_MASK 0x3u
244#define SENSOR_CTRL_STATUS_IO_POK_OFFSET 1
245#define SENSOR_CTRL_STATUS_IO_POK_FIELD \
246 ((bitfield_field32_t) { .mask = SENSOR_CTRL_STATUS_IO_POK_MASK, .index = SENSOR_CTRL_STATUS_IO_POK_OFFSET })
247
248// Register write enable for attributes of manual pads (common parameters)
249#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_EN_FIELD_WIDTH 1
250#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_MULTIREG_COUNT 4
251
252// Register write enable for attributes of manual pads
253#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_0_REG_OFFSET 0x54
254#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_0_REG_RESVAL 0x1u
255#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_0_EN_0_BIT 0
256
257// Register write enable for attributes of manual pads
258#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_1_REG_OFFSET 0x58
259#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_1_REG_RESVAL 0x1u
260#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_1_EN_1_BIT 0
261
262// Register write enable for attributes of manual pads
263#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_2_REG_OFFSET 0x5c
264#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_2_REG_RESVAL 0x1u
265#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_2_EN_2_BIT 0
266
267// Register write enable for attributes of manual pads
268#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_3_REG_OFFSET 0x60
269#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_3_REG_RESVAL 0x1u
270#define SENSOR_CTRL_MANUAL_PAD_ATTR_REGWEN_3_EN_3_BIT 0
271
272// Attributes of manual pads.
273#define SENSOR_CTRL_MANUAL_PAD_ATTR_PULL_EN_FIELD_WIDTH 1
274#define SENSOR_CTRL_MANUAL_PAD_ATTR_PULL_SELECT_FIELD_WIDTH 1
275#define SENSOR_CTRL_MANUAL_PAD_ATTR_INPUT_DISABLE_FIELD_WIDTH 1
276#define SENSOR_CTRL_MANUAL_PAD_ATTR_MULTIREG_COUNT 4
277
278// Attributes of manual pads.
279#define SENSOR_CTRL_MANUAL_PAD_ATTR_0_REG_OFFSET 0x64
280#define SENSOR_CTRL_MANUAL_PAD_ATTR_0_REG_RESVAL 0x0u
281#define SENSOR_CTRL_MANUAL_PAD_ATTR_0_PULL_EN_0_BIT 2
282#define SENSOR_CTRL_MANUAL_PAD_ATTR_0_PULL_SELECT_0_BIT 3
283#define SENSOR_CTRL_MANUAL_PAD_ATTR_0_PULL_SELECT_0_VALUE_PULL_DOWN 0x0
284#define SENSOR_CTRL_MANUAL_PAD_ATTR_0_PULL_SELECT_0_VALUE_PULL_UP 0x1
285#define SENSOR_CTRL_MANUAL_PAD_ATTR_0_INPUT_DISABLE_0_BIT 7
286
287// Attributes of manual pads.
288#define SENSOR_CTRL_MANUAL_PAD_ATTR_1_REG_OFFSET 0x68
289#define SENSOR_CTRL_MANUAL_PAD_ATTR_1_REG_RESVAL 0x0u
290#define SENSOR_CTRL_MANUAL_PAD_ATTR_1_PULL_EN_1_BIT 2
291#define SENSOR_CTRL_MANUAL_PAD_ATTR_1_PULL_SELECT_1_BIT 3
292#define SENSOR_CTRL_MANUAL_PAD_ATTR_1_INPUT_DISABLE_1_BIT 7
293
294// Attributes of manual pads.
295#define SENSOR_CTRL_MANUAL_PAD_ATTR_2_REG_OFFSET 0x6c
296#define SENSOR_CTRL_MANUAL_PAD_ATTR_2_REG_RESVAL 0x0u
297#define SENSOR_CTRL_MANUAL_PAD_ATTR_2_PULL_EN_2_BIT 2
298#define SENSOR_CTRL_MANUAL_PAD_ATTR_2_PULL_SELECT_2_BIT 3
299#define SENSOR_CTRL_MANUAL_PAD_ATTR_2_INPUT_DISABLE_2_BIT 7
300
301// Attributes of manual pads.
302#define SENSOR_CTRL_MANUAL_PAD_ATTR_3_REG_OFFSET 0x70
303#define SENSOR_CTRL_MANUAL_PAD_ATTR_3_REG_RESVAL 0x0u
304#define SENSOR_CTRL_MANUAL_PAD_ATTR_3_PULL_EN_3_BIT 2
305#define SENSOR_CTRL_MANUAL_PAD_ATTR_3_PULL_SELECT_3_BIT 3
306#define SENSOR_CTRL_MANUAL_PAD_ATTR_3_INPUT_DISABLE_3_BIT 7
307
308#ifdef __cplusplus
309} // extern "C"
310#endif
311#endif // _SENSOR_CTRL_REG_DEFS_
312// End generated register defines for sensor_ctrl