• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2023 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 
9 #ifndef HPM_SYSCTL_H
10 #define HPM_SYSCTL_H
11 
12 typedef struct {
13     __RW uint32_t RESOURCE[353];               /* 0x0 - 0x580: Resource control register for cpu0_core */
14     __R  uint8_t  RESERVED0[636];              /* 0x584 - 0x7FF: Reserved */
15     struct {
16         __RW uint32_t VALUE;                   /* 0x800: Group setting */
17         __RW uint32_t SET;                     /* 0x804: Group setting */
18         __RW uint32_t CLEAR;                   /* 0x808: Group setting */
19         __RW uint32_t TOGGLE;                  /* 0x80C: Group setting */
20     } GROUP0[4];
21     __R  uint8_t  RESERVED1[192];              /* 0x840 - 0x8FF: Reserved */
22     struct {
23         __RW uint32_t VALUE;                   /* 0x900: Affiliate of Group */
24         __RW uint32_t SET;                     /* 0x904: Affiliate of Group */
25         __RW uint32_t CLEAR;                   /* 0x908: Affiliate of Group */
26         __RW uint32_t TOGGLE;                  /* 0x90C: Affiliate of Group */
27     } AFFILIATE[1];
28     __R  uint8_t  RESERVED2[16];               /* 0x910 - 0x91F: Reserved */
29     struct {
30         __RW uint32_t VALUE;                   /* 0x920: Retention Contol */
31         __RW uint32_t SET;                     /* 0x924: Retention Contol */
32         __RW uint32_t CLEAR;                   /* 0x928: Retention Contol */
33         __RW uint32_t TOGGLE;                  /* 0x92C: Retention Contol */
34     } RETENTION[1];
35     __R  uint8_t  RESERVED3[1744];             /* 0x930 - 0xFFF: Reserved */
36     struct {
37         __RW uint32_t STATUS;                  /* 0x1000: Power Setting */
38         __RW uint32_t LF_WAIT;                 /* 0x1004: Power Setting */
39         __R  uint8_t  RESERVED0[4];            /* 0x1008 - 0x100B: Reserved */
40         __RW uint32_t OFF_WAIT;                /* 0x100C: Power Setting */
41     } POWER[3];
42     __R  uint8_t  RESERVED4[976];              /* 0x1030 - 0x13FF: Reserved */
43     struct {
44         __RW uint32_t CONTROL;                 /* 0x1400: Reset Setting */
45         __RW uint32_t CONFIG;                  /* 0x1404: Reset Setting */
46         __R  uint8_t  RESERVED0[4];            /* 0x1408 - 0x140B: Reserved */
47         __RW uint32_t COUNTER;                 /* 0x140C: Reset Setting */
48     } RESET[5];
49     __R  uint8_t  RESERVED5[944];              /* 0x1450 - 0x17FF: Reserved */
50     __RW uint32_t CLOCK[69];                   /* 0x1800 - 0x1910: Clock setting */
51     __R  uint8_t  RESERVED6[748];              /* 0x1914 - 0x1BFF: Reserved */
52     __RW uint32_t ADCCLK[2];                   /* 0x1C00 - 0x1C04: Clock setting */
53     __RW uint32_t I2SCLK[4];                   /* 0x1C08 - 0x1C14: Clock setting */
54     __R  uint8_t  RESERVED7[1000];             /* 0x1C18 - 0x1FFF: Reserved */
55     __RW uint32_t GLOBAL00;                    /* 0x2000: Clock senario */
56     __R  uint8_t  RESERVED8[1020];             /* 0x2004 - 0x23FF: Reserved */
57     struct {
58         __RW uint32_t CONTROL;                 /* 0x2400: Clock measure and monitor control */
59         __R  uint32_t CURRENT;                 /* 0x2404: Clock measure result */
60         __RW uint32_t LOW_LIMIT;               /* 0x2408: Clock lower limit */
61         __RW uint32_t HIGH_LIMIT;              /* 0x240C: Clock upper limit */
62         __R  uint8_t  RESERVED0[16];           /* 0x2410 - 0x241F: Reserved */
63     } MONITOR[4];
64     __R  uint8_t  RESERVED9[896];              /* 0x2480 - 0x27FF: Reserved */
65     struct {
66         __RW uint32_t LP;                      /* 0x2800: CPU0 LP control */
67         __RW uint32_t LOCK;                    /* 0x2804: CPU0 Lock GPR */
68         __RW uint32_t GPR[14];                 /* 0x2808 - 0x283C: CPU0 GPR0 */
69         __R  uint32_t WAKEUP_STATUS[4];        /* 0x2840 - 0x284C: CPU0 wakeup IRQ status */
70         __R  uint8_t  RESERVED0[48];           /* 0x2850 - 0x287F: Reserved */
71         __RW uint32_t WAKEUP_ENABLE[4];        /* 0x2880 - 0x288C: CPU0 wakeup IRQ enable */
72         __R  uint8_t  RESERVED1[880];          /* 0x2890 - 0x2BFF: Reserved */
73     } CPU[1];
74 } SYSCTL_Type;
75 
76 
77 /* Bitfield definition for register array: RESOURCE */
78 /*
79  * GLB_BUSY (RO)
80  *
81  * global busy
82  * 0: no changes pending to any nodes
83  * 1: any of nodes is changing status
84  */
85 #define SYSCTL_RESOURCE_GLB_BUSY_MASK (0x80000000UL)
86 #define SYSCTL_RESOURCE_GLB_BUSY_SHIFT (31U)
87 #define SYSCTL_RESOURCE_GLB_BUSY_GET(x) (((uint32_t)(x) & SYSCTL_RESOURCE_GLB_BUSY_MASK) >> SYSCTL_RESOURCE_GLB_BUSY_SHIFT)
88 
89 /*
90  * LOC_BUSY (RO)
91  *
92  * local busy
93  * 0: no change is pending for current node
94  * 1: current node is changing status
95  */
96 #define SYSCTL_RESOURCE_LOC_BUSY_MASK (0x40000000UL)
97 #define SYSCTL_RESOURCE_LOC_BUSY_SHIFT (30U)
98 #define SYSCTL_RESOURCE_LOC_BUSY_GET(x) (((uint32_t)(x) & SYSCTL_RESOURCE_LOC_BUSY_MASK) >> SYSCTL_RESOURCE_LOC_BUSY_SHIFT)
99 
100 /*
101  * MODE (RW)
102  *
103  * resource work mode
104  * 0:auto turn on and off as system required(recommended)
105  * 1:always on
106  * 2:always off
107  * 3:reserved
108  */
109 #define SYSCTL_RESOURCE_MODE_MASK (0x3U)
110 #define SYSCTL_RESOURCE_MODE_SHIFT (0U)
111 #define SYSCTL_RESOURCE_MODE_SET(x) (((uint32_t)(x) << SYSCTL_RESOURCE_MODE_SHIFT) & SYSCTL_RESOURCE_MODE_MASK)
112 #define SYSCTL_RESOURCE_MODE_GET(x) (((uint32_t)(x) & SYSCTL_RESOURCE_MODE_MASK) >> SYSCTL_RESOURCE_MODE_SHIFT)
113 
114 /* Bitfield definition for register of struct array GROUP0: VALUE */
115 /*
116  * LINK (RW)
117  *
118  * denpendency on peripherals, index count from resource ahbp(0x400), each bit represents a peripheral
119  * 0: peripheral is not needed
120  * 1: periphera is needed
121  */
122 #define SYSCTL_GROUP0_VALUE_LINK_MASK (0xFFFFFFFFUL)
123 #define SYSCTL_GROUP0_VALUE_LINK_SHIFT (0U)
124 #define SYSCTL_GROUP0_VALUE_LINK_SET(x) (((uint32_t)(x) << SYSCTL_GROUP0_VALUE_LINK_SHIFT) & SYSCTL_GROUP0_VALUE_LINK_MASK)
125 #define SYSCTL_GROUP0_VALUE_LINK_GET(x) (((uint32_t)(x) & SYSCTL_GROUP0_VALUE_LINK_MASK) >> SYSCTL_GROUP0_VALUE_LINK_SHIFT)
126 
127 /* Bitfield definition for register of struct array GROUP0: SET */
128 /*
129  * LINK (RW)
130  *
131  * denpendency on peripherals, index count from resource ahbp(0x400), each bit represents a peripheral
132  * 0: no effect
133  * 1: add periphera into this group,periphera is needed
134  */
135 #define SYSCTL_GROUP0_SET_LINK_MASK (0xFFFFFFFFUL)
136 #define SYSCTL_GROUP0_SET_LINK_SHIFT (0U)
137 #define SYSCTL_GROUP0_SET_LINK_SET(x) (((uint32_t)(x) << SYSCTL_GROUP0_SET_LINK_SHIFT) & SYSCTL_GROUP0_SET_LINK_MASK)
138 #define SYSCTL_GROUP0_SET_LINK_GET(x) (((uint32_t)(x) & SYSCTL_GROUP0_SET_LINK_MASK) >> SYSCTL_GROUP0_SET_LINK_SHIFT)
139 
140 /* Bitfield definition for register of struct array GROUP0: CLEAR */
141 /*
142  * LINK (RW)
143  *
144  * denpendency on peripherals, index count from resource ahbp(0x400), each bit represents a peripheral
145  * 0: no effect
146  * 1: delete periphera in this group,periphera is not needed
147  */
148 #define SYSCTL_GROUP0_CLEAR_LINK_MASK (0xFFFFFFFFUL)
149 #define SYSCTL_GROUP0_CLEAR_LINK_SHIFT (0U)
150 #define SYSCTL_GROUP0_CLEAR_LINK_SET(x) (((uint32_t)(x) << SYSCTL_GROUP0_CLEAR_LINK_SHIFT) & SYSCTL_GROUP0_CLEAR_LINK_MASK)
151 #define SYSCTL_GROUP0_CLEAR_LINK_GET(x) (((uint32_t)(x) & SYSCTL_GROUP0_CLEAR_LINK_MASK) >> SYSCTL_GROUP0_CLEAR_LINK_SHIFT)
152 
153 /* Bitfield definition for register of struct array GROUP0: TOGGLE */
154 /*
155  * LINK (RW)
156  *
157  * denpendency on peripherals, index count from resource ahbp(0x400), each bit represents a peripheral
158  * 0: no effect
159  * 1: toggle the result that whether periphera is needed before
160  */
161 #define SYSCTL_GROUP0_TOGGLE_LINK_MASK (0xFFFFFFFFUL)
162 #define SYSCTL_GROUP0_TOGGLE_LINK_SHIFT (0U)
163 #define SYSCTL_GROUP0_TOGGLE_LINK_SET(x) (((uint32_t)(x) << SYSCTL_GROUP0_TOGGLE_LINK_SHIFT) & SYSCTL_GROUP0_TOGGLE_LINK_MASK)
164 #define SYSCTL_GROUP0_TOGGLE_LINK_GET(x) (((uint32_t)(x) & SYSCTL_GROUP0_TOGGLE_LINK_MASK) >> SYSCTL_GROUP0_TOGGLE_LINK_SHIFT)
165 
166 /* Bitfield definition for register of struct array AFFILIATE: VALUE */
167 /*
168  * LINK (RW)
169  *
170  * Affiliate groups of cpu0, each bit represents a group
171  * bit0: cpu0 depends on group0
172  * bit1: cpu0 depends on group1
173  * bit2: cpu0 depends on group2
174  * bit3: cpu0 depends on group3
175  */
176 #define SYSCTL_AFFILIATE_VALUE_LINK_MASK (0xFU)
177 #define SYSCTL_AFFILIATE_VALUE_LINK_SHIFT (0U)
178 #define SYSCTL_AFFILIATE_VALUE_LINK_SET(x) (((uint32_t)(x) << SYSCTL_AFFILIATE_VALUE_LINK_SHIFT) & SYSCTL_AFFILIATE_VALUE_LINK_MASK)
179 #define SYSCTL_AFFILIATE_VALUE_LINK_GET(x) (((uint32_t)(x) & SYSCTL_AFFILIATE_VALUE_LINK_MASK) >> SYSCTL_AFFILIATE_VALUE_LINK_SHIFT)
180 
181 /* Bitfield definition for register of struct array AFFILIATE: SET */
182 /*
183  * LINK (RW)
184  *
185  * Affiliate groups of cpu0,each bit represents a group
186  * 0: no effect
187  * 1: the group is assigned to CPU0
188  */
189 #define SYSCTL_AFFILIATE_SET_LINK_MASK (0xFU)
190 #define SYSCTL_AFFILIATE_SET_LINK_SHIFT (0U)
191 #define SYSCTL_AFFILIATE_SET_LINK_SET(x) (((uint32_t)(x) << SYSCTL_AFFILIATE_SET_LINK_SHIFT) & SYSCTL_AFFILIATE_SET_LINK_MASK)
192 #define SYSCTL_AFFILIATE_SET_LINK_GET(x) (((uint32_t)(x) & SYSCTL_AFFILIATE_SET_LINK_MASK) >> SYSCTL_AFFILIATE_SET_LINK_SHIFT)
193 
194 /* Bitfield definition for register of struct array AFFILIATE: CLEAR */
195 /*
196  * LINK (RW)
197  *
198  * Affiliate groups of cpu0, each bit represents a group
199  * 0: no effect
200  * 1: the group is not assigned to CPU0
201  */
202 #define SYSCTL_AFFILIATE_CLEAR_LINK_MASK (0xFU)
203 #define SYSCTL_AFFILIATE_CLEAR_LINK_SHIFT (0U)
204 #define SYSCTL_AFFILIATE_CLEAR_LINK_SET(x) (((uint32_t)(x) << SYSCTL_AFFILIATE_CLEAR_LINK_SHIFT) & SYSCTL_AFFILIATE_CLEAR_LINK_MASK)
205 #define SYSCTL_AFFILIATE_CLEAR_LINK_GET(x) (((uint32_t)(x) & SYSCTL_AFFILIATE_CLEAR_LINK_MASK) >> SYSCTL_AFFILIATE_CLEAR_LINK_SHIFT)
206 
207 /* Bitfield definition for register of struct array AFFILIATE: TOGGLE */
208 /*
209  * LINK (RW)
210  *
211  * Affiliate groups of cpu0, each bit represents a group
212  * 0: no effect
213  * 1: toggle the result that whether the group is assigned to CPU0 before
214  */
215 #define SYSCTL_AFFILIATE_TOGGLE_LINK_MASK (0xFU)
216 #define SYSCTL_AFFILIATE_TOGGLE_LINK_SHIFT (0U)
217 #define SYSCTL_AFFILIATE_TOGGLE_LINK_SET(x) (((uint32_t)(x) << SYSCTL_AFFILIATE_TOGGLE_LINK_SHIFT) & SYSCTL_AFFILIATE_TOGGLE_LINK_MASK)
218 #define SYSCTL_AFFILIATE_TOGGLE_LINK_GET(x) (((uint32_t)(x) & SYSCTL_AFFILIATE_TOGGLE_LINK_MASK) >> SYSCTL_AFFILIATE_TOGGLE_LINK_SHIFT)
219 
220 /* Bitfield definition for register of struct array RETENTION: VALUE */
221 /*
222  * LINK (RW)
223  *
224  * retention setting while CPU0 enter stop mode, each bit represents a resource
225  * bit00: soc_mem is kept on while cpu0 stop
226  * bit01: soc_ctx is kept on while cpu0 stop
227  * bit02: cpu0_mem is kept on while cpu0 stop
228  * bit03: cpu0_ctx is kept on while cpu0 stop
229  * bit04: con_ctx is kept on while cpu0 stop
230  * bit05: vis_mem is kept on while cpu0 stop
231  * bit06: vis_ctx is kept on while cpu0 stop
232  * bit07: gpu_mem is kept on while cpu0 stop
233  * bit08: gpu_ctx is kept on while cpu0 stop
234  * bit09: xtal_hold is kept on while cpu0 stop
235  * bit10: pll0_hold is kept on while cpu0 stop
236  * bit11: pll1_hold is kept on while cpu0 stop
237  * bit12: pll2_hold is kept on while cpu0 stop
238  * bit13: pll3 is kept on while cpu0 stop
239  * bit14: pll4 is kept on while cpu0 stop
240  */
241 #define SYSCTL_RETENTION_VALUE_LINK_MASK (0x7FFFU)
242 #define SYSCTL_RETENTION_VALUE_LINK_SHIFT (0U)
243 #define SYSCTL_RETENTION_VALUE_LINK_SET(x) (((uint32_t)(x) << SYSCTL_RETENTION_VALUE_LINK_SHIFT) & SYSCTL_RETENTION_VALUE_LINK_MASK)
244 #define SYSCTL_RETENTION_VALUE_LINK_GET(x) (((uint32_t)(x) & SYSCTL_RETENTION_VALUE_LINK_MASK) >> SYSCTL_RETENTION_VALUE_LINK_SHIFT)
245 
246 /* Bitfield definition for register of struct array RETENTION: SET */
247 /*
248  * LINK (RW)
249  *
250  * retention setting while CPU0 enter stop mode, each bit represents a resource
251  * 0: no effect
252  * 1: keep
253  */
254 #define SYSCTL_RETENTION_SET_LINK_MASK (0x7FFFU)
255 #define SYSCTL_RETENTION_SET_LINK_SHIFT (0U)
256 #define SYSCTL_RETENTION_SET_LINK_SET(x) (((uint32_t)(x) << SYSCTL_RETENTION_SET_LINK_SHIFT) & SYSCTL_RETENTION_SET_LINK_MASK)
257 #define SYSCTL_RETENTION_SET_LINK_GET(x) (((uint32_t)(x) & SYSCTL_RETENTION_SET_LINK_MASK) >> SYSCTL_RETENTION_SET_LINK_SHIFT)
258 
259 /* Bitfield definition for register of struct array RETENTION: CLEAR */
260 /*
261  * LINK (RW)
262  *
263  * retention setting while CPU0 enter stop mode, each bit represents a resource
264  * 0: no effect
265  * 1: no keep
266  */
267 #define SYSCTL_RETENTION_CLEAR_LINK_MASK (0x7FFFU)
268 #define SYSCTL_RETENTION_CLEAR_LINK_SHIFT (0U)
269 #define SYSCTL_RETENTION_CLEAR_LINK_SET(x) (((uint32_t)(x) << SYSCTL_RETENTION_CLEAR_LINK_SHIFT) & SYSCTL_RETENTION_CLEAR_LINK_MASK)
270 #define SYSCTL_RETENTION_CLEAR_LINK_GET(x) (((uint32_t)(x) & SYSCTL_RETENTION_CLEAR_LINK_MASK) >> SYSCTL_RETENTION_CLEAR_LINK_SHIFT)
271 
272 /* Bitfield definition for register of struct array RETENTION: TOGGLE */
273 /*
274  * LINK (RW)
275  *
276  * retention setting while CPU0 enter stop mode, each bit represents a resource
277  * 0: no effect
278  * 1: toggle the result that whether the resource is kept on while CPU0 stop before
279  */
280 #define SYSCTL_RETENTION_TOGGLE_LINK_MASK (0x7FFFU)
281 #define SYSCTL_RETENTION_TOGGLE_LINK_SHIFT (0U)
282 #define SYSCTL_RETENTION_TOGGLE_LINK_SET(x) (((uint32_t)(x) << SYSCTL_RETENTION_TOGGLE_LINK_SHIFT) & SYSCTL_RETENTION_TOGGLE_LINK_MASK)
283 #define SYSCTL_RETENTION_TOGGLE_LINK_GET(x) (((uint32_t)(x) & SYSCTL_RETENTION_TOGGLE_LINK_MASK) >> SYSCTL_RETENTION_TOGGLE_LINK_SHIFT)
284 
285 /* Bitfield definition for register of struct array POWER: STATUS */
286 /*
287  * FLAG (RW)
288  *
289  * flag represents power cycle happened from last clear of this bit
290  * 0: power domain did not edurance power cycle since last clear of this bit
291  * 1: power domain enduranced power cycle since last clear of this bit
292  */
293 #define SYSCTL_POWER_STATUS_FLAG_MASK (0x80000000UL)
294 #define SYSCTL_POWER_STATUS_FLAG_SHIFT (31U)
295 #define SYSCTL_POWER_STATUS_FLAG_SET(x) (((uint32_t)(x) << SYSCTL_POWER_STATUS_FLAG_SHIFT) & SYSCTL_POWER_STATUS_FLAG_MASK)
296 #define SYSCTL_POWER_STATUS_FLAG_GET(x) (((uint32_t)(x) & SYSCTL_POWER_STATUS_FLAG_MASK) >> SYSCTL_POWER_STATUS_FLAG_SHIFT)
297 
298 /*
299  * FLAG_WAKE (RW)
300  *
301  * flag represents wakeup power cycle happened from last clear of this bit
302  * 0: power domain did not edurance wakeup power cycle since last clear of this bit
303  * 1: power domain enduranced wakeup power cycle since last clear of this bit
304  */
305 #define SYSCTL_POWER_STATUS_FLAG_WAKE_MASK (0x40000000UL)
306 #define SYSCTL_POWER_STATUS_FLAG_WAKE_SHIFT (30U)
307 #define SYSCTL_POWER_STATUS_FLAG_WAKE_SET(x) (((uint32_t)(x) << SYSCTL_POWER_STATUS_FLAG_WAKE_SHIFT) & SYSCTL_POWER_STATUS_FLAG_WAKE_MASK)
308 #define SYSCTL_POWER_STATUS_FLAG_WAKE_GET(x) (((uint32_t)(x) & SYSCTL_POWER_STATUS_FLAG_WAKE_MASK) >> SYSCTL_POWER_STATUS_FLAG_WAKE_SHIFT)
309 
310 /*
311  * LF_DISABLE (RO)
312  *
313  * low fanout power switch disable
314  * 0: low fanout power switches are turned on
315  * 1: low fanout power switches are truned off
316  */
317 #define SYSCTL_POWER_STATUS_LF_DISABLE_MASK (0x1000U)
318 #define SYSCTL_POWER_STATUS_LF_DISABLE_SHIFT (12U)
319 #define SYSCTL_POWER_STATUS_LF_DISABLE_GET(x) (((uint32_t)(x) & SYSCTL_POWER_STATUS_LF_DISABLE_MASK) >> SYSCTL_POWER_STATUS_LF_DISABLE_SHIFT)
320 
321 /*
322  * LF_ACK (RO)
323  *
324  * low fanout power switch feedback
325  * 0: low fanout power switches are turned on
326  * 1: low fanout power switches are truned off
327  */
328 #define SYSCTL_POWER_STATUS_LF_ACK_MASK (0x100U)
329 #define SYSCTL_POWER_STATUS_LF_ACK_SHIFT (8U)
330 #define SYSCTL_POWER_STATUS_LF_ACK_GET(x) (((uint32_t)(x) & SYSCTL_POWER_STATUS_LF_ACK_MASK) >> SYSCTL_POWER_STATUS_LF_ACK_SHIFT)
331 
332 /* Bitfield definition for register of struct array POWER: LF_WAIT */
333 /*
334  * WAIT (RW)
335  *
336  * wait time for low fan out power switch turn on, default value is 255
337  * 0: 0 clock cycle
338  * 1: 1 clock cycles
339  * . . .
340  * clock cycles count on 24MHz
341  */
342 #define SYSCTL_POWER_LF_WAIT_WAIT_MASK (0xFFFFFUL)
343 #define SYSCTL_POWER_LF_WAIT_WAIT_SHIFT (0U)
344 #define SYSCTL_POWER_LF_WAIT_WAIT_SET(x) (((uint32_t)(x) << SYSCTL_POWER_LF_WAIT_WAIT_SHIFT) & SYSCTL_POWER_LF_WAIT_WAIT_MASK)
345 #define SYSCTL_POWER_LF_WAIT_WAIT_GET(x) (((uint32_t)(x) & SYSCTL_POWER_LF_WAIT_WAIT_MASK) >> SYSCTL_POWER_LF_WAIT_WAIT_SHIFT)
346 
347 /* Bitfield definition for register of struct array POWER: OFF_WAIT */
348 /*
349  * WAIT (RW)
350  *
351  * wait time for power switch turn off, default value is 15
352  * 0: 0 clock cycle
353  * 1: 1 clock cycles
354  * . . .
355  * clock cycles count on 24MHz
356  */
357 #define SYSCTL_POWER_OFF_WAIT_WAIT_MASK (0xFFFFFUL)
358 #define SYSCTL_POWER_OFF_WAIT_WAIT_SHIFT (0U)
359 #define SYSCTL_POWER_OFF_WAIT_WAIT_SET(x) (((uint32_t)(x) << SYSCTL_POWER_OFF_WAIT_WAIT_SHIFT) & SYSCTL_POWER_OFF_WAIT_WAIT_MASK)
360 #define SYSCTL_POWER_OFF_WAIT_WAIT_GET(x) (((uint32_t)(x) & SYSCTL_POWER_OFF_WAIT_WAIT_MASK) >> SYSCTL_POWER_OFF_WAIT_WAIT_SHIFT)
361 
362 /* Bitfield definition for register of struct array RESET: CONTROL */
363 /*
364  * FLAG (RW)
365  *
366  * flag represents reset happened from last clear of this bit
367  * 0: domain did not edurance reset cycle since last clear of this bit
368  * 1:  domain enduranced reset cycle since last clear of this bit
369  */
370 #define SYSCTL_RESET_CONTROL_FLAG_MASK (0x80000000UL)
371 #define SYSCTL_RESET_CONTROL_FLAG_SHIFT (31U)
372 #define SYSCTL_RESET_CONTROL_FLAG_SET(x) (((uint32_t)(x) << SYSCTL_RESET_CONTROL_FLAG_SHIFT) & SYSCTL_RESET_CONTROL_FLAG_MASK)
373 #define SYSCTL_RESET_CONTROL_FLAG_GET(x) (((uint32_t)(x) & SYSCTL_RESET_CONTROL_FLAG_MASK) >> SYSCTL_RESET_CONTROL_FLAG_SHIFT)
374 
375 /*
376  * FLAG_WAKE (RW)
377  *
378  * flag represents wakeup reset happened from last clear of this bit
379  * 0: domain did not edurance wakeup reset cycle since last clear of this bit
380  * 1:  domain enduranced wakeup reset cycle since last clear of this bit
381  */
382 #define SYSCTL_RESET_CONTROL_FLAG_WAKE_MASK (0x40000000UL)
383 #define SYSCTL_RESET_CONTROL_FLAG_WAKE_SHIFT (30U)
384 #define SYSCTL_RESET_CONTROL_FLAG_WAKE_SET(x) (((uint32_t)(x) << SYSCTL_RESET_CONTROL_FLAG_WAKE_SHIFT) & SYSCTL_RESET_CONTROL_FLAG_WAKE_MASK)
385 #define SYSCTL_RESET_CONTROL_FLAG_WAKE_GET(x) (((uint32_t)(x) & SYSCTL_RESET_CONTROL_FLAG_WAKE_MASK) >> SYSCTL_RESET_CONTROL_FLAG_WAKE_SHIFT)
386 
387 /*
388  * HOLD (RW)
389  *
390  * perform reset and hold in reset, until ths bit cleared by software
391  * 0: reset is released for function
392  * 1: reset is assert and hold
393  */
394 #define SYSCTL_RESET_CONTROL_HOLD_MASK (0x10U)
395 #define SYSCTL_RESET_CONTROL_HOLD_SHIFT (4U)
396 #define SYSCTL_RESET_CONTROL_HOLD_SET(x) (((uint32_t)(x) << SYSCTL_RESET_CONTROL_HOLD_SHIFT) & SYSCTL_RESET_CONTROL_HOLD_MASK)
397 #define SYSCTL_RESET_CONTROL_HOLD_GET(x) (((uint32_t)(x) & SYSCTL_RESET_CONTROL_HOLD_MASK) >> SYSCTL_RESET_CONTROL_HOLD_SHIFT)
398 
399 /*
400  * RESET (RW)
401  *
402  * perform reset and release imediately
403  * 0: reset is released
404  * 1 reset is asserted and will release automaticly
405  */
406 #define SYSCTL_RESET_CONTROL_RESET_MASK (0x1U)
407 #define SYSCTL_RESET_CONTROL_RESET_SHIFT (0U)
408 #define SYSCTL_RESET_CONTROL_RESET_SET(x) (((uint32_t)(x) << SYSCTL_RESET_CONTROL_RESET_SHIFT) & SYSCTL_RESET_CONTROL_RESET_MASK)
409 #define SYSCTL_RESET_CONTROL_RESET_GET(x) (((uint32_t)(x) & SYSCTL_RESET_CONTROL_RESET_MASK) >> SYSCTL_RESET_CONTROL_RESET_SHIFT)
410 
411 /* Bitfield definition for register of struct array RESET: CONFIG */
412 /*
413  * PRE_WAIT (RW)
414  *
415  * wait cycle numbers before assert reset
416  * 0: wait 0 cycle
417  * 1: wait 1 cycles
418  * . . .
419  * Note, clock cycle is base on 24M
420  */
421 #define SYSCTL_RESET_CONFIG_PRE_WAIT_MASK (0xFF0000UL)
422 #define SYSCTL_RESET_CONFIG_PRE_WAIT_SHIFT (16U)
423 #define SYSCTL_RESET_CONFIG_PRE_WAIT_SET(x) (((uint32_t)(x) << SYSCTL_RESET_CONFIG_PRE_WAIT_SHIFT) & SYSCTL_RESET_CONFIG_PRE_WAIT_MASK)
424 #define SYSCTL_RESET_CONFIG_PRE_WAIT_GET(x) (((uint32_t)(x) & SYSCTL_RESET_CONFIG_PRE_WAIT_MASK) >> SYSCTL_RESET_CONFIG_PRE_WAIT_SHIFT)
425 
426 /*
427  * RSTCLK_NUM (RW)
428  *
429  * reset clock number(must be even number)
430  * 0: 0 cycle
431  * 1: 0 cycles
432  * 2: 2 cycles
433  * 3: 2 cycles
434  * . . .
435  * Note, clock cycle is base on 24M
436  */
437 #define SYSCTL_RESET_CONFIG_RSTCLK_NUM_MASK (0xFF00U)
438 #define SYSCTL_RESET_CONFIG_RSTCLK_NUM_SHIFT (8U)
439 #define SYSCTL_RESET_CONFIG_RSTCLK_NUM_SET(x) (((uint32_t)(x) << SYSCTL_RESET_CONFIG_RSTCLK_NUM_SHIFT) & SYSCTL_RESET_CONFIG_RSTCLK_NUM_MASK)
440 #define SYSCTL_RESET_CONFIG_RSTCLK_NUM_GET(x) (((uint32_t)(x) & SYSCTL_RESET_CONFIG_RSTCLK_NUM_MASK) >> SYSCTL_RESET_CONFIG_RSTCLK_NUM_SHIFT)
441 
442 /*
443  * POST_WAIT (RW)
444  *
445  * time guard band for  reset release
446  * 0: wait 0 cycle
447  * 1: wait 1 cycles
448  * . . .
449  * Note, clock cycle is base on 24M
450  */
451 #define SYSCTL_RESET_CONFIG_POST_WAIT_MASK (0xFFU)
452 #define SYSCTL_RESET_CONFIG_POST_WAIT_SHIFT (0U)
453 #define SYSCTL_RESET_CONFIG_POST_WAIT_SET(x) (((uint32_t)(x) << SYSCTL_RESET_CONFIG_POST_WAIT_SHIFT) & SYSCTL_RESET_CONFIG_POST_WAIT_MASK)
454 #define SYSCTL_RESET_CONFIG_POST_WAIT_GET(x) (((uint32_t)(x) & SYSCTL_RESET_CONFIG_POST_WAIT_MASK) >> SYSCTL_RESET_CONFIG_POST_WAIT_SHIFT)
455 
456 /* Bitfield definition for register of struct array RESET: COUNTER */
457 /*
458  * COUNTER (RW)
459  *
460  * self clear trigger counter, reset triggered when counter value is 1, write 0 will cancel reset
461  * 0: wait 0 cycle
462  * 1: wait 1 cycles
463  * . . .
464  * Note, clock cycle is base on 24M
465  */
466 #define SYSCTL_RESET_COUNTER_COUNTER_MASK (0xFFFFFUL)
467 #define SYSCTL_RESET_COUNTER_COUNTER_SHIFT (0U)
468 #define SYSCTL_RESET_COUNTER_COUNTER_SET(x) (((uint32_t)(x) << SYSCTL_RESET_COUNTER_COUNTER_SHIFT) & SYSCTL_RESET_COUNTER_COUNTER_MASK)
469 #define SYSCTL_RESET_COUNTER_COUNTER_GET(x) (((uint32_t)(x) & SYSCTL_RESET_COUNTER_COUNTER_MASK) >> SYSCTL_RESET_COUNTER_COUNTER_SHIFT)
470 
471 /* Bitfield definition for register array: CLOCK */
472 /*
473  * GLB_BUSY (RO)
474  *
475  * global busy
476  * 0: no changes pending to any clock
477  * 1: any of nodes is changing status
478  */
479 #define SYSCTL_CLOCK_GLB_BUSY_MASK (0x80000000UL)
480 #define SYSCTL_CLOCK_GLB_BUSY_SHIFT (31U)
481 #define SYSCTL_CLOCK_GLB_BUSY_GET(x) (((uint32_t)(x) & SYSCTL_CLOCK_GLB_BUSY_MASK) >> SYSCTL_CLOCK_GLB_BUSY_SHIFT)
482 
483 /*
484  * LOC_BUSY (RO)
485  *
486  * local busy
487  * 0: a change is pending for current node
488  * 1: current node is changing status
489  */
490 #define SYSCTL_CLOCK_LOC_BUSY_MASK (0x40000000UL)
491 #define SYSCTL_CLOCK_LOC_BUSY_SHIFT (30U)
492 #define SYSCTL_CLOCK_LOC_BUSY_GET(x) (((uint32_t)(x) & SYSCTL_CLOCK_LOC_BUSY_MASK) >> SYSCTL_CLOCK_LOC_BUSY_SHIFT)
493 
494 /*
495  * PRESERVE (RW)
496  *
497  * preserve function against global select
498  * 0: select global clock setting
499  * 1: not select global clock setting
500  */
501 #define SYSCTL_CLOCK_PRESERVE_MASK (0x10000000UL)
502 #define SYSCTL_CLOCK_PRESERVE_SHIFT (28U)
503 #define SYSCTL_CLOCK_PRESERVE_SET(x) (((uint32_t)(x) << SYSCTL_CLOCK_PRESERVE_SHIFT) & SYSCTL_CLOCK_PRESERVE_MASK)
504 #define SYSCTL_CLOCK_PRESERVE_GET(x) (((uint32_t)(x) & SYSCTL_CLOCK_PRESERVE_MASK) >> SYSCTL_CLOCK_PRESERVE_SHIFT)
505 
506 /*
507  * MUX (RW)
508  *
509  * current mux in clock component
510  * 0:osc0_clk0
511  * 1:pll0_clk0
512  * 2:pll1_clk0
513  * 3:pll1_clk1
514  * 4:pll2_clk0
515  * 5:pll2_clk1
516  * 6:pll3_clk0
517  * 7:pll4_clk0
518  */
519 #define SYSCTL_CLOCK_MUX_MASK (0x700U)
520 #define SYSCTL_CLOCK_MUX_SHIFT (8U)
521 #define SYSCTL_CLOCK_MUX_SET(x) (((uint32_t)(x) << SYSCTL_CLOCK_MUX_SHIFT) & SYSCTL_CLOCK_MUX_MASK)
522 #define SYSCTL_CLOCK_MUX_GET(x) (((uint32_t)(x) & SYSCTL_CLOCK_MUX_MASK) >> SYSCTL_CLOCK_MUX_SHIFT)
523 
524 /*
525  * DIV (RW)
526  *
527  * clock divider
528  * 0: divider by 1
529  * 1: divider by 2
530  * 2: divider by 3
531  * . . .
532  * 255: divider by 256
533  */
534 #define SYSCTL_CLOCK_DIV_MASK (0xFFU)
535 #define SYSCTL_CLOCK_DIV_SHIFT (0U)
536 #define SYSCTL_CLOCK_DIV_SET(x) (((uint32_t)(x) << SYSCTL_CLOCK_DIV_SHIFT) & SYSCTL_CLOCK_DIV_MASK)
537 #define SYSCTL_CLOCK_DIV_GET(x) (((uint32_t)(x) & SYSCTL_CLOCK_DIV_MASK) >> SYSCTL_CLOCK_DIV_SHIFT)
538 
539 /* Bitfield definition for register array: ADCCLK */
540 /*
541  * GLB_BUSY (RO)
542  *
543  * global busy
544  * 0: no changes pending to any clock
545  * 1: any of nodes is changing status
546  */
547 #define SYSCTL_ADCCLK_GLB_BUSY_MASK (0x80000000UL)
548 #define SYSCTL_ADCCLK_GLB_BUSY_SHIFT (31U)
549 #define SYSCTL_ADCCLK_GLB_BUSY_GET(x) (((uint32_t)(x) & SYSCTL_ADCCLK_GLB_BUSY_MASK) >> SYSCTL_ADCCLK_GLB_BUSY_SHIFT)
550 
551 /*
552  * LOC_BUSY (RO)
553  *
554  * local busy
555  * 0: a change is pending for current node
556  * 1: current node is changing status
557  */
558 #define SYSCTL_ADCCLK_LOC_BUSY_MASK (0x40000000UL)
559 #define SYSCTL_ADCCLK_LOC_BUSY_SHIFT (30U)
560 #define SYSCTL_ADCCLK_LOC_BUSY_GET(x) (((uint32_t)(x) & SYSCTL_ADCCLK_LOC_BUSY_MASK) >> SYSCTL_ADCCLK_LOC_BUSY_SHIFT)
561 
562 /*
563  * PRESERVE (RW)
564  *
565  * preserve function against global select
566  * 0: select global clock setting
567  * 1: not select global clock setting
568  */
569 #define SYSCTL_ADCCLK_PRESERVE_MASK (0x10000000UL)
570 #define SYSCTL_ADCCLK_PRESERVE_SHIFT (28U)
571 #define SYSCTL_ADCCLK_PRESERVE_SET(x) (((uint32_t)(x) << SYSCTL_ADCCLK_PRESERVE_SHIFT) & SYSCTL_ADCCLK_PRESERVE_MASK)
572 #define SYSCTL_ADCCLK_PRESERVE_GET(x) (((uint32_t)(x) & SYSCTL_ADCCLK_PRESERVE_MASK) >> SYSCTL_ADCCLK_PRESERVE_SHIFT)
573 
574 /*
575  * MUX (RW)
576  *
577  * current mux
578  * 0: ana clock N
579  * 1: axi clock
580  */
581 #define SYSCTL_ADCCLK_MUX_MASK (0x100U)
582 #define SYSCTL_ADCCLK_MUX_SHIFT (8U)
583 #define SYSCTL_ADCCLK_MUX_SET(x) (((uint32_t)(x) << SYSCTL_ADCCLK_MUX_SHIFT) & SYSCTL_ADCCLK_MUX_MASK)
584 #define SYSCTL_ADCCLK_MUX_GET(x) (((uint32_t)(x) & SYSCTL_ADCCLK_MUX_MASK) >> SYSCTL_ADCCLK_MUX_SHIFT)
585 
586 /* Bitfield definition for register array: I2SCLK */
587 /*
588  * GLB_BUSY (RO)
589  *
590  * global busy
591  * 0: no changes pending to any clock
592  * 1: any of nodes is changing status
593  */
594 #define SYSCTL_I2SCLK_GLB_BUSY_MASK (0x80000000UL)
595 #define SYSCTL_I2SCLK_GLB_BUSY_SHIFT (31U)
596 #define SYSCTL_I2SCLK_GLB_BUSY_GET(x) (((uint32_t)(x) & SYSCTL_I2SCLK_GLB_BUSY_MASK) >> SYSCTL_I2SCLK_GLB_BUSY_SHIFT)
597 
598 /*
599  * LOC_BUSY (RO)
600  *
601  * local busy
602  * 0: a change is pending for current node
603  * 1: current node is changing status
604  */
605 #define SYSCTL_I2SCLK_LOC_BUSY_MASK (0x40000000UL)
606 #define SYSCTL_I2SCLK_LOC_BUSY_SHIFT (30U)
607 #define SYSCTL_I2SCLK_LOC_BUSY_GET(x) (((uint32_t)(x) & SYSCTL_I2SCLK_LOC_BUSY_MASK) >> SYSCTL_I2SCLK_LOC_BUSY_SHIFT)
608 
609 /*
610  * PRESERVE (RW)
611  *
612  * preserve function against global select
613  * 0: select global clock setting
614  * 1: not select global clock setting
615  */
616 #define SYSCTL_I2SCLK_PRESERVE_MASK (0x10000000UL)
617 #define SYSCTL_I2SCLK_PRESERVE_SHIFT (28U)
618 #define SYSCTL_I2SCLK_PRESERVE_SET(x) (((uint32_t)(x) << SYSCTL_I2SCLK_PRESERVE_SHIFT) & SYSCTL_I2SCLK_PRESERVE_MASK)
619 #define SYSCTL_I2SCLK_PRESERVE_GET(x) (((uint32_t)(x) & SYSCTL_I2SCLK_PRESERVE_MASK) >> SYSCTL_I2SCLK_PRESERVE_SHIFT)
620 
621 /*
622  * MUX (RW)
623  *
624  * current mux
625  * 0: aud clock N
626  * 1: aud clock 0
627  */
628 #define SYSCTL_I2SCLK_MUX_MASK (0x100U)
629 #define SYSCTL_I2SCLK_MUX_SHIFT (8U)
630 #define SYSCTL_I2SCLK_MUX_SET(x) (((uint32_t)(x) << SYSCTL_I2SCLK_MUX_SHIFT) & SYSCTL_I2SCLK_MUX_MASK)
631 #define SYSCTL_I2SCLK_MUX_GET(x) (((uint32_t)(x) & SYSCTL_I2SCLK_MUX_MASK) >> SYSCTL_I2SCLK_MUX_SHIFT)
632 
633 /* Bitfield definition for register: GLOBAL00 */
634 /*
635  * MUX (RW)
636  *
637  * global clock override request
638  * bit0: override to preset0
639  * bit1: override to preset1
640  * bit2: override to preset2
641  * bit3: override to preset3
642  * bit4: override to preset4
643  * bit5: override to preset5
644  * bit6: override to preset6
645  * bit7: override to preset7
646  */
647 #define SYSCTL_GLOBAL00_MUX_MASK (0xFFU)
648 #define SYSCTL_GLOBAL00_MUX_SHIFT (0U)
649 #define SYSCTL_GLOBAL00_MUX_SET(x) (((uint32_t)(x) << SYSCTL_GLOBAL00_MUX_SHIFT) & SYSCTL_GLOBAL00_MUX_MASK)
650 #define SYSCTL_GLOBAL00_MUX_GET(x) (((uint32_t)(x) & SYSCTL_GLOBAL00_MUX_MASK) >> SYSCTL_GLOBAL00_MUX_SHIFT)
651 
652 /* Bitfield definition for register of struct array MONITOR: CONTROL */
653 /*
654  * VALID (RW)
655  *
656  * result is ready for read
657  * 0: not ready
658  * 1: result is ready
659  */
660 #define SYSCTL_MONITOR_CONTROL_VALID_MASK (0x80000000UL)
661 #define SYSCTL_MONITOR_CONTROL_VALID_SHIFT (31U)
662 #define SYSCTL_MONITOR_CONTROL_VALID_SET(x) (((uint32_t)(x) << SYSCTL_MONITOR_CONTROL_VALID_SHIFT) & SYSCTL_MONITOR_CONTROL_VALID_MASK)
663 #define SYSCTL_MONITOR_CONTROL_VALID_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_CONTROL_VALID_MASK) >> SYSCTL_MONITOR_CONTROL_VALID_SHIFT)
664 
665 /*
666  * DIV_BUSY (RO)
667  *
668  * divider is applying new setting
669  */
670 #define SYSCTL_MONITOR_CONTROL_DIV_BUSY_MASK (0x8000000UL)
671 #define SYSCTL_MONITOR_CONTROL_DIV_BUSY_SHIFT (27U)
672 #define SYSCTL_MONITOR_CONTROL_DIV_BUSY_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_CONTROL_DIV_BUSY_MASK) >> SYSCTL_MONITOR_CONTROL_DIV_BUSY_SHIFT)
673 
674 /*
675  * OUTEN (RW)
676  *
677  * enable clock output
678  */
679 #define SYSCTL_MONITOR_CONTROL_OUTEN_MASK (0x1000000UL)
680 #define SYSCTL_MONITOR_CONTROL_OUTEN_SHIFT (24U)
681 #define SYSCTL_MONITOR_CONTROL_OUTEN_SET(x) (((uint32_t)(x) << SYSCTL_MONITOR_CONTROL_OUTEN_SHIFT) & SYSCTL_MONITOR_CONTROL_OUTEN_MASK)
682 #define SYSCTL_MONITOR_CONTROL_OUTEN_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_CONTROL_OUTEN_MASK) >> SYSCTL_MONITOR_CONTROL_OUTEN_SHIFT)
683 
684 /*
685  * DIV (RW)
686  *
687  * output divider
688  */
689 #define SYSCTL_MONITOR_CONTROL_DIV_MASK (0xFF0000UL)
690 #define SYSCTL_MONITOR_CONTROL_DIV_SHIFT (16U)
691 #define SYSCTL_MONITOR_CONTROL_DIV_SET(x) (((uint32_t)(x) << SYSCTL_MONITOR_CONTROL_DIV_SHIFT) & SYSCTL_MONITOR_CONTROL_DIV_MASK)
692 #define SYSCTL_MONITOR_CONTROL_DIV_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_CONTROL_DIV_MASK) >> SYSCTL_MONITOR_CONTROL_DIV_SHIFT)
693 
694 /*
695  * HIGH (RW)
696  *
697  * clock frequency higher than upper limit
698  */
699 #define SYSCTL_MONITOR_CONTROL_HIGH_MASK (0x8000U)
700 #define SYSCTL_MONITOR_CONTROL_HIGH_SHIFT (15U)
701 #define SYSCTL_MONITOR_CONTROL_HIGH_SET(x) (((uint32_t)(x) << SYSCTL_MONITOR_CONTROL_HIGH_SHIFT) & SYSCTL_MONITOR_CONTROL_HIGH_MASK)
702 #define SYSCTL_MONITOR_CONTROL_HIGH_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_CONTROL_HIGH_MASK) >> SYSCTL_MONITOR_CONTROL_HIGH_SHIFT)
703 
704 /*
705  * LOW (RW)
706  *
707  * clock frequency lower than lower limit
708  */
709 #define SYSCTL_MONITOR_CONTROL_LOW_MASK (0x4000U)
710 #define SYSCTL_MONITOR_CONTROL_LOW_SHIFT (14U)
711 #define SYSCTL_MONITOR_CONTROL_LOW_SET(x) (((uint32_t)(x) << SYSCTL_MONITOR_CONTROL_LOW_SHIFT) & SYSCTL_MONITOR_CONTROL_LOW_MASK)
712 #define SYSCTL_MONITOR_CONTROL_LOW_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_CONTROL_LOW_MASK) >> SYSCTL_MONITOR_CONTROL_LOW_SHIFT)
713 
714 /*
715  * START (RW)
716  *
717  * start measurement
718  */
719 #define SYSCTL_MONITOR_CONTROL_START_MASK (0x1000U)
720 #define SYSCTL_MONITOR_CONTROL_START_SHIFT (12U)
721 #define SYSCTL_MONITOR_CONTROL_START_SET(x) (((uint32_t)(x) << SYSCTL_MONITOR_CONTROL_START_SHIFT) & SYSCTL_MONITOR_CONTROL_START_MASK)
722 #define SYSCTL_MONITOR_CONTROL_START_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_CONTROL_START_MASK) >> SYSCTL_MONITOR_CONTROL_START_SHIFT)
723 
724 /*
725  * MODE (RW)
726  *
727  * work mode,
728  * 0: register value will be compared to measurement
729  * 1: upper and lower value will be recordered in register
730  */
731 #define SYSCTL_MONITOR_CONTROL_MODE_MASK (0x400U)
732 #define SYSCTL_MONITOR_CONTROL_MODE_SHIFT (10U)
733 #define SYSCTL_MONITOR_CONTROL_MODE_SET(x) (((uint32_t)(x) << SYSCTL_MONITOR_CONTROL_MODE_SHIFT) & SYSCTL_MONITOR_CONTROL_MODE_MASK)
734 #define SYSCTL_MONITOR_CONTROL_MODE_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_CONTROL_MODE_MASK) >> SYSCTL_MONITOR_CONTROL_MODE_SHIFT)
735 
736 /*
737  * ACCURACY (RW)
738  *
739  * measurement accuracy,
740  * 0: resolution is 1kHz
741  * 1: resolution is 1Hz
742  */
743 #define SYSCTL_MONITOR_CONTROL_ACCURACY_MASK (0x200U)
744 #define SYSCTL_MONITOR_CONTROL_ACCURACY_SHIFT (9U)
745 #define SYSCTL_MONITOR_CONTROL_ACCURACY_SET(x) (((uint32_t)(x) << SYSCTL_MONITOR_CONTROL_ACCURACY_SHIFT) & SYSCTL_MONITOR_CONTROL_ACCURACY_MASK)
746 #define SYSCTL_MONITOR_CONTROL_ACCURACY_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_CONTROL_ACCURACY_MASK) >> SYSCTL_MONITOR_CONTROL_ACCURACY_SHIFT)
747 
748 /*
749  * REFERENCE (RW)
750  *
751  * refrence clock selection,
752  * 0: 32k
753  * 1: 24M
754  */
755 #define SYSCTL_MONITOR_CONTROL_REFERENCE_MASK (0x100U)
756 #define SYSCTL_MONITOR_CONTROL_REFERENCE_SHIFT (8U)
757 #define SYSCTL_MONITOR_CONTROL_REFERENCE_SET(x) (((uint32_t)(x) << SYSCTL_MONITOR_CONTROL_REFERENCE_SHIFT) & SYSCTL_MONITOR_CONTROL_REFERENCE_MASK)
758 #define SYSCTL_MONITOR_CONTROL_REFERENCE_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_CONTROL_REFERENCE_MASK) >> SYSCTL_MONITOR_CONTROL_REFERENCE_SHIFT)
759 
760 /*
761  * SELECTION (RW)
762  *
763  * clock measurement selection
764  */
765 #define SYSCTL_MONITOR_CONTROL_SELECTION_MASK (0xFFU)
766 #define SYSCTL_MONITOR_CONTROL_SELECTION_SHIFT (0U)
767 #define SYSCTL_MONITOR_CONTROL_SELECTION_SET(x) (((uint32_t)(x) << SYSCTL_MONITOR_CONTROL_SELECTION_SHIFT) & SYSCTL_MONITOR_CONTROL_SELECTION_MASK)
768 #define SYSCTL_MONITOR_CONTROL_SELECTION_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_CONTROL_SELECTION_MASK) >> SYSCTL_MONITOR_CONTROL_SELECTION_SHIFT)
769 
770 /* Bitfield definition for register of struct array MONITOR: CURRENT */
771 /*
772  * FREQUENCY (RO)
773  *
774  * self updating measure result
775  */
776 #define SYSCTL_MONITOR_CURRENT_FREQUENCY_MASK (0xFFFFFFFFUL)
777 #define SYSCTL_MONITOR_CURRENT_FREQUENCY_SHIFT (0U)
778 #define SYSCTL_MONITOR_CURRENT_FREQUENCY_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_CURRENT_FREQUENCY_MASK) >> SYSCTL_MONITOR_CURRENT_FREQUENCY_SHIFT)
779 
780 /* Bitfield definition for register of struct array MONITOR: LOW_LIMIT */
781 /*
782  * FREQUENCY (RW)
783  *
784  * lower frequency
785  */
786 #define SYSCTL_MONITOR_LOW_LIMIT_FREQUENCY_MASK (0xFFFFFFFFUL)
787 #define SYSCTL_MONITOR_LOW_LIMIT_FREQUENCY_SHIFT (0U)
788 #define SYSCTL_MONITOR_LOW_LIMIT_FREQUENCY_SET(x) (((uint32_t)(x) << SYSCTL_MONITOR_LOW_LIMIT_FREQUENCY_SHIFT) & SYSCTL_MONITOR_LOW_LIMIT_FREQUENCY_MASK)
789 #define SYSCTL_MONITOR_LOW_LIMIT_FREQUENCY_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_LOW_LIMIT_FREQUENCY_MASK) >> SYSCTL_MONITOR_LOW_LIMIT_FREQUENCY_SHIFT)
790 
791 /* Bitfield definition for register of struct array MONITOR: HIGH_LIMIT */
792 /*
793  * FREQUENCY (RW)
794  *
795  * upper frequency
796  */
797 #define SYSCTL_MONITOR_HIGH_LIMIT_FREQUENCY_MASK (0xFFFFFFFFUL)
798 #define SYSCTL_MONITOR_HIGH_LIMIT_FREQUENCY_SHIFT (0U)
799 #define SYSCTL_MONITOR_HIGH_LIMIT_FREQUENCY_SET(x) (((uint32_t)(x) << SYSCTL_MONITOR_HIGH_LIMIT_FREQUENCY_SHIFT) & SYSCTL_MONITOR_HIGH_LIMIT_FREQUENCY_MASK)
800 #define SYSCTL_MONITOR_HIGH_LIMIT_FREQUENCY_GET(x) (((uint32_t)(x) & SYSCTL_MONITOR_HIGH_LIMIT_FREQUENCY_MASK) >> SYSCTL_MONITOR_HIGH_LIMIT_FREQUENCY_SHIFT)
801 
802 /* Bitfield definition for register of struct array CPU: LP */
803 /*
804  * WAKE_CNT (RW)
805  *
806  * CPU0 wake up counter, counter satuated at 255, write 0x00 to clear
807  */
808 #define SYSCTL_CPU_LP_WAKE_CNT_MASK (0xFF000000UL)
809 #define SYSCTL_CPU_LP_WAKE_CNT_SHIFT (24U)
810 #define SYSCTL_CPU_LP_WAKE_CNT_SET(x) (((uint32_t)(x) << SYSCTL_CPU_LP_WAKE_CNT_SHIFT) & SYSCTL_CPU_LP_WAKE_CNT_MASK)
811 #define SYSCTL_CPU_LP_WAKE_CNT_GET(x) (((uint32_t)(x) & SYSCTL_CPU_LP_WAKE_CNT_MASK) >> SYSCTL_CPU_LP_WAKE_CNT_SHIFT)
812 
813 /*
814  * HALT (RW)
815  *
816  * halt request for CPU0,
817  * 0: CPU0 will start to execute after reset or receive wakeup request
818  * 1: CPU0 will not start after reset, or wakeup after WFI
819  */
820 #define SYSCTL_CPU_LP_HALT_MASK (0x10000UL)
821 #define SYSCTL_CPU_LP_HALT_SHIFT (16U)
822 #define SYSCTL_CPU_LP_HALT_SET(x) (((uint32_t)(x) << SYSCTL_CPU_LP_HALT_SHIFT) & SYSCTL_CPU_LP_HALT_MASK)
823 #define SYSCTL_CPU_LP_HALT_GET(x) (((uint32_t)(x) & SYSCTL_CPU_LP_HALT_MASK) >> SYSCTL_CPU_LP_HALT_SHIFT)
824 
825 /*
826  * WAKE (RO)
827  *
828  * CPU0 is waking up
829  * 0: CPU0 wake up not asserted
830  * 1: CPU0 wake up asserted
831  */
832 #define SYSCTL_CPU_LP_WAKE_MASK (0x2000U)
833 #define SYSCTL_CPU_LP_WAKE_SHIFT (13U)
834 #define SYSCTL_CPU_LP_WAKE_GET(x) (((uint32_t)(x) & SYSCTL_CPU_LP_WAKE_MASK) >> SYSCTL_CPU_LP_WAKE_SHIFT)
835 
836 /*
837  * EXEC (RO)
838  *
839  * CPU0 is executing
840  * 0: CPU0 is not executing
841  * 1: CPU0 is executing
842  */
843 #define SYSCTL_CPU_LP_EXEC_MASK (0x1000U)
844 #define SYSCTL_CPU_LP_EXEC_SHIFT (12U)
845 #define SYSCTL_CPU_LP_EXEC_GET(x) (((uint32_t)(x) & SYSCTL_CPU_LP_EXEC_MASK) >> SYSCTL_CPU_LP_EXEC_SHIFT)
846 
847 /*
848  * WAKE_FLAG (RW)
849  *
850  * CPU0 wakeup flag, indicate a wakeup event got active, write 1 to clear this bit
851  * 0: CPU0 wakeup not happened
852  * 1: CPU0 wake up happened
853  */
854 #define SYSCTL_CPU_LP_WAKE_FLAG_MASK (0x400U)
855 #define SYSCTL_CPU_LP_WAKE_FLAG_SHIFT (10U)
856 #define SYSCTL_CPU_LP_WAKE_FLAG_SET(x) (((uint32_t)(x) << SYSCTL_CPU_LP_WAKE_FLAG_SHIFT) & SYSCTL_CPU_LP_WAKE_FLAG_MASK)
857 #define SYSCTL_CPU_LP_WAKE_FLAG_GET(x) (((uint32_t)(x) & SYSCTL_CPU_LP_WAKE_FLAG_MASK) >> SYSCTL_CPU_LP_WAKE_FLAG_SHIFT)
858 
859 /*
860  * SLEEP_FLAG (RW)
861  *
862  * CPU0 sleep flag, indicate a sleep event got active, write 1 to clear this bit
863  * 0: CPU0 sleep not happened
864  * 1: CPU0 sleep happened
865  */
866 #define SYSCTL_CPU_LP_SLEEP_FLAG_MASK (0x200U)
867 #define SYSCTL_CPU_LP_SLEEP_FLAG_SHIFT (9U)
868 #define SYSCTL_CPU_LP_SLEEP_FLAG_SET(x) (((uint32_t)(x) << SYSCTL_CPU_LP_SLEEP_FLAG_SHIFT) & SYSCTL_CPU_LP_SLEEP_FLAG_MASK)
869 #define SYSCTL_CPU_LP_SLEEP_FLAG_GET(x) (((uint32_t)(x) & SYSCTL_CPU_LP_SLEEP_FLAG_MASK) >> SYSCTL_CPU_LP_SLEEP_FLAG_SHIFT)
870 
871 /*
872  * RESET_FLAG (RW)
873  *
874  * CPU0 reset flag, indicate a reset event got active, write 1 to clear this bit
875  * 0: CPU0 reset not happened
876  * 1: CPU0 reset happened
877  */
878 #define SYSCTL_CPU_LP_RESET_FLAG_MASK (0x100U)
879 #define SYSCTL_CPU_LP_RESET_FLAG_SHIFT (8U)
880 #define SYSCTL_CPU_LP_RESET_FLAG_SET(x) (((uint32_t)(x) << SYSCTL_CPU_LP_RESET_FLAG_SHIFT) & SYSCTL_CPU_LP_RESET_FLAG_MASK)
881 #define SYSCTL_CPU_LP_RESET_FLAG_GET(x) (((uint32_t)(x) & SYSCTL_CPU_LP_RESET_FLAG_MASK) >> SYSCTL_CPU_LP_RESET_FLAG_SHIFT)
882 
883 /*
884  * MODE (RW)
885  *
886  * Low power mode, system behavior after WFI
887  * 00: CPU clock stop after WFI
888  * 01: System enter low power mode after WFI
889  * 10: Keep running after WFI
890  * 11: reserved
891  */
892 #define SYSCTL_CPU_LP_MODE_MASK (0x3U)
893 #define SYSCTL_CPU_LP_MODE_SHIFT (0U)
894 #define SYSCTL_CPU_LP_MODE_SET(x) (((uint32_t)(x) << SYSCTL_CPU_LP_MODE_SHIFT) & SYSCTL_CPU_LP_MODE_MASK)
895 #define SYSCTL_CPU_LP_MODE_GET(x) (((uint32_t)(x) & SYSCTL_CPU_LP_MODE_MASK) >> SYSCTL_CPU_LP_MODE_SHIFT)
896 
897 /* Bitfield definition for register of struct array CPU: LOCK */
898 /*
899  * GPR (RW)
900  *
901  * Lock bit for CPU_DATA0 to CPU_DATA13, once set, this bit will not clear untile next reset
902  */
903 #define SYSCTL_CPU_LOCK_GPR_MASK (0xFFFCU)
904 #define SYSCTL_CPU_LOCK_GPR_SHIFT (2U)
905 #define SYSCTL_CPU_LOCK_GPR_SET(x) (((uint32_t)(x) << SYSCTL_CPU_LOCK_GPR_SHIFT) & SYSCTL_CPU_LOCK_GPR_MASK)
906 #define SYSCTL_CPU_LOCK_GPR_GET(x) (((uint32_t)(x) & SYSCTL_CPU_LOCK_GPR_MASK) >> SYSCTL_CPU_LOCK_GPR_SHIFT)
907 
908 /*
909  * LOCK (RW)
910  *
911  * Lock bit for CPU_LOCK
912  */
913 #define SYSCTL_CPU_LOCK_LOCK_MASK (0x2U)
914 #define SYSCTL_CPU_LOCK_LOCK_SHIFT (1U)
915 #define SYSCTL_CPU_LOCK_LOCK_SET(x) (((uint32_t)(x) << SYSCTL_CPU_LOCK_LOCK_SHIFT) & SYSCTL_CPU_LOCK_LOCK_MASK)
916 #define SYSCTL_CPU_LOCK_LOCK_GET(x) (((uint32_t)(x) & SYSCTL_CPU_LOCK_LOCK_MASK) >> SYSCTL_CPU_LOCK_LOCK_SHIFT)
917 
918 /* Bitfield definition for register of struct array CPU: GPR0 */
919 /*
920  * GPR (RW)
921  *
922  * register for software to handle resume, can save resume address or status
923  */
924 #define SYSCTL_CPU_GPR_GPR_MASK (0xFFFFFFFFUL)
925 #define SYSCTL_CPU_GPR_GPR_SHIFT (0U)
926 #define SYSCTL_CPU_GPR_GPR_SET(x) (((uint32_t)(x) << SYSCTL_CPU_GPR_GPR_SHIFT) & SYSCTL_CPU_GPR_GPR_MASK)
927 #define SYSCTL_CPU_GPR_GPR_GET(x) (((uint32_t)(x) & SYSCTL_CPU_GPR_GPR_MASK) >> SYSCTL_CPU_GPR_GPR_SHIFT)
928 
929 /* Bitfield definition for register of struct array CPU: STATUS0 */
930 /*
931  * STATUS (RO)
932  *
933  * IRQ values
934  */
935 #define SYSCTL_CPU_WAKEUP_STATUS_STATUS_MASK (0xFFFFFFFFUL)
936 #define SYSCTL_CPU_WAKEUP_STATUS_STATUS_SHIFT (0U)
937 #define SYSCTL_CPU_WAKEUP_STATUS_STATUS_GET(x) (((uint32_t)(x) & SYSCTL_CPU_WAKEUP_STATUS_STATUS_MASK) >> SYSCTL_CPU_WAKEUP_STATUS_STATUS_SHIFT)
938 
939 /* Bitfield definition for register of struct array CPU: ENABLE0 */
940 /*
941  * ENABLE (RW)
942  *
943  * IRQ wakeup enable
944  */
945 #define SYSCTL_CPU_WAKEUP_ENABLE_ENABLE_MASK (0xFFFFFFFFUL)
946 #define SYSCTL_CPU_WAKEUP_ENABLE_ENABLE_SHIFT (0U)
947 #define SYSCTL_CPU_WAKEUP_ENABLE_ENABLE_SET(x) (((uint32_t)(x) << SYSCTL_CPU_WAKEUP_ENABLE_ENABLE_SHIFT) & SYSCTL_CPU_WAKEUP_ENABLE_ENABLE_MASK)
948 #define SYSCTL_CPU_WAKEUP_ENABLE_ENABLE_GET(x) (((uint32_t)(x) & SYSCTL_CPU_WAKEUP_ENABLE_ENABLE_MASK) >> SYSCTL_CPU_WAKEUP_ENABLE_ENABLE_SHIFT)
949 
950 
951 
952 /* RESOURCE register group index macro definition */
953 #define SYSCTL_RESOURCE_CPU0 (0UL)
954 #define SYSCTL_RESOURCE_CPX0 (1UL)
955 #define SYSCTL_RESOURCE_POW_VIS (21UL)
956 #define SYSCTL_RESOURCE_POW_CPU0 (22UL)
957 #define SYSCTL_RESOURCE_POW_GPU (23UL)
958 #define SYSCTL_RESOURCE_RST_SOC (25UL)
959 #define SYSCTL_RESOURCE_RST_CON (26UL)
960 #define SYSCTL_RESOURCE_RST_VIS (27UL)
961 #define SYSCTL_RESOURCE_RST_CPU0 (28UL)
962 #define SYSCTL_RESOURCE_RST_GPU (29UL)
963 #define SYSCTL_RESOURCE_CLK_SRC_XTAL (32UL)
964 #define SYSCTL_RESOURCE_CLK_SRC_PLL0 (33UL)
965 #define SYSCTL_RESOURCE_CLK_SRC_CLK0_PLL0 (34UL)
966 #define SYSCTL_RESOURCE_CLK_SRC_PLL1 (35UL)
967 #define SYSCTL_RESOURCE_CLK_SRC_CLK0_PLL1 (36UL)
968 #define SYSCTL_RESOURCE_CLK_SRC_CLK1_PLL1 (37UL)
969 #define SYSCTL_RESOURCE_CLK_SRC_PLL2 (38UL)
970 #define SYSCTL_RESOURCE_CLK_SRC_CLK0_PLL2 (39UL)
971 #define SYSCTL_RESOURCE_CLK_SRC_CLK1_PLL2 (40UL)
972 #define SYSCTL_RESOURCE_CLK_SRC_PLL3 (41UL)
973 #define SYSCTL_RESOURCE_CLK_SRC_CLK0_PLL3 (42UL)
974 #define SYSCTL_RESOURCE_CLK_SRC_PLL4 (43UL)
975 #define SYSCTL_RESOURCE_CLK_SRC_CLK0_PLL4 (44UL)
976 #define SYSCTL_RESOURCE_CLK_SRC_PLL0_REF (45UL)
977 #define SYSCTL_RESOURCE_CLK_SRC_PLL1_REF (46UL)
978 #define SYSCTL_RESOURCE_CLK_SRC_PLL2_REF (47UL)
979 #define SYSCTL_RESOURCE_CLK_SRC_PLL3_REF (48UL)
980 #define SYSCTL_RESOURCE_CLK_SRC_PLL4_REF (49UL)
981 #define SYSCTL_RESOURCE_CLK_TOP_CPU0 (64UL)
982 #define SYSCTL_RESOURCE_CLK_TOP_MCT0 (65UL)
983 #define SYSCTL_RESOURCE_CLK_TOP_GPU0 (66UL)
984 #define SYSCTL_RESOURCE_CLK_TOP_AXIF (67UL)
985 #define SYSCTL_RESOURCE_CLK_TOP_AXIS (68UL)
986 #define SYSCTL_RESOURCE_CLK_TOP_AXIC (69UL)
987 #define SYSCTL_RESOURCE_CLK_TOP_AXIV (70UL)
988 #define SYSCTL_RESOURCE_CLK_TOP_AXID (71UL)
989 #define SYSCTL_RESOURCE_CLK_TOP_CAN0 (72UL)
990 #define SYSCTL_RESOURCE_CLK_TOP_CAN1 (73UL)
991 #define SYSCTL_RESOURCE_CLK_TOP_CAN2 (74UL)
992 #define SYSCTL_RESOURCE_CLK_TOP_CAN3 (75UL)
993 #define SYSCTL_RESOURCE_CLK_TOP_CAN4 (76UL)
994 #define SYSCTL_RESOURCE_CLK_TOP_CAN5 (77UL)
995 #define SYSCTL_RESOURCE_CLK_TOP_CAN6 (78UL)
996 #define SYSCTL_RESOURCE_CLK_TOP_CAN7 (79UL)
997 #define SYSCTL_RESOURCE_CLK_TOP_LIN0 (80UL)
998 #define SYSCTL_RESOURCE_CLK_TOP_LIN1 (81UL)
999 #define SYSCTL_RESOURCE_CLK_TOP_LIN2 (82UL)
1000 #define SYSCTL_RESOURCE_CLK_TOP_LIN3 (83UL)
1001 #define SYSCTL_RESOURCE_CLK_TOP_LIN4 (84UL)
1002 #define SYSCTL_RESOURCE_CLK_TOP_LIN5 (85UL)
1003 #define SYSCTL_RESOURCE_CLK_TOP_LIN6 (86UL)
1004 #define SYSCTL_RESOURCE_CLK_TOP_LIN7 (87UL)
1005 #define SYSCTL_RESOURCE_CLK_TOP_I2C0 (88UL)
1006 #define SYSCTL_RESOURCE_CLK_TOP_I2C1 (89UL)
1007 #define SYSCTL_RESOURCE_CLK_TOP_I2C2 (90UL)
1008 #define SYSCTL_RESOURCE_CLK_TOP_I2C3 (91UL)
1009 #define SYSCTL_RESOURCE_CLK_TOP_SPI0 (92UL)
1010 #define SYSCTL_RESOURCE_CLK_TOP_SPI1 (93UL)
1011 #define SYSCTL_RESOURCE_CLK_TOP_SPI2 (94UL)
1012 #define SYSCTL_RESOURCE_CLK_TOP_SPI3 (95UL)
1013 #define SYSCTL_RESOURCE_CLK_TOP_URT0 (96UL)
1014 #define SYSCTL_RESOURCE_CLK_TOP_URT1 (97UL)
1015 #define SYSCTL_RESOURCE_CLK_TOP_URT2 (98UL)
1016 #define SYSCTL_RESOURCE_CLK_TOP_URT3 (99UL)
1017 #define SYSCTL_RESOURCE_CLK_TOP_URT4 (100UL)
1018 #define SYSCTL_RESOURCE_CLK_TOP_URT5 (101UL)
1019 #define SYSCTL_RESOURCE_CLK_TOP_URT6 (102UL)
1020 #define SYSCTL_RESOURCE_CLK_TOP_URT7 (103UL)
1021 #define SYSCTL_RESOURCE_CLK_TOP_TMR0 (104UL)
1022 #define SYSCTL_RESOURCE_CLK_TOP_TMR1 (105UL)
1023 #define SYSCTL_RESOURCE_CLK_TOP_TMR2 (106UL)
1024 #define SYSCTL_RESOURCE_CLK_TOP_TMR3 (107UL)
1025 #define SYSCTL_RESOURCE_CLK_TOP_TMR4 (108UL)
1026 #define SYSCTL_RESOURCE_CLK_TOP_TMR5 (109UL)
1027 #define SYSCTL_RESOURCE_CLK_TOP_TMR6 (110UL)
1028 #define SYSCTL_RESOURCE_CLK_TOP_TMR7 (111UL)
1029 #define SYSCTL_RESOURCE_CLK_TOP_XPI0 (112UL)
1030 #define SYSCTL_RESOURCE_CLK_TOP_XRAM (113UL)
1031 #define SYSCTL_RESOURCE_CLK_TOP_ANA0 (114UL)
1032 #define SYSCTL_RESOURCE_CLK_TOP_ANA1 (115UL)
1033 #define SYSCTL_RESOURCE_CLK_TOP_AUD0 (116UL)
1034 #define SYSCTL_RESOURCE_CLK_TOP_AUD1 (117UL)
1035 #define SYSCTL_RESOURCE_CLK_TOP_AUD2 (118UL)
1036 #define SYSCTL_RESOURCE_CLK_TOP_AUD3 (119UL)
1037 #define SYSCTL_RESOURCE_CLK_TOP_ETH0 (120UL)
1038 #define SYSCTL_RESOURCE_CLK_TOP_PTP0 (121UL)
1039 #define SYSCTL_RESOURCE_CLK_TOP_SDC0 (122UL)
1040 #define SYSCTL_RESOURCE_CLK_TOP_SDC1 (123UL)
1041 #define SYSCTL_RESOURCE_CLK_TOP_NTM0 (124UL)
1042 #define SYSCTL_RESOURCE_CLK_TOP_REF0 (125UL)
1043 #define SYSCTL_RESOURCE_CLK_TOP_REF1 (126UL)
1044 #define SYSCTL_RESOURCE_CLK_TOP_CAM0 (127UL)
1045 #define SYSCTL_RESOURCE_CLK_TOP_CAM1 (128UL)
1046 #define SYSCTL_RESOURCE_CLK_TOP_LCD0 (129UL)
1047 #define SYSCTL_RESOURCE_CLK_TOP_LCD1 (130UL)
1048 #define SYSCTL_RESOURCE_CLK_TOP_CSI0 (131UL)
1049 #define SYSCTL_RESOURCE_CLK_TOP_CSI1 (132UL)
1050 #define SYSCTL_RESOURCE_CLK_TOP_ADC0 (133UL)
1051 #define SYSCTL_RESOURCE_CLK_TOP_ADC1 (134UL)
1052 #define SYSCTL_RESOURCE_CLK_TOP_I2S0 (135UL)
1053 #define SYSCTL_RESOURCE_CLK_TOP_I2S1 (136UL)
1054 #define SYSCTL_RESOURCE_CLK_TOP_I2S2 (137UL)
1055 #define SYSCTL_RESOURCE_CLK_TOP_I2S3 (138UL)
1056 #define SYSCTL_RESOURCE_AXIS (256UL)
1057 #define SYSCTL_RESOURCE_AXIC (257UL)
1058 #define SYSCTL_RESOURCE_AXIV (258UL)
1059 #define SYSCTL_RESOURCE_AXIG (259UL)
1060 #define SYSCTL_RESOURCE_LMM0 (260UL)
1061 #define SYSCTL_RESOURCE_MCT0 (261UL)
1062 #define SYSCTL_RESOURCE_ROM0 (262UL)
1063 #define SYSCTL_RESOURCE_DDR0 (263UL)
1064 #define SYSCTL_RESOURCE_XRAM (264UL)
1065 #define SYSCTL_RESOURCE_CAN0 (265UL)
1066 #define SYSCTL_RESOURCE_CAN1 (266UL)
1067 #define SYSCTL_RESOURCE_CAN2 (267UL)
1068 #define SYSCTL_RESOURCE_CAN3 (268UL)
1069 #define SYSCTL_RESOURCE_CAN4 (269UL)
1070 #define SYSCTL_RESOURCE_CAN5 (270UL)
1071 #define SYSCTL_RESOURCE_CAN6 (271UL)
1072 #define SYSCTL_RESOURCE_CAN7 (272UL)
1073 #define SYSCTL_RESOURCE_PTPC (273UL)
1074 #define SYSCTL_RESOURCE_CRC0 (274UL)
1075 #define SYSCTL_RESOURCE_OAMP (275UL)
1076 #define SYSCTL_RESOURCE_LIN0 (276UL)
1077 #define SYSCTL_RESOURCE_LIN1 (277UL)
1078 #define SYSCTL_RESOURCE_LIN2 (278UL)
1079 #define SYSCTL_RESOURCE_LIN3 (279UL)
1080 #define SYSCTL_RESOURCE_LIN4 (280UL)
1081 #define SYSCTL_RESOURCE_LIN5 (281UL)
1082 #define SYSCTL_RESOURCE_LIN6 (282UL)
1083 #define SYSCTL_RESOURCE_LIN7 (283UL)
1084 #define SYSCTL_RESOURCE_I2C0 (284UL)
1085 #define SYSCTL_RESOURCE_I2C1 (285UL)
1086 #define SYSCTL_RESOURCE_I2C2 (286UL)
1087 #define SYSCTL_RESOURCE_I2C3 (287UL)
1088 #define SYSCTL_RESOURCE_SPI0 (288UL)
1089 #define SYSCTL_RESOURCE_SPI1 (289UL)
1090 #define SYSCTL_RESOURCE_SPI2 (290UL)
1091 #define SYSCTL_RESOURCE_SPI3 (291UL)
1092 #define SYSCTL_RESOURCE_URT0 (292UL)
1093 #define SYSCTL_RESOURCE_URT1 (293UL)
1094 #define SYSCTL_RESOURCE_URT2 (294UL)
1095 #define SYSCTL_RESOURCE_URT3 (295UL)
1096 #define SYSCTL_RESOURCE_URT4 (296UL)
1097 #define SYSCTL_RESOURCE_URT5 (297UL)
1098 #define SYSCTL_RESOURCE_URT6 (298UL)
1099 #define SYSCTL_RESOURCE_URT7 (299UL)
1100 #define SYSCTL_RESOURCE_WDG0 (300UL)
1101 #define SYSCTL_RESOURCE_WDG1 (301UL)
1102 #define SYSCTL_RESOURCE_MBX0 (302UL)
1103 #define SYSCTL_RESOURCE_MBX1 (303UL)
1104 #define SYSCTL_RESOURCE_TMR0 (304UL)
1105 #define SYSCTL_RESOURCE_TMR1 (305UL)
1106 #define SYSCTL_RESOURCE_TMR2 (306UL)
1107 #define SYSCTL_RESOURCE_TMR3 (307UL)
1108 #define SYSCTL_RESOURCE_TMR4 (308UL)
1109 #define SYSCTL_RESOURCE_TMR5 (309UL)
1110 #define SYSCTL_RESOURCE_TMR6 (310UL)
1111 #define SYSCTL_RESOURCE_TMR7 (311UL)
1112 #define SYSCTL_RESOURCE_I2S0 (312UL)
1113 #define SYSCTL_RESOURCE_I2S1 (313UL)
1114 #define SYSCTL_RESOURCE_I2S2 (314UL)
1115 #define SYSCTL_RESOURCE_I2S3 (315UL)
1116 #define SYSCTL_RESOURCE_PDM0 (316UL)
1117 #define SYSCTL_RESOURCE_DAO0 (317UL)
1118 #define SYSCTL_RESOURCE_SMIX (318UL)
1119 #define SYSCTL_RESOURCE_RNG0 (319UL)
1120 #define SYSCTL_RESOURCE_SDP0 (320UL)
1121 #define SYSCTL_RESOURCE_KMAN (321UL)
1122 #define SYSCTL_RESOURCE_GPIO (322UL)
1123 #define SYSCTL_RESOURCE_ADC0 (323UL)
1124 #define SYSCTL_RESOURCE_ADC1 (324UL)
1125 #define SYSCTL_RESOURCE_SDM0 (325UL)
1126 #define SYSCTL_RESOURCE_HDMA (326UL)
1127 #define SYSCTL_RESOURCE_XDMA (327UL)
1128 #define SYSCTL_RESOURCE_XPI0 (328UL)
1129 #define SYSCTL_RESOURCE_FFA0 (329UL)
1130 #define SYSCTL_RESOURCE_TSNS (330UL)
1131 #define SYSCTL_RESOURCE_ETH0 (331UL)
1132 #define SYSCTL_RESOURCE_USB0 (332UL)
1133 #define SYSCTL_RESOURCE_SDC0 (333UL)
1134 #define SYSCTL_RESOURCE_SDC1 (334UL)
1135 #define SYSCTL_RESOURCE_NTM0 (335UL)
1136 #define SYSCTL_RESOURCE_REF0 (336UL)
1137 #define SYSCTL_RESOURCE_REF1 (337UL)
1138 #define SYSCTL_RESOURCE_CAM0 (338UL)
1139 #define SYSCTL_RESOURCE_CAM1 (339UL)
1140 #define SYSCTL_RESOURCE_PDMA (340UL)
1141 #define SYSCTL_RESOURCE_JPEG (341UL)
1142 #define SYSCTL_RESOURCE_LCD0 (342UL)
1143 #define SYSCTL_RESOURCE_LCD1 (343UL)
1144 #define SYSCTL_RESOURCE_GWC0 (344UL)
1145 #define SYSCTL_RESOURCE_GWC1 (345UL)
1146 #define SYSCTL_RESOURCE_CSI0 (346UL)
1147 #define SYSCTL_RESOURCE_CSI1 (347UL)
1148 #define SYSCTL_RESOURCE_DSI0 (348UL)
1149 #define SYSCTL_RESOURCE_DSI1 (349UL)
1150 #define SYSCTL_RESOURCE_LVB0 (350UL)
1151 #define SYSCTL_RESOURCE_LCB0 (351UL)
1152 #define SYSCTL_RESOURCE_GPU0 (352UL)
1153 
1154 /* GROUP0 register group index macro definition */
1155 #define SYSCTL_GROUP0_LINK0 (0UL)
1156 #define SYSCTL_GROUP0_LINK1 (1UL)
1157 #define SYSCTL_GROUP0_LINK2 (2UL)
1158 #define SYSCTL_GROUP0_LINK3 (3UL)
1159 
1160 /* AFFILIATE register group index macro definition */
1161 #define SYSCTL_AFFILIATE_CPU0 (0UL)
1162 
1163 /* RETENTION register group index macro definition */
1164 #define SYSCTL_RETENTION_CPU0 (0UL)
1165 
1166 /* POWER register group index macro definition */
1167 #define SYSCTL_POWER_VIS (0UL)
1168 #define SYSCTL_POWER_CPU0 (1UL)
1169 #define SYSCTL_POWER_GPU (2UL)
1170 
1171 /* RESET register group index macro definition */
1172 #define SYSCTL_RESET_SOC (0UL)
1173 #define SYSCTL_RESET_CON (1UL)
1174 #define SYSCTL_RESET_VIS (2UL)
1175 #define SYSCTL_RESET_CPU0 (3UL)
1176 #define SYSCTL_RESET_GPU (4UL)
1177 
1178 /* CLOCK register group index macro definition */
1179 #define SYSCTL_CLOCK_CLK_TOP_CPU0 (0UL)
1180 #define SYSCTL_CLOCK_CLK_TOP_MCT0 (1UL)
1181 #define SYSCTL_CLOCK_CLK_TOP_GPU0 (2UL)
1182 #define SYSCTL_CLOCK_CLK_TOP_AXIF (3UL)
1183 #define SYSCTL_CLOCK_CLK_TOP_AXIS (4UL)
1184 #define SYSCTL_CLOCK_CLK_TOP_AXIC (5UL)
1185 #define SYSCTL_CLOCK_CLK_TOP_AXIV (6UL)
1186 #define SYSCTL_CLOCK_CLK_TOP_AXID (7UL)
1187 #define SYSCTL_CLOCK_CLK_TOP_CAN0 (8UL)
1188 #define SYSCTL_CLOCK_CLK_TOP_CAN1 (9UL)
1189 #define SYSCTL_CLOCK_CLK_TOP_CAN2 (10UL)
1190 #define SYSCTL_CLOCK_CLK_TOP_CAN3 (11UL)
1191 #define SYSCTL_CLOCK_CLK_TOP_CAN4 (12UL)
1192 #define SYSCTL_CLOCK_CLK_TOP_CAN5 (13UL)
1193 #define SYSCTL_CLOCK_CLK_TOP_CAN6 (14UL)
1194 #define SYSCTL_CLOCK_CLK_TOP_CAN7 (15UL)
1195 #define SYSCTL_CLOCK_CLK_TOP_LIN0 (16UL)
1196 #define SYSCTL_CLOCK_CLK_TOP_LIN1 (17UL)
1197 #define SYSCTL_CLOCK_CLK_TOP_LIN2 (18UL)
1198 #define SYSCTL_CLOCK_CLK_TOP_LIN3 (19UL)
1199 #define SYSCTL_CLOCK_CLK_TOP_LIN4 (20UL)
1200 #define SYSCTL_CLOCK_CLK_TOP_LIN5 (21UL)
1201 #define SYSCTL_CLOCK_CLK_TOP_LIN6 (22UL)
1202 #define SYSCTL_CLOCK_CLK_TOP_LIN7 (23UL)
1203 #define SYSCTL_CLOCK_CLK_TOP_I2C0 (24UL)
1204 #define SYSCTL_CLOCK_CLK_TOP_I2C1 (25UL)
1205 #define SYSCTL_CLOCK_CLK_TOP_I2C2 (26UL)
1206 #define SYSCTL_CLOCK_CLK_TOP_I2C3 (27UL)
1207 #define SYSCTL_CLOCK_CLK_TOP_SPI0 (28UL)
1208 #define SYSCTL_CLOCK_CLK_TOP_SPI1 (29UL)
1209 #define SYSCTL_CLOCK_CLK_TOP_SPI2 (30UL)
1210 #define SYSCTL_CLOCK_CLK_TOP_SPI3 (31UL)
1211 #define SYSCTL_CLOCK_CLK_TOP_URT0 (32UL)
1212 #define SYSCTL_CLOCK_CLK_TOP_URT1 (33UL)
1213 #define SYSCTL_CLOCK_CLK_TOP_URT2 (34UL)
1214 #define SYSCTL_CLOCK_CLK_TOP_URT3 (35UL)
1215 #define SYSCTL_CLOCK_CLK_TOP_URT4 (36UL)
1216 #define SYSCTL_CLOCK_CLK_TOP_URT5 (37UL)
1217 #define SYSCTL_CLOCK_CLK_TOP_URT6 (38UL)
1218 #define SYSCTL_CLOCK_CLK_TOP_URT7 (39UL)
1219 #define SYSCTL_CLOCK_CLK_TOP_TMR0 (40UL)
1220 #define SYSCTL_CLOCK_CLK_TOP_TMR1 (41UL)
1221 #define SYSCTL_CLOCK_CLK_TOP_TMR2 (42UL)
1222 #define SYSCTL_CLOCK_CLK_TOP_TMR3 (43UL)
1223 #define SYSCTL_CLOCK_CLK_TOP_TMR4 (44UL)
1224 #define SYSCTL_CLOCK_CLK_TOP_TMR5 (45UL)
1225 #define SYSCTL_CLOCK_CLK_TOP_TMR6 (46UL)
1226 #define SYSCTL_CLOCK_CLK_TOP_TMR7 (47UL)
1227 #define SYSCTL_CLOCK_CLK_TOP_XPI0 (48UL)
1228 #define SYSCTL_CLOCK_CLK_TOP_XRAM (49UL)
1229 #define SYSCTL_CLOCK_CLK_TOP_ANA0 (50UL)
1230 #define SYSCTL_CLOCK_CLK_TOP_ANA1 (51UL)
1231 #define SYSCTL_CLOCK_CLK_TOP_AUD0 (52UL)
1232 #define SYSCTL_CLOCK_CLK_TOP_AUD1 (53UL)
1233 #define SYSCTL_CLOCK_CLK_TOP_AUD2 (54UL)
1234 #define SYSCTL_CLOCK_CLK_TOP_AUD3 (55UL)
1235 #define SYSCTL_CLOCK_CLK_TOP_ETH0 (56UL)
1236 #define SYSCTL_CLOCK_CLK_TOP_PTP0 (57UL)
1237 #define SYSCTL_CLOCK_CLK_TOP_SDC0 (58UL)
1238 #define SYSCTL_CLOCK_CLK_TOP_SDC1 (59UL)
1239 #define SYSCTL_CLOCK_CLK_TOP_NTM0 (60UL)
1240 #define SYSCTL_CLOCK_CLK_TOP_REF0 (61UL)
1241 #define SYSCTL_CLOCK_CLK_TOP_REF1 (62UL)
1242 #define SYSCTL_CLOCK_CLK_TOP_CAM0 (63UL)
1243 #define SYSCTL_CLOCK_CLK_TOP_CAM1 (64UL)
1244 #define SYSCTL_CLOCK_CLK_TOP_LCD0 (65UL)
1245 #define SYSCTL_CLOCK_CLK_TOP_LCD1 (66UL)
1246 #define SYSCTL_CLOCK_CLK_TOP_CSI0 (67UL)
1247 #define SYSCTL_CLOCK_CLK_TOP_CSI1 (68UL)
1248 
1249 /* ADCCLK register group index macro definition */
1250 #define SYSCTL_ADCCLK_CLK_TOP_ADC0 (0UL)
1251 #define SYSCTL_ADCCLK_CLK_TOP_ADC1 (1UL)
1252 
1253 /* I2SCLK register group index macro definition */
1254 #define SYSCTL_I2SCLK_CLK_TOP_I2S0 (0UL)
1255 #define SYSCTL_I2SCLK_CLK_TOP_I2S1 (1UL)
1256 #define SYSCTL_I2SCLK_CLK_TOP_I2S2 (2UL)
1257 #define SYSCTL_I2SCLK_CLK_TOP_I2S3 (3UL)
1258 
1259 /* MONITOR register group index macro definition */
1260 #define SYSCTL_MONITOR_SLICE0 (0UL)
1261 #define SYSCTL_MONITOR_SLICE1 (1UL)
1262 #define SYSCTL_MONITOR_SLICE2 (2UL)
1263 #define SYSCTL_MONITOR_SLICE3 (3UL)
1264 
1265 /* GPR register group index macro definition */
1266 #define SYSCTL_CPU_GPR_GPR0 (0UL)
1267 #define SYSCTL_CPU_GPR_GPR1 (1UL)
1268 #define SYSCTL_CPU_GPR_GPR2 (2UL)
1269 #define SYSCTL_CPU_GPR_GPR3 (3UL)
1270 #define SYSCTL_CPU_GPR_GPR4 (4UL)
1271 #define SYSCTL_CPU_GPR_GPR5 (5UL)
1272 #define SYSCTL_CPU_GPR_GPR6 (6UL)
1273 #define SYSCTL_CPU_GPR_GPR7 (7UL)
1274 #define SYSCTL_CPU_GPR_GPR8 (8UL)
1275 #define SYSCTL_CPU_GPR_GPR9 (9UL)
1276 #define SYSCTL_CPU_GPR_GPR10 (10UL)
1277 #define SYSCTL_CPU_GPR_GPR11 (11UL)
1278 #define SYSCTL_CPU_GPR_GPR12 (12UL)
1279 #define SYSCTL_CPU_GPR_GPR13 (13UL)
1280 
1281 /* WAKEUP_STATUS register group index macro definition */
1282 #define SYSCTL_CPU_WAKEUP_STATUS_STATUS0 (0UL)
1283 #define SYSCTL_CPU_WAKEUP_STATUS_STATUS1 (1UL)
1284 #define SYSCTL_CPU_WAKEUP_STATUS_STATUS2 (2UL)
1285 #define SYSCTL_CPU_WAKEUP_STATUS_STATUS3 (3UL)
1286 
1287 /* WAKEUP_ENABLE register group index macro definition */
1288 #define SYSCTL_CPU_WAKEUP_ENABLE_ENABLE0 (0UL)
1289 #define SYSCTL_CPU_WAKEUP_ENABLE_ENABLE1 (1UL)
1290 #define SYSCTL_CPU_WAKEUP_ENABLE_ENABLE2 (2UL)
1291 #define SYSCTL_CPU_WAKEUP_ENABLE_ENABLE3 (3UL)
1292 
1293 /* CPU register group index macro definition */
1294 #define SYSCTL_CPU_CPU0 (0UL)
1295 
1296 
1297 #endif /* HPM_SYSCTL_H */
1298