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