 |
Software APIs
|
Go to the documentation of this file.
13#ifndef _CLKMGR_REG_DEFS_
14#define _CLKMGR_REG_DEFS_
20#define CLKMGR_PARAM_NUM_GROUPS 8
23#define CLKMGR_PARAM_NUM_SW_GATEABLE_CLOCKS 5
26#define CLKMGR_PARAM_NUM_HINTABLE_CLOCKS 4
29#define CLKMGR_PARAM_NUM_ALERTS 2
32#define CLKMGR_PARAM_REG_WIDTH 32
35#define CLKMGR_ALERT_TEST_REG_OFFSET 0x0
36#define CLKMGR_ALERT_TEST_REG_RESVAL 0x80000000u
37#define CLKMGR_ALERT_TEST_RECOV_FAULT_BIT 0
38#define CLKMGR_ALERT_TEST_FATAL_FAULT_BIT 1
39#define CLKMGR_ALERT_TEST_REGWEN_BIT 31
42#define CLKMGR_EXTCLK_CTRL_REGWEN_REG_OFFSET 0x4
43#define CLKMGR_EXTCLK_CTRL_REGWEN_REG_RESVAL 0x1u
44#define CLKMGR_EXTCLK_CTRL_REGWEN_EN_BIT 0
47#define CLKMGR_EXTCLK_CTRL_REG_OFFSET 0x8
48#define CLKMGR_EXTCLK_CTRL_REG_RESVAL 0x99u
49#define CLKMGR_EXTCLK_CTRL_SEL_MASK 0xfu
50#define CLKMGR_EXTCLK_CTRL_SEL_OFFSET 0
51#define CLKMGR_EXTCLK_CTRL_SEL_FIELD \
52 ((bitfield_field32_t) { .mask = CLKMGR_EXTCLK_CTRL_SEL_MASK, .index = CLKMGR_EXTCLK_CTRL_SEL_OFFSET })
53#define CLKMGR_EXTCLK_CTRL_HI_SPEED_SEL_MASK 0xfu
54#define CLKMGR_EXTCLK_CTRL_HI_SPEED_SEL_OFFSET 4
55#define CLKMGR_EXTCLK_CTRL_HI_SPEED_SEL_FIELD \
56 ((bitfield_field32_t) { .mask = CLKMGR_EXTCLK_CTRL_HI_SPEED_SEL_MASK, .index = CLKMGR_EXTCLK_CTRL_HI_SPEED_SEL_OFFSET })
59#define CLKMGR_EXTCLK_STATUS_REG_OFFSET 0xc
60#define CLKMGR_EXTCLK_STATUS_REG_RESVAL 0x9u
61#define CLKMGR_EXTCLK_STATUS_ACK_MASK 0xfu
62#define CLKMGR_EXTCLK_STATUS_ACK_OFFSET 0
63#define CLKMGR_EXTCLK_STATUS_ACK_FIELD \
64 ((bitfield_field32_t) { .mask = CLKMGR_EXTCLK_STATUS_ACK_MASK, .index = CLKMGR_EXTCLK_STATUS_ACK_OFFSET })
67#define CLKMGR_JITTER_REGWEN_REG_OFFSET 0x10
68#define CLKMGR_JITTER_REGWEN_REG_RESVAL 0x1u
69#define CLKMGR_JITTER_REGWEN_EN_BIT 0
72#define CLKMGR_JITTER_ENABLE_REG_OFFSET 0x14
73#define CLKMGR_JITTER_ENABLE_REG_RESVAL 0x9u
74#define CLKMGR_JITTER_ENABLE_VAL_MASK 0xfu
75#define CLKMGR_JITTER_ENABLE_VAL_OFFSET 0
76#define CLKMGR_JITTER_ENABLE_VAL_FIELD \
77 ((bitfield_field32_t) { .mask = CLKMGR_JITTER_ENABLE_VAL_MASK, .index = CLKMGR_JITTER_ENABLE_VAL_OFFSET })
80#define CLKMGR_CLK_ENABLES_REG_OFFSET 0x18
81#define CLKMGR_CLK_ENABLES_REG_RESVAL 0x1fu
82#define CLKMGR_CLK_ENABLES_CLK_IO_DIV4_PERI_EN_BIT 0
83#define CLKMGR_CLK_ENABLES_CLK_IO_DIV2_PERI_EN_BIT 1
84#define CLKMGR_CLK_ENABLES_CLK_IO_PERI_EN_BIT 2
85#define CLKMGR_CLK_ENABLES_CLK_USB_PERI_EN_BIT 3
86#define CLKMGR_CLK_ENABLES_CLK_IO_SPI_HOST1_EN_BIT 4
89#define CLKMGR_CLK_HINTS_REG_OFFSET 0x1c
90#define CLKMGR_CLK_HINTS_REG_RESVAL 0xfu
91#define CLKMGR_CLK_HINTS_CLK_MAIN_AES_HINT_BIT 0
92#define CLKMGR_CLK_HINTS_CLK_MAIN_HMAC_HINT_BIT 1
93#define CLKMGR_CLK_HINTS_CLK_MAIN_KMAC_HINT_BIT 2
94#define CLKMGR_CLK_HINTS_CLK_MAIN_OTBN_HINT_BIT 3
97#define CLKMGR_CLK_HINTS_STATUS_REG_OFFSET 0x20
98#define CLKMGR_CLK_HINTS_STATUS_REG_RESVAL 0xfu
99#define CLKMGR_CLK_HINTS_STATUS_CLK_MAIN_AES_VAL_BIT 0
100#define CLKMGR_CLK_HINTS_STATUS_CLK_MAIN_HMAC_VAL_BIT 1
101#define CLKMGR_CLK_HINTS_STATUS_CLK_MAIN_KMAC_VAL_BIT 2
102#define CLKMGR_CLK_HINTS_STATUS_CLK_MAIN_OTBN_VAL_BIT 3
105#define CLKMGR_MEASURE_CTRL_REGWEN_REG_OFFSET 0x24
106#define CLKMGR_MEASURE_CTRL_REGWEN_REG_RESVAL 0x1u
107#define CLKMGR_MEASURE_CTRL_REGWEN_EN_BIT 0
110#define CLKMGR_IO_MEAS_CTRL_EN_REG_OFFSET 0x28
111#define CLKMGR_IO_MEAS_CTRL_EN_REG_RESVAL 0x9u
112#define CLKMGR_IO_MEAS_CTRL_EN_EN_MASK 0xfu
113#define CLKMGR_IO_MEAS_CTRL_EN_EN_OFFSET 0
114#define CLKMGR_IO_MEAS_CTRL_EN_EN_FIELD \
115 ((bitfield_field32_t) { .mask = CLKMGR_IO_MEAS_CTRL_EN_EN_MASK, .index = CLKMGR_IO_MEAS_CTRL_EN_EN_OFFSET })
118#define CLKMGR_IO_MEAS_CTRL_SHADOWED_REG_OFFSET 0x2c
119#define CLKMGR_IO_MEAS_CTRL_SHADOWED_REG_RESVAL 0x759eau
120#define CLKMGR_IO_MEAS_CTRL_SHADOWED_HI_MASK 0x3ffu
121#define CLKMGR_IO_MEAS_CTRL_SHADOWED_HI_OFFSET 0
122#define CLKMGR_IO_MEAS_CTRL_SHADOWED_HI_FIELD \
123 ((bitfield_field32_t) { .mask = CLKMGR_IO_MEAS_CTRL_SHADOWED_HI_MASK, .index = CLKMGR_IO_MEAS_CTRL_SHADOWED_HI_OFFSET })
124#define CLKMGR_IO_MEAS_CTRL_SHADOWED_LO_MASK 0x3ffu
125#define CLKMGR_IO_MEAS_CTRL_SHADOWED_LO_OFFSET 10
126#define CLKMGR_IO_MEAS_CTRL_SHADOWED_LO_FIELD \
127 ((bitfield_field32_t) { .mask = CLKMGR_IO_MEAS_CTRL_SHADOWED_LO_MASK, .index = CLKMGR_IO_MEAS_CTRL_SHADOWED_LO_OFFSET })
130#define CLKMGR_IO_DIV4_MEAS_CTRL_EN_REG_OFFSET 0x30
131#define CLKMGR_IO_DIV4_MEAS_CTRL_EN_REG_RESVAL 0x9u
132#define CLKMGR_IO_DIV4_MEAS_CTRL_EN_EN_MASK 0xfu
133#define CLKMGR_IO_DIV4_MEAS_CTRL_EN_EN_OFFSET 0
134#define CLKMGR_IO_DIV4_MEAS_CTRL_EN_EN_FIELD \
135 ((bitfield_field32_t) { .mask = CLKMGR_IO_DIV4_MEAS_CTRL_EN_EN_MASK, .index = CLKMGR_IO_DIV4_MEAS_CTRL_EN_EN_OFFSET })
138#define CLKMGR_IO_DIV4_MEAS_CTRL_SHADOWED_REG_OFFSET 0x34
139#define CLKMGR_IO_DIV4_MEAS_CTRL_SHADOWED_REG_RESVAL 0x6e82u
140#define CLKMGR_IO_DIV4_MEAS_CTRL_SHADOWED_HI_MASK 0xffu
141#define CLKMGR_IO_DIV4_MEAS_CTRL_SHADOWED_HI_OFFSET 0
142#define CLKMGR_IO_DIV4_MEAS_CTRL_SHADOWED_HI_FIELD \
143 ((bitfield_field32_t) { .mask = CLKMGR_IO_DIV4_MEAS_CTRL_SHADOWED_HI_MASK, .index = CLKMGR_IO_DIV4_MEAS_CTRL_SHADOWED_HI_OFFSET })
144#define CLKMGR_IO_DIV4_MEAS_CTRL_SHADOWED_LO_MASK 0xffu
145#define CLKMGR_IO_DIV4_MEAS_CTRL_SHADOWED_LO_OFFSET 8
146#define CLKMGR_IO_DIV4_MEAS_CTRL_SHADOWED_LO_FIELD \
147 ((bitfield_field32_t) { .mask = CLKMGR_IO_DIV4_MEAS_CTRL_SHADOWED_LO_MASK, .index = CLKMGR_IO_DIV4_MEAS_CTRL_SHADOWED_LO_OFFSET })
150#define CLKMGR_MAIN_MEAS_CTRL_EN_REG_OFFSET 0x38
151#define CLKMGR_MAIN_MEAS_CTRL_EN_REG_RESVAL 0x9u
152#define CLKMGR_MAIN_MEAS_CTRL_EN_EN_MASK 0xfu
153#define CLKMGR_MAIN_MEAS_CTRL_EN_EN_OFFSET 0
154#define CLKMGR_MAIN_MEAS_CTRL_EN_EN_FIELD \
155 ((bitfield_field32_t) { .mask = CLKMGR_MAIN_MEAS_CTRL_EN_EN_MASK, .index = CLKMGR_MAIN_MEAS_CTRL_EN_EN_OFFSET })
158#define CLKMGR_MAIN_MEAS_CTRL_SHADOWED_REG_OFFSET 0x3c
159#define CLKMGR_MAIN_MEAS_CTRL_SHADOWED_REG_RESVAL 0x7a9feu
160#define CLKMGR_MAIN_MEAS_CTRL_SHADOWED_HI_MASK 0x3ffu
161#define CLKMGR_MAIN_MEAS_CTRL_SHADOWED_HI_OFFSET 0
162#define CLKMGR_MAIN_MEAS_CTRL_SHADOWED_HI_FIELD \
163 ((bitfield_field32_t) { .mask = CLKMGR_MAIN_MEAS_CTRL_SHADOWED_HI_MASK, .index = CLKMGR_MAIN_MEAS_CTRL_SHADOWED_HI_OFFSET })
164#define CLKMGR_MAIN_MEAS_CTRL_SHADOWED_LO_MASK 0x3ffu
165#define CLKMGR_MAIN_MEAS_CTRL_SHADOWED_LO_OFFSET 10
166#define CLKMGR_MAIN_MEAS_CTRL_SHADOWED_LO_FIELD \
167 ((bitfield_field32_t) { .mask = CLKMGR_MAIN_MEAS_CTRL_SHADOWED_LO_MASK, .index = CLKMGR_MAIN_MEAS_CTRL_SHADOWED_LO_OFFSET })
170#define CLKMGR_USB_MEAS_CTRL_EN_REG_OFFSET 0x40
171#define CLKMGR_USB_MEAS_CTRL_EN_REG_RESVAL 0x9u
172#define CLKMGR_USB_MEAS_CTRL_EN_EN_MASK 0xfu
173#define CLKMGR_USB_MEAS_CTRL_EN_EN_OFFSET 0
174#define CLKMGR_USB_MEAS_CTRL_EN_EN_FIELD \
175 ((bitfield_field32_t) { .mask = CLKMGR_USB_MEAS_CTRL_EN_EN_MASK, .index = CLKMGR_USB_MEAS_CTRL_EN_EN_OFFSET })
178#define CLKMGR_USB_MEAS_CTRL_SHADOWED_REG_OFFSET 0x44
179#define CLKMGR_USB_MEAS_CTRL_SHADOWED_REG_RESVAL 0x1ccfau
180#define CLKMGR_USB_MEAS_CTRL_SHADOWED_HI_MASK 0x1ffu
181#define CLKMGR_USB_MEAS_CTRL_SHADOWED_HI_OFFSET 0
182#define CLKMGR_USB_MEAS_CTRL_SHADOWED_HI_FIELD \
183 ((bitfield_field32_t) { .mask = CLKMGR_USB_MEAS_CTRL_SHADOWED_HI_MASK, .index = CLKMGR_USB_MEAS_CTRL_SHADOWED_HI_OFFSET })
184#define CLKMGR_USB_MEAS_CTRL_SHADOWED_LO_MASK 0x1ffu
185#define CLKMGR_USB_MEAS_CTRL_SHADOWED_LO_OFFSET 9
186#define CLKMGR_USB_MEAS_CTRL_SHADOWED_LO_FIELD \
187 ((bitfield_field32_t) { .mask = CLKMGR_USB_MEAS_CTRL_SHADOWED_LO_MASK, .index = CLKMGR_USB_MEAS_CTRL_SHADOWED_LO_OFFSET })
190#define CLKMGR_RECOV_ERR_CODE_REG_OFFSET 0x48
191#define CLKMGR_RECOV_ERR_CODE_REG_RESVAL 0x0u
192#define CLKMGR_RECOV_ERR_CODE_SHADOW_UPDATE_ERR_BIT 0
193#define CLKMGR_RECOV_ERR_CODE_IO_MEASURE_ERR_BIT 1
194#define CLKMGR_RECOV_ERR_CODE_IO_DIV4_MEASURE_ERR_BIT 2
195#define CLKMGR_RECOV_ERR_CODE_MAIN_MEASURE_ERR_BIT 3
196#define CLKMGR_RECOV_ERR_CODE_USB_MEASURE_ERR_BIT 4
197#define CLKMGR_RECOV_ERR_CODE_IO_TIMEOUT_ERR_BIT 5
198#define CLKMGR_RECOV_ERR_CODE_IO_DIV4_TIMEOUT_ERR_BIT 6
199#define CLKMGR_RECOV_ERR_CODE_MAIN_TIMEOUT_ERR_BIT 7
200#define CLKMGR_RECOV_ERR_CODE_USB_TIMEOUT_ERR_BIT 8
203#define CLKMGR_FATAL_ERR_CODE_REG_OFFSET 0x4c
204#define CLKMGR_FATAL_ERR_CODE_REG_RESVAL 0x0u
205#define CLKMGR_FATAL_ERR_CODE_REG_INTG_BIT 0
206#define CLKMGR_FATAL_ERR_CODE_IDLE_CNT_BIT 1
207#define CLKMGR_FATAL_ERR_CODE_SHADOW_STORAGE_ERR_BIT 2