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