1 // THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT 2 3 /** 4 * Copyright (c) 2024 Raspberry Pi Ltd. 5 * 6 * SPDX-License-Identifier: BSD-3-Clause 7 */ 8 // ============================================================================= 9 // Register block : RP_AP 10 // Version : 1 11 // Bus type : apb 12 // ============================================================================= 13 #ifndef _HARDWARE_REGS_RP_AP_H 14 #define _HARDWARE_REGS_RP_AP_H 15 // ============================================================================= 16 // Register : RP_AP_CTRL 17 // Description : This register is primarily used for DFT but can also be used to 18 // overcome some power up problems. However, it should not be used 19 // to force power up of domains. Use DBG_POW_OVRD for that. 20 #define RP_AP_CTRL_OFFSET _u(0x00000000) 21 #define RP_AP_CTRL_BITS _u(0xc000007f) 22 #define RP_AP_CTRL_RESET _u(0x00000000) 23 // ----------------------------------------------------------------------------- 24 // Field : RP_AP_CTRL_RESCUE_RESTART 25 // Description : Allows debug of boot problems by restarting the chip with 26 // minimal boot code execution. Write to 1 to put the chip in 27 // reset then write to 0 to restart the chip with the rescue flag 28 // set. The rescue flag is in the POWMAN_CHIP_RESET register and 29 // is read by boot code. The rescue flag is cleared by writing 0 30 // to POWMAN_CHIP_RESET_RESCUE_FLAG or by resetting the chip by 31 // any means other than RESCUE_RESTART. 32 #define RP_AP_CTRL_RESCUE_RESTART_RESET _u(0x0) 33 #define RP_AP_CTRL_RESCUE_RESTART_BITS _u(0x80000000) 34 #define RP_AP_CTRL_RESCUE_RESTART_MSB _u(31) 35 #define RP_AP_CTRL_RESCUE_RESTART_LSB _u(31) 36 #define RP_AP_CTRL_RESCUE_RESTART_ACCESS "RW" 37 // ----------------------------------------------------------------------------- 38 // Field : RP_AP_CTRL_SPARE 39 // Description : Unused 40 #define RP_AP_CTRL_SPARE_RESET _u(0x0) 41 #define RP_AP_CTRL_SPARE_BITS _u(0x40000000) 42 #define RP_AP_CTRL_SPARE_MSB _u(30) 43 #define RP_AP_CTRL_SPARE_LSB _u(30) 44 #define RP_AP_CTRL_SPARE_ACCESS "RW" 45 // ----------------------------------------------------------------------------- 46 // Field : RP_AP_CTRL_DBG_FRCE_GPIO_LPCK 47 // Description : Allows chip start-up when the Low Power Oscillator (LPOSC) is 48 // inoperative or malfunctioning and also allows the initial power 49 // sequencing rate to be adjusted. Write to 1 to force the LPOSC 50 // output to be driven from a GPIO (gpio20 on 80-pin package, 51 // gpio34 on the 60-pin package). If the LPOSC is inoperative or 52 // malfunctioning it may also be necessary to set the 53 // LPOSC_STABLE_FRCE bit in this register. The user must provide a 54 // clock on the GPIO. For normal operation use a clock running at 55 // around 32kHz. Adjusting the frequency will speed up or slow 56 // down the initial power-up sequence. 57 #define RP_AP_CTRL_DBG_FRCE_GPIO_LPCK_RESET _u(0x0) 58 #define RP_AP_CTRL_DBG_FRCE_GPIO_LPCK_BITS _u(0x00000040) 59 #define RP_AP_CTRL_DBG_FRCE_GPIO_LPCK_MSB _u(6) 60 #define RP_AP_CTRL_DBG_FRCE_GPIO_LPCK_LSB _u(6) 61 #define RP_AP_CTRL_DBG_FRCE_GPIO_LPCK_ACCESS "RW" 62 // ----------------------------------------------------------------------------- 63 // Field : RP_AP_CTRL_LPOSC_STABLE_FRCE 64 // Description : Allows the chip to start-up even though the Low Power 65 // Oscillator (LPOSC) is failing to set its stable flag. Initial 66 // power sequencing is clocked by LPOSC at around 32kHz but does 67 // not start until the LPOSC declares itself to be stable. If the 68 // LPOSC is otherwise working correctly the chip will boot when 69 // this bit is set. If the LPOSC is not working then 70 // DBG_FRCE_GPIO_LPCK must be set and an external clock provided. 71 #define RP_AP_CTRL_LPOSC_STABLE_FRCE_RESET _u(0x0) 72 #define RP_AP_CTRL_LPOSC_STABLE_FRCE_BITS _u(0x00000020) 73 #define RP_AP_CTRL_LPOSC_STABLE_FRCE_MSB _u(5) 74 #define RP_AP_CTRL_LPOSC_STABLE_FRCE_LSB _u(5) 75 #define RP_AP_CTRL_LPOSC_STABLE_FRCE_ACCESS "RW" 76 // ----------------------------------------------------------------------------- 77 // Field : RP_AP_CTRL_POWMAN_DFT_ISO_OFF 78 // Description : Holds the isolation gates between power domains in the open 79 // state. This is intended to hold the gates open for DFT and 80 // power manager debug. It is not intended to force the isolation 81 // gates open. Use the overrides in DBG_POW_OVRD to force the 82 // isolation gates open or closed. 83 #define RP_AP_CTRL_POWMAN_DFT_ISO_OFF_RESET _u(0x0) 84 #define RP_AP_CTRL_POWMAN_DFT_ISO_OFF_BITS _u(0x00000010) 85 #define RP_AP_CTRL_POWMAN_DFT_ISO_OFF_MSB _u(4) 86 #define RP_AP_CTRL_POWMAN_DFT_ISO_OFF_LSB _u(4) 87 #define RP_AP_CTRL_POWMAN_DFT_ISO_OFF_ACCESS "RW" 88 // ----------------------------------------------------------------------------- 89 // Field : RP_AP_CTRL_POWMAN_DFT_PWRON 90 // Description : Holds the power switches on for all domains. This is intended 91 // to keep the power on for DFT and debug, rather than for 92 // switching the power on. The power switches are not sequenced 93 // and the sudden demand for current could cause the always-on 94 // power domain to brown out. This register is in the always-on 95 // domain therefore chaos could ensue. It is recommended to use 96 // the DBG_POW_OVRD controls instead. 97 #define RP_AP_CTRL_POWMAN_DFT_PWRON_RESET _u(0x0) 98 #define RP_AP_CTRL_POWMAN_DFT_PWRON_BITS _u(0x00000008) 99 #define RP_AP_CTRL_POWMAN_DFT_PWRON_MSB _u(3) 100 #define RP_AP_CTRL_POWMAN_DFT_PWRON_LSB _u(3) 101 #define RP_AP_CTRL_POWMAN_DFT_PWRON_ACCESS "RW" 102 // ----------------------------------------------------------------------------- 103 // Field : RP_AP_CTRL_POWMAN_DBGMODE 104 // Description : This prevents the power manager from powering down and 105 // resetting the switched-core power domain. It is intended for 106 // DFT and for debugging the power manager after the chip has 107 // booted. It cannot be used to force initial power on because it 108 // simultaneously deasserts the reset. 109 #define RP_AP_CTRL_POWMAN_DBGMODE_RESET _u(0x0) 110 #define RP_AP_CTRL_POWMAN_DBGMODE_BITS _u(0x00000004) 111 #define RP_AP_CTRL_POWMAN_DBGMODE_MSB _u(2) 112 #define RP_AP_CTRL_POWMAN_DBGMODE_LSB _u(2) 113 #define RP_AP_CTRL_POWMAN_DBGMODE_ACCESS "RW" 114 // ----------------------------------------------------------------------------- 115 // Field : RP_AP_CTRL_JTAG_FUNCSEL 116 // Description : Multiplexes the JTAG ports onto GPIO0-3 117 #define RP_AP_CTRL_JTAG_FUNCSEL_RESET _u(0x0) 118 #define RP_AP_CTRL_JTAG_FUNCSEL_BITS _u(0x00000002) 119 #define RP_AP_CTRL_JTAG_FUNCSEL_MSB _u(1) 120 #define RP_AP_CTRL_JTAG_FUNCSEL_LSB _u(1) 121 #define RP_AP_CTRL_JTAG_FUNCSEL_ACCESS "RW" 122 // ----------------------------------------------------------------------------- 123 // Field : RP_AP_CTRL_JTAG_TRSTN 124 // Description : Resets the JTAG module. Active low. 125 #define RP_AP_CTRL_JTAG_TRSTN_RESET _u(0x0) 126 #define RP_AP_CTRL_JTAG_TRSTN_BITS _u(0x00000001) 127 #define RP_AP_CTRL_JTAG_TRSTN_MSB _u(0) 128 #define RP_AP_CTRL_JTAG_TRSTN_LSB _u(0) 129 #define RP_AP_CTRL_JTAG_TRSTN_ACCESS "RW" 130 // ============================================================================= 131 // Register : RP_AP_DBGKEY 132 // Description : Serial key load interface (write-only) 133 #define RP_AP_DBGKEY_OFFSET _u(0x00000004) 134 #define RP_AP_DBGKEY_BITS _u(0x00000007) 135 #define RP_AP_DBGKEY_RESET _u(0x00000000) 136 // ----------------------------------------------------------------------------- 137 // Field : RP_AP_DBGKEY_RESET 138 // Description : Reset (before sending a new key) 139 #define RP_AP_DBGKEY_RESET_RESET _u(0x0) 140 #define RP_AP_DBGKEY_RESET_BITS _u(0x00000004) 141 #define RP_AP_DBGKEY_RESET_MSB _u(2) 142 #define RP_AP_DBGKEY_RESET_LSB _u(2) 143 #define RP_AP_DBGKEY_RESET_ACCESS "RW" 144 // ----------------------------------------------------------------------------- 145 // Field : RP_AP_DBGKEY_PUSH 146 #define RP_AP_DBGKEY_PUSH_RESET _u(0x0) 147 #define RP_AP_DBGKEY_PUSH_BITS _u(0x00000002) 148 #define RP_AP_DBGKEY_PUSH_MSB _u(1) 149 #define RP_AP_DBGKEY_PUSH_LSB _u(1) 150 #define RP_AP_DBGKEY_PUSH_ACCESS "RW" 151 // ----------------------------------------------------------------------------- 152 // Field : RP_AP_DBGKEY_DATA 153 #define RP_AP_DBGKEY_DATA_RESET _u(0x0) 154 #define RP_AP_DBGKEY_DATA_BITS _u(0x00000001) 155 #define RP_AP_DBGKEY_DATA_MSB _u(0) 156 #define RP_AP_DBGKEY_DATA_LSB _u(0) 157 #define RP_AP_DBGKEY_DATA_ACCESS "RW" 158 // ============================================================================= 159 // Register : RP_AP_DBG_POW_STATE_SWCORE 160 // Description : This register indicates the state of the power sequencer for 161 // the switched-core domain. 162 // The sequencer timing is managed by the POWMAN_SEQ_* registers. 163 // See the header file for those registers for more information on 164 // the timing. 165 // Power up of the domain commences by clearing bit 0 (IS_PD) then 166 // bits 1-8 are set in sequence. Bit 8 (IS_PU) indicates the 167 // sequence is complete. 168 // Power down of the domain commences by clearing bit 8 (IS_PU) 169 // then bits 7-1 are cleared in sequence. Bit 0 (IS_PU) is then 170 // set to indicate the sequence is complete. 171 // Bits 9-11 describe the states of the power manager clocks which 172 // change as clock generators in the switched-core become 173 // available following switched-core power up. 174 // This bus can be sent to GPIO for debug. See 175 // DBG_POW_OUTPUT_TO_GPIO in the DBG_POW_OVRD register. 176 #define RP_AP_DBG_POW_STATE_SWCORE_OFFSET _u(0x00000008) 177 #define RP_AP_DBG_POW_STATE_SWCORE_BITS _u(0x00000fff) 178 #define RP_AP_DBG_POW_STATE_SWCORE_RESET _u(0x00000000) 179 // ----------------------------------------------------------------------------- 180 // Field : RP_AP_DBG_POW_STATE_SWCORE_USING_FAST_POWCK 181 // Description : Indicates the source of the power manager clock. On switched- 182 // core power up the clock switches from the LPOSC to clk_ref and 183 // this flag will be set. clk_ref will be running from the ROSC 184 // initially but will switch to XOSC when it comes available. On 185 // switched-core power down the clock switches to LPOSC and this 186 // flag will be cleared. 187 #define RP_AP_DBG_POW_STATE_SWCORE_USING_FAST_POWCK_RESET _u(0x0) 188 #define RP_AP_DBG_POW_STATE_SWCORE_USING_FAST_POWCK_BITS _u(0x00000800) 189 #define RP_AP_DBG_POW_STATE_SWCORE_USING_FAST_POWCK_MSB _u(11) 190 #define RP_AP_DBG_POW_STATE_SWCORE_USING_FAST_POWCK_LSB _u(11) 191 #define RP_AP_DBG_POW_STATE_SWCORE_USING_FAST_POWCK_ACCESS "RO" 192 // ----------------------------------------------------------------------------- 193 // Field : RP_AP_DBG_POW_STATE_SWCORE_WAITING_POWCK 194 // Description : Indicates the switched-core power sequencer is waiting for the 195 // power manager clock to update. On switched-core power up the 196 // clock switches from the LPOSC to clk_ref. clk_ref will be 197 // running from the ROSC initially but will switch to XOSC when it 198 // comes available. On switched-core power down the clock switches 199 // to LPOSC. 200 // If the switched-core power up sequence stalls with this flag 201 // active then it means clk_ref is not running which indicates a 202 // problem with the ROSC. If that happens then set 203 // DBG_POW_RESTART_FROM_XOSC in the DBG_POW_OVRD register to avoid 204 // using the ROSC. 205 // If the switched-core power down sequence stalls with this flag 206 // active then it means LPOSC is not running. The solution is to 207 // not stop LPOSC when the switched-core power domain is powered. 208 #define RP_AP_DBG_POW_STATE_SWCORE_WAITING_POWCK_RESET _u(0x0) 209 #define RP_AP_DBG_POW_STATE_SWCORE_WAITING_POWCK_BITS _u(0x00000400) 210 #define RP_AP_DBG_POW_STATE_SWCORE_WAITING_POWCK_MSB _u(10) 211 #define RP_AP_DBG_POW_STATE_SWCORE_WAITING_POWCK_LSB _u(10) 212 #define RP_AP_DBG_POW_STATE_SWCORE_WAITING_POWCK_ACCESS "RO" 213 // ----------------------------------------------------------------------------- 214 // Field : RP_AP_DBG_POW_STATE_SWCORE_WAITING_TIMCK 215 // Description : Indicates that the switched-core power sequencer is waiting for 216 // the AON-Timer to update. On switched-core power-up there is 217 // nothing to be done. The AON-Timer continues to run from the 218 // LPOSC so this flag will not be set. Software decides whether to 219 // switch the AON-Timer clock to XOSC (via clk_ref). On switched- 220 // core power-down the sequencer will switch the AON-Timer back to 221 // LPOSC if software switched it to XOSC. During the switchover 222 // the WAITING_TIMCK flag will be set. If the switched-core power 223 // down sequence stalls with this flag active then the only 224 // recourse is to reset the chip and change software to not select 225 // XOSC as the AON-Timer source. 226 #define RP_AP_DBG_POW_STATE_SWCORE_WAITING_TIMCK_RESET _u(0x0) 227 #define RP_AP_DBG_POW_STATE_SWCORE_WAITING_TIMCK_BITS _u(0x00000200) 228 #define RP_AP_DBG_POW_STATE_SWCORE_WAITING_TIMCK_MSB _u(9) 229 #define RP_AP_DBG_POW_STATE_SWCORE_WAITING_TIMCK_LSB _u(9) 230 #define RP_AP_DBG_POW_STATE_SWCORE_WAITING_TIMCK_ACCESS "RO" 231 // ----------------------------------------------------------------------------- 232 // Field : RP_AP_DBG_POW_STATE_SWCORE_IS_PU 233 // Description : Indicates the power somain is fully powered up. 234 #define RP_AP_DBG_POW_STATE_SWCORE_IS_PU_RESET _u(0x0) 235 #define RP_AP_DBG_POW_STATE_SWCORE_IS_PU_BITS _u(0x00000100) 236 #define RP_AP_DBG_POW_STATE_SWCORE_IS_PU_MSB _u(8) 237 #define RP_AP_DBG_POW_STATE_SWCORE_IS_PU_LSB _u(8) 238 #define RP_AP_DBG_POW_STATE_SWCORE_IS_PU_ACCESS "RO" 239 // ----------------------------------------------------------------------------- 240 // Field : RP_AP_DBG_POW_STATE_SWCORE_RESET_FROM_SEQ 241 // Description : Indicates the state of the reset to the power domain. 242 #define RP_AP_DBG_POW_STATE_SWCORE_RESET_FROM_SEQ_RESET _u(0x0) 243 #define RP_AP_DBG_POW_STATE_SWCORE_RESET_FROM_SEQ_BITS _u(0x00000080) 244 #define RP_AP_DBG_POW_STATE_SWCORE_RESET_FROM_SEQ_MSB _u(7) 245 #define RP_AP_DBG_POW_STATE_SWCORE_RESET_FROM_SEQ_LSB _u(7) 246 #define RP_AP_DBG_POW_STATE_SWCORE_RESET_FROM_SEQ_ACCESS "RO" 247 // ----------------------------------------------------------------------------- 248 // Field : RP_AP_DBG_POW_STATE_SWCORE_ENAB_ACK 249 // Description : Indicates the state of the enable to the power domain. 250 #define RP_AP_DBG_POW_STATE_SWCORE_ENAB_ACK_RESET _u(0x0) 251 #define RP_AP_DBG_POW_STATE_SWCORE_ENAB_ACK_BITS _u(0x00000040) 252 #define RP_AP_DBG_POW_STATE_SWCORE_ENAB_ACK_MSB _u(6) 253 #define RP_AP_DBG_POW_STATE_SWCORE_ENAB_ACK_LSB _u(6) 254 #define RP_AP_DBG_POW_STATE_SWCORE_ENAB_ACK_ACCESS "RO" 255 // ----------------------------------------------------------------------------- 256 // Field : RP_AP_DBG_POW_STATE_SWCORE_ISOLATE_FROM_SEQ 257 // Description : Indicates the state of the isolation control to the power 258 // domain. 259 #define RP_AP_DBG_POW_STATE_SWCORE_ISOLATE_FROM_SEQ_RESET _u(0x0) 260 #define RP_AP_DBG_POW_STATE_SWCORE_ISOLATE_FROM_SEQ_BITS _u(0x00000020) 261 #define RP_AP_DBG_POW_STATE_SWCORE_ISOLATE_FROM_SEQ_MSB _u(5) 262 #define RP_AP_DBG_POW_STATE_SWCORE_ISOLATE_FROM_SEQ_LSB _u(5) 263 #define RP_AP_DBG_POW_STATE_SWCORE_ISOLATE_FROM_SEQ_ACCESS "RO" 264 // ----------------------------------------------------------------------------- 265 // Field : RP_AP_DBG_POW_STATE_SWCORE_LARGE_ACK 266 // Description : Indicates the state of the large power switches for the power 267 // domain. 268 #define RP_AP_DBG_POW_STATE_SWCORE_LARGE_ACK_RESET _u(0x0) 269 #define RP_AP_DBG_POW_STATE_SWCORE_LARGE_ACK_BITS _u(0x00000010) 270 #define RP_AP_DBG_POW_STATE_SWCORE_LARGE_ACK_MSB _u(4) 271 #define RP_AP_DBG_POW_STATE_SWCORE_LARGE_ACK_LSB _u(4) 272 #define RP_AP_DBG_POW_STATE_SWCORE_LARGE_ACK_ACCESS "RO" 273 // ----------------------------------------------------------------------------- 274 // Field : RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK2 275 // Description : The small switches are split into 3 chains. In the power up 276 // sequence they are switched on separately to allow management of 277 // the VDD rise time. In the power down sequence they switch off 278 // simultaneously with the large power switches. 279 // This bit indicates the state of the last element in small power 280 // switch chain 2. 281 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK2_RESET _u(0x0) 282 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK2_BITS _u(0x00000008) 283 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK2_MSB _u(3) 284 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK2_LSB _u(3) 285 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK2_ACCESS "RO" 286 // ----------------------------------------------------------------------------- 287 // Field : RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK1 288 // Description : This bit indicates the state of the last element in small power 289 // switch chain 1. 290 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK1_RESET _u(0x0) 291 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK1_BITS _u(0x00000004) 292 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK1_MSB _u(2) 293 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK1_LSB _u(2) 294 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK1_ACCESS "RO" 295 // ----------------------------------------------------------------------------- 296 // Field : RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK0 297 // Description : This bit indicates the state of the last element in small power 298 // switch chain 0. 299 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK0_RESET _u(0x0) 300 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK0_BITS _u(0x00000002) 301 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK0_MSB _u(1) 302 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK0_LSB _u(1) 303 #define RP_AP_DBG_POW_STATE_SWCORE_SMALL_ACK0_ACCESS "RO" 304 // ----------------------------------------------------------------------------- 305 // Field : RP_AP_DBG_POW_STATE_SWCORE_IS_PD 306 // Description : Indicates the power somain is fully powered down. 307 #define RP_AP_DBG_POW_STATE_SWCORE_IS_PD_RESET _u(0x0) 308 #define RP_AP_DBG_POW_STATE_SWCORE_IS_PD_BITS _u(0x00000001) 309 #define RP_AP_DBG_POW_STATE_SWCORE_IS_PD_MSB _u(0) 310 #define RP_AP_DBG_POW_STATE_SWCORE_IS_PD_LSB _u(0) 311 #define RP_AP_DBG_POW_STATE_SWCORE_IS_PD_ACCESS "RO" 312 // ============================================================================= 313 // Register : RP_AP_DBG_POW_STATE_XIP 314 // Description : This register indicates the state of the power sequencer for 315 // the XIP domain. 316 // The sequencer timing is managed by the POWMAN_SEQ_* registers. 317 // See the header file for those registers for more information on 318 // the timing. 319 // Power up of the domain commences by clearing bit 0 (IS_PD) then 320 // bits 1-8 are set in sequence. Bit 8 (IS_PU) indicates the 321 // sequence is complete. 322 // Power down of the domain commences by clearing bit 8 (IS_PU) 323 // then bits 7-1 are cleared in sequence. Bit 0 (IS_PU) is then 324 // set to indicate the sequence is complete. 325 #define RP_AP_DBG_POW_STATE_XIP_OFFSET _u(0x0000000c) 326 #define RP_AP_DBG_POW_STATE_XIP_BITS _u(0x000001ff) 327 #define RP_AP_DBG_POW_STATE_XIP_RESET _u(0x00000000) 328 // ----------------------------------------------------------------------------- 329 // Field : RP_AP_DBG_POW_STATE_XIP_IS_PU 330 // Description : Indicates the power somain is fully powered up. 331 #define RP_AP_DBG_POW_STATE_XIP_IS_PU_RESET _u(0x0) 332 #define RP_AP_DBG_POW_STATE_XIP_IS_PU_BITS _u(0x00000100) 333 #define RP_AP_DBG_POW_STATE_XIP_IS_PU_MSB _u(8) 334 #define RP_AP_DBG_POW_STATE_XIP_IS_PU_LSB _u(8) 335 #define RP_AP_DBG_POW_STATE_XIP_IS_PU_ACCESS "RO" 336 // ----------------------------------------------------------------------------- 337 // Field : RP_AP_DBG_POW_STATE_XIP_RESET_FROM_SEQ 338 // Description : Indicates the state of the reset to the power domain. 339 #define RP_AP_DBG_POW_STATE_XIP_RESET_FROM_SEQ_RESET _u(0x0) 340 #define RP_AP_DBG_POW_STATE_XIP_RESET_FROM_SEQ_BITS _u(0x00000080) 341 #define RP_AP_DBG_POW_STATE_XIP_RESET_FROM_SEQ_MSB _u(7) 342 #define RP_AP_DBG_POW_STATE_XIP_RESET_FROM_SEQ_LSB _u(7) 343 #define RP_AP_DBG_POW_STATE_XIP_RESET_FROM_SEQ_ACCESS "RO" 344 // ----------------------------------------------------------------------------- 345 // Field : RP_AP_DBG_POW_STATE_XIP_ENAB_ACK 346 // Description : Indicates the state of the enable to the power domain. 347 #define RP_AP_DBG_POW_STATE_XIP_ENAB_ACK_RESET _u(0x0) 348 #define RP_AP_DBG_POW_STATE_XIP_ENAB_ACK_BITS _u(0x00000040) 349 #define RP_AP_DBG_POW_STATE_XIP_ENAB_ACK_MSB _u(6) 350 #define RP_AP_DBG_POW_STATE_XIP_ENAB_ACK_LSB _u(6) 351 #define RP_AP_DBG_POW_STATE_XIP_ENAB_ACK_ACCESS "RO" 352 // ----------------------------------------------------------------------------- 353 // Field : RP_AP_DBG_POW_STATE_XIP_ISOLATE_FROM_SEQ 354 // Description : Indicates the state of the isolation control to the power 355 // domain. 356 #define RP_AP_DBG_POW_STATE_XIP_ISOLATE_FROM_SEQ_RESET _u(0x0) 357 #define RP_AP_DBG_POW_STATE_XIP_ISOLATE_FROM_SEQ_BITS _u(0x00000020) 358 #define RP_AP_DBG_POW_STATE_XIP_ISOLATE_FROM_SEQ_MSB _u(5) 359 #define RP_AP_DBG_POW_STATE_XIP_ISOLATE_FROM_SEQ_LSB _u(5) 360 #define RP_AP_DBG_POW_STATE_XIP_ISOLATE_FROM_SEQ_ACCESS "RO" 361 // ----------------------------------------------------------------------------- 362 // Field : RP_AP_DBG_POW_STATE_XIP_LARGE_ACK 363 // Description : Indicates the state of the large power switches for the power 364 // domain. 365 #define RP_AP_DBG_POW_STATE_XIP_LARGE_ACK_RESET _u(0x0) 366 #define RP_AP_DBG_POW_STATE_XIP_LARGE_ACK_BITS _u(0x00000010) 367 #define RP_AP_DBG_POW_STATE_XIP_LARGE_ACK_MSB _u(4) 368 #define RP_AP_DBG_POW_STATE_XIP_LARGE_ACK_LSB _u(4) 369 #define RP_AP_DBG_POW_STATE_XIP_LARGE_ACK_ACCESS "RO" 370 // ----------------------------------------------------------------------------- 371 // Field : RP_AP_DBG_POW_STATE_XIP_SMALL_ACK2 372 // Description : The small switches are split into 3 chains. In the power up 373 // sequence they are switched on separately to allow management of 374 // the VDD rise time. In the power down sequence they switch off 375 // simultaneously with the large power switches. 376 // This bit indicates the state of the last element in small power 377 // switch chain 2. 378 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK2_RESET _u(0x0) 379 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK2_BITS _u(0x00000008) 380 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK2_MSB _u(3) 381 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK2_LSB _u(3) 382 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK2_ACCESS "RO" 383 // ----------------------------------------------------------------------------- 384 // Field : RP_AP_DBG_POW_STATE_XIP_SMALL_ACK1 385 // Description : This bit indicates the state of the last element in small power 386 // switch chain 1. 387 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK1_RESET _u(0x0) 388 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK1_BITS _u(0x00000004) 389 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK1_MSB _u(2) 390 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK1_LSB _u(2) 391 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK1_ACCESS "RO" 392 // ----------------------------------------------------------------------------- 393 // Field : RP_AP_DBG_POW_STATE_XIP_SMALL_ACK0 394 // Description : This bit indicates the state of the last element in small power 395 // switch chain 0. 396 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK0_RESET _u(0x0) 397 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK0_BITS _u(0x00000002) 398 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK0_MSB _u(1) 399 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK0_LSB _u(1) 400 #define RP_AP_DBG_POW_STATE_XIP_SMALL_ACK0_ACCESS "RO" 401 // ----------------------------------------------------------------------------- 402 // Field : RP_AP_DBG_POW_STATE_XIP_IS_PD 403 // Description : Indicates the power somain is fully powered down. 404 #define RP_AP_DBG_POW_STATE_XIP_IS_PD_RESET _u(0x0) 405 #define RP_AP_DBG_POW_STATE_XIP_IS_PD_BITS _u(0x00000001) 406 #define RP_AP_DBG_POW_STATE_XIP_IS_PD_MSB _u(0) 407 #define RP_AP_DBG_POW_STATE_XIP_IS_PD_LSB _u(0) 408 #define RP_AP_DBG_POW_STATE_XIP_IS_PD_ACCESS "RO" 409 // ============================================================================= 410 // Register : RP_AP_DBG_POW_STATE_SRAM0 411 // Description : This register indicates the state of the power sequencer for 412 // the SRAM0 domain. 413 // The sequencer timing is managed by the POWMAN_SEQ_* registers. 414 // See the header file for those registers for more information on 415 // the timing. 416 // Power up of the domain commences by clearing bit 0 (IS_PD) then 417 // bits 1-8 are set in sequence. Bit 8 (IS_PU) indicates the 418 // sequence is complete. 419 // Power down of the domain commences by clearing bit 8 (IS_PU) 420 // then bits 7-1 are cleared in sequence. Bit 0 (IS_PU) is then 421 // set to indicate the sequence is complete. 422 #define RP_AP_DBG_POW_STATE_SRAM0_OFFSET _u(0x00000010) 423 #define RP_AP_DBG_POW_STATE_SRAM0_BITS _u(0x000001ff) 424 #define RP_AP_DBG_POW_STATE_SRAM0_RESET _u(0x00000000) 425 // ----------------------------------------------------------------------------- 426 // Field : RP_AP_DBG_POW_STATE_SRAM0_IS_PU 427 // Description : Indicates the power somain is fully powered up. 428 #define RP_AP_DBG_POW_STATE_SRAM0_IS_PU_RESET _u(0x0) 429 #define RP_AP_DBG_POW_STATE_SRAM0_IS_PU_BITS _u(0x00000100) 430 #define RP_AP_DBG_POW_STATE_SRAM0_IS_PU_MSB _u(8) 431 #define RP_AP_DBG_POW_STATE_SRAM0_IS_PU_LSB _u(8) 432 #define RP_AP_DBG_POW_STATE_SRAM0_IS_PU_ACCESS "RO" 433 // ----------------------------------------------------------------------------- 434 // Field : RP_AP_DBG_POW_STATE_SRAM0_RESET_FROM_SEQ 435 // Description : Indicates the state of the reset to the power domain. 436 #define RP_AP_DBG_POW_STATE_SRAM0_RESET_FROM_SEQ_RESET _u(0x0) 437 #define RP_AP_DBG_POW_STATE_SRAM0_RESET_FROM_SEQ_BITS _u(0x00000080) 438 #define RP_AP_DBG_POW_STATE_SRAM0_RESET_FROM_SEQ_MSB _u(7) 439 #define RP_AP_DBG_POW_STATE_SRAM0_RESET_FROM_SEQ_LSB _u(7) 440 #define RP_AP_DBG_POW_STATE_SRAM0_RESET_FROM_SEQ_ACCESS "RO" 441 // ----------------------------------------------------------------------------- 442 // Field : RP_AP_DBG_POW_STATE_SRAM0_ENAB_ACK 443 // Description : Indicates the state of the enable to the power domain. 444 #define RP_AP_DBG_POW_STATE_SRAM0_ENAB_ACK_RESET _u(0x0) 445 #define RP_AP_DBG_POW_STATE_SRAM0_ENAB_ACK_BITS _u(0x00000040) 446 #define RP_AP_DBG_POW_STATE_SRAM0_ENAB_ACK_MSB _u(6) 447 #define RP_AP_DBG_POW_STATE_SRAM0_ENAB_ACK_LSB _u(6) 448 #define RP_AP_DBG_POW_STATE_SRAM0_ENAB_ACK_ACCESS "RO" 449 // ----------------------------------------------------------------------------- 450 // Field : RP_AP_DBG_POW_STATE_SRAM0_ISOLATE_FROM_SEQ 451 // Description : Indicates the state of the isolation control to the power 452 // domain. 453 #define RP_AP_DBG_POW_STATE_SRAM0_ISOLATE_FROM_SEQ_RESET _u(0x0) 454 #define RP_AP_DBG_POW_STATE_SRAM0_ISOLATE_FROM_SEQ_BITS _u(0x00000020) 455 #define RP_AP_DBG_POW_STATE_SRAM0_ISOLATE_FROM_SEQ_MSB _u(5) 456 #define RP_AP_DBG_POW_STATE_SRAM0_ISOLATE_FROM_SEQ_LSB _u(5) 457 #define RP_AP_DBG_POW_STATE_SRAM0_ISOLATE_FROM_SEQ_ACCESS "RO" 458 // ----------------------------------------------------------------------------- 459 // Field : RP_AP_DBG_POW_STATE_SRAM0_LARGE_ACK 460 // Description : Indicates the state of the large power switches for the power 461 // domain. 462 #define RP_AP_DBG_POW_STATE_SRAM0_LARGE_ACK_RESET _u(0x0) 463 #define RP_AP_DBG_POW_STATE_SRAM0_LARGE_ACK_BITS _u(0x00000010) 464 #define RP_AP_DBG_POW_STATE_SRAM0_LARGE_ACK_MSB _u(4) 465 #define RP_AP_DBG_POW_STATE_SRAM0_LARGE_ACK_LSB _u(4) 466 #define RP_AP_DBG_POW_STATE_SRAM0_LARGE_ACK_ACCESS "RO" 467 // ----------------------------------------------------------------------------- 468 // Field : RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK2 469 // Description : The small switches are split into 3 chains. In the power up 470 // sequence they are switched on separately to allow management of 471 // the VDD rise time. In the power down sequence they switch off 472 // simultaneously with the large power switches. 473 // This bit indicates the state of the last element in small power 474 // switch chain 2. 475 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK2_RESET _u(0x0) 476 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK2_BITS _u(0x00000008) 477 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK2_MSB _u(3) 478 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK2_LSB _u(3) 479 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK2_ACCESS "RO" 480 // ----------------------------------------------------------------------------- 481 // Field : RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK1 482 // Description : This bit indicates the state of the last element in small power 483 // switch chain 1. 484 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK1_RESET _u(0x0) 485 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK1_BITS _u(0x00000004) 486 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK1_MSB _u(2) 487 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK1_LSB _u(2) 488 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK1_ACCESS "RO" 489 // ----------------------------------------------------------------------------- 490 // Field : RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK0 491 // Description : This bit indicates the state of the last element in small power 492 // switch chain 0. 493 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK0_RESET _u(0x0) 494 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK0_BITS _u(0x00000002) 495 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK0_MSB _u(1) 496 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK0_LSB _u(1) 497 #define RP_AP_DBG_POW_STATE_SRAM0_SMALL_ACK0_ACCESS "RO" 498 // ----------------------------------------------------------------------------- 499 // Field : RP_AP_DBG_POW_STATE_SRAM0_IS_PD 500 // Description : Indicates the power somain is fully powered down. 501 #define RP_AP_DBG_POW_STATE_SRAM0_IS_PD_RESET _u(0x0) 502 #define RP_AP_DBG_POW_STATE_SRAM0_IS_PD_BITS _u(0x00000001) 503 #define RP_AP_DBG_POW_STATE_SRAM0_IS_PD_MSB _u(0) 504 #define RP_AP_DBG_POW_STATE_SRAM0_IS_PD_LSB _u(0) 505 #define RP_AP_DBG_POW_STATE_SRAM0_IS_PD_ACCESS "RO" 506 // ============================================================================= 507 // Register : RP_AP_DBG_POW_STATE_SRAM1 508 // Description : This register indicates the state of the power sequencer for 509 // the SRAM1 domain. 510 // The sequencer timing is managed by the POWMAN_SEQ_* registers. 511 // See the header file for those registers for more information on 512 // the timing. 513 // Power up of the domain commences by clearing bit 0 (IS_PD) then 514 // bits 1-8 are set in sequence. Bit 8 (IS_PU) indicates the 515 // sequence is complete. 516 // Power down of the domain commences by clearing bit 8 (IS_PU) 517 // then bits 7-1 are cleared in sequence. Bit 0 (IS_PU) is then 518 // set to indicate the sequence is complete. 519 #define RP_AP_DBG_POW_STATE_SRAM1_OFFSET _u(0x00000014) 520 #define RP_AP_DBG_POW_STATE_SRAM1_BITS _u(0x000001ff) 521 #define RP_AP_DBG_POW_STATE_SRAM1_RESET _u(0x00000000) 522 // ----------------------------------------------------------------------------- 523 // Field : RP_AP_DBG_POW_STATE_SRAM1_IS_PU 524 // Description : Indicates the power somain is fully powered up. 525 #define RP_AP_DBG_POW_STATE_SRAM1_IS_PU_RESET _u(0x0) 526 #define RP_AP_DBG_POW_STATE_SRAM1_IS_PU_BITS _u(0x00000100) 527 #define RP_AP_DBG_POW_STATE_SRAM1_IS_PU_MSB _u(8) 528 #define RP_AP_DBG_POW_STATE_SRAM1_IS_PU_LSB _u(8) 529 #define RP_AP_DBG_POW_STATE_SRAM1_IS_PU_ACCESS "RO" 530 // ----------------------------------------------------------------------------- 531 // Field : RP_AP_DBG_POW_STATE_SRAM1_RESET_FROM_SEQ 532 // Description : Indicates the state of the reset to the power domain. 533 #define RP_AP_DBG_POW_STATE_SRAM1_RESET_FROM_SEQ_RESET _u(0x0) 534 #define RP_AP_DBG_POW_STATE_SRAM1_RESET_FROM_SEQ_BITS _u(0x00000080) 535 #define RP_AP_DBG_POW_STATE_SRAM1_RESET_FROM_SEQ_MSB _u(7) 536 #define RP_AP_DBG_POW_STATE_SRAM1_RESET_FROM_SEQ_LSB _u(7) 537 #define RP_AP_DBG_POW_STATE_SRAM1_RESET_FROM_SEQ_ACCESS "RO" 538 // ----------------------------------------------------------------------------- 539 // Field : RP_AP_DBG_POW_STATE_SRAM1_ENAB_ACK 540 // Description : Indicates the state of the enable to the power domain. 541 #define RP_AP_DBG_POW_STATE_SRAM1_ENAB_ACK_RESET _u(0x0) 542 #define RP_AP_DBG_POW_STATE_SRAM1_ENAB_ACK_BITS _u(0x00000040) 543 #define RP_AP_DBG_POW_STATE_SRAM1_ENAB_ACK_MSB _u(6) 544 #define RP_AP_DBG_POW_STATE_SRAM1_ENAB_ACK_LSB _u(6) 545 #define RP_AP_DBG_POW_STATE_SRAM1_ENAB_ACK_ACCESS "RO" 546 // ----------------------------------------------------------------------------- 547 // Field : RP_AP_DBG_POW_STATE_SRAM1_ISOLATE_FROM_SEQ 548 // Description : Indicates the state of the isolation control to the power 549 // domain. 550 #define RP_AP_DBG_POW_STATE_SRAM1_ISOLATE_FROM_SEQ_RESET _u(0x0) 551 #define RP_AP_DBG_POW_STATE_SRAM1_ISOLATE_FROM_SEQ_BITS _u(0x00000020) 552 #define RP_AP_DBG_POW_STATE_SRAM1_ISOLATE_FROM_SEQ_MSB _u(5) 553 #define RP_AP_DBG_POW_STATE_SRAM1_ISOLATE_FROM_SEQ_LSB _u(5) 554 #define RP_AP_DBG_POW_STATE_SRAM1_ISOLATE_FROM_SEQ_ACCESS "RO" 555 // ----------------------------------------------------------------------------- 556 // Field : RP_AP_DBG_POW_STATE_SRAM1_LARGE_ACK 557 // Description : Indicates the state of the large power switches for the power 558 // domain. 559 #define RP_AP_DBG_POW_STATE_SRAM1_LARGE_ACK_RESET _u(0x0) 560 #define RP_AP_DBG_POW_STATE_SRAM1_LARGE_ACK_BITS _u(0x00000010) 561 #define RP_AP_DBG_POW_STATE_SRAM1_LARGE_ACK_MSB _u(4) 562 #define RP_AP_DBG_POW_STATE_SRAM1_LARGE_ACK_LSB _u(4) 563 #define RP_AP_DBG_POW_STATE_SRAM1_LARGE_ACK_ACCESS "RO" 564 // ----------------------------------------------------------------------------- 565 // Field : RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK2 566 // Description : The small switches are split into 3 chains. In the power up 567 // sequence they are switched on separately to allow management of 568 // the VDD rise time. In the power down sequence they switch off 569 // simultaneously with the large power switches. 570 // This bit indicates the state of the last element in small power 571 // switch chain 2. 572 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK2_RESET _u(0x0) 573 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK2_BITS _u(0x00000008) 574 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK2_MSB _u(3) 575 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK2_LSB _u(3) 576 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK2_ACCESS "RO" 577 // ----------------------------------------------------------------------------- 578 // Field : RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK1 579 // Description : This bit indicates the state of the last element in small power 580 // switch chain 1. 581 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK1_RESET _u(0x0) 582 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK1_BITS _u(0x00000004) 583 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK1_MSB _u(2) 584 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK1_LSB _u(2) 585 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK1_ACCESS "RO" 586 // ----------------------------------------------------------------------------- 587 // Field : RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK0 588 // Description : This bit indicates the state of the last element in small power 589 // switch chain 0. 590 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK0_RESET _u(0x0) 591 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK0_BITS _u(0x00000002) 592 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK0_MSB _u(1) 593 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK0_LSB _u(1) 594 #define RP_AP_DBG_POW_STATE_SRAM1_SMALL_ACK0_ACCESS "RO" 595 // ----------------------------------------------------------------------------- 596 // Field : RP_AP_DBG_POW_STATE_SRAM1_IS_PD 597 // Description : Indicates the power somain is fully powered down. 598 #define RP_AP_DBG_POW_STATE_SRAM1_IS_PD_RESET _u(0x0) 599 #define RP_AP_DBG_POW_STATE_SRAM1_IS_PD_BITS _u(0x00000001) 600 #define RP_AP_DBG_POW_STATE_SRAM1_IS_PD_MSB _u(0) 601 #define RP_AP_DBG_POW_STATE_SRAM1_IS_PD_LSB _u(0) 602 #define RP_AP_DBG_POW_STATE_SRAM1_IS_PD_ACCESS "RO" 603 // ============================================================================= 604 // Register : RP_AP_DBG_POW_OVRD 605 // Description : This register allows external control of the power sequencer 606 // outputs for all the switched power domains. If any of the power 607 // sequencers stall at any stage then force power up operation of 608 // all domains by running this sequence: 609 // - set DBG_POW_OVRD = 0x3b to force small power switches on, 610 // large power switches off, resets on and isolation on 611 // - allow time for the domain power supplies to reach full rail 612 // - set DBG_POW_OVRD = 0x3b to force large power switches on 613 // - set DBG_POW_OVRD = 0x37 to remove isolation 614 // - set DBG_POW_OVRD = 0x17 to remove resets 615 #define RP_AP_DBG_POW_OVRD_OFFSET _u(0x00000018) 616 #define RP_AP_DBG_POW_OVRD_BITS _u(0x0000007f) 617 #define RP_AP_DBG_POW_OVRD_RESET _u(0x00000000) 618 // ----------------------------------------------------------------------------- 619 // Field : RP_AP_DBG_POW_OVRD_DBG_POW_RESTART_FROM_XOSC 620 // Description : By default the system begins boot as soon as a clock is 621 // available from the ROSC, then it switches to the XOSC when it 622 // is available. This is done because the XOSC takes several ms to 623 // start up. If there is a problem with the ROSC then the default 624 // behaviour can be changed to not use the ROSC and wait for XOSC. 625 // However, this requires a mask change to modify the reset value 626 // of the Power Manager START_FROM_XOSC register. To allow 627 // experimentation the default can be temporarily changed by 628 // setting this register bit to 1. After setting this bit the core 629 // must be reset by a Coresight dprst or a rescue reset (see 630 // RESCUE_RESTART in the RP_AP_CTRL register above). A power-on 631 // reset, brown-out reset or RUN pin reset will reset this control 632 // and revert to the default behaviour. 633 #define RP_AP_DBG_POW_OVRD_DBG_POW_RESTART_FROM_XOSC_RESET _u(0x0) 634 #define RP_AP_DBG_POW_OVRD_DBG_POW_RESTART_FROM_XOSC_BITS _u(0x00000040) 635 #define RP_AP_DBG_POW_OVRD_DBG_POW_RESTART_FROM_XOSC_MSB _u(6) 636 #define RP_AP_DBG_POW_OVRD_DBG_POW_RESTART_FROM_XOSC_LSB _u(6) 637 #define RP_AP_DBG_POW_OVRD_DBG_POW_RESTART_FROM_XOSC_ACCESS "RW" 638 // ----------------------------------------------------------------------------- 639 // Field : RP_AP_DBG_POW_OVRD_DBG_POW_RESET 640 // Description : When DBG_POW_OVRD_RESET=1 this register bit controls the resets 641 // for all domains. 1 = reset. 0 = not reset. 642 #define RP_AP_DBG_POW_OVRD_DBG_POW_RESET_RESET _u(0x0) 643 #define RP_AP_DBG_POW_OVRD_DBG_POW_RESET_BITS _u(0x00000020) 644 #define RP_AP_DBG_POW_OVRD_DBG_POW_RESET_MSB _u(5) 645 #define RP_AP_DBG_POW_OVRD_DBG_POW_RESET_LSB _u(5) 646 #define RP_AP_DBG_POW_OVRD_DBG_POW_RESET_ACCESS "RW" 647 // ----------------------------------------------------------------------------- 648 // Field : RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_RESET 649 // Description : Enables DBG_POW_RESET to control the resets for the power 650 // manager and the switched-core. Essentially that is everythjing 651 // except the Coresight 2-wire interface and the RP_AP registers. 652 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_RESET_RESET _u(0x0) 653 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_RESET_BITS _u(0x00000010) 654 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_RESET_MSB _u(4) 655 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_RESET_LSB _u(4) 656 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_RESET_ACCESS "RW" 657 // ----------------------------------------------------------------------------- 658 // Field : RP_AP_DBG_POW_OVRD_DBG_POW_ISO 659 // Description : When DBG_POW_OVRD_ISO=1 this register bit controls the 660 // isolation gates for all domains. 1 = isolated. 0 = not 661 // isolated. 662 #define RP_AP_DBG_POW_OVRD_DBG_POW_ISO_RESET _u(0x0) 663 #define RP_AP_DBG_POW_OVRD_DBG_POW_ISO_BITS _u(0x00000008) 664 #define RP_AP_DBG_POW_OVRD_DBG_POW_ISO_MSB _u(3) 665 #define RP_AP_DBG_POW_OVRD_DBG_POW_ISO_LSB _u(3) 666 #define RP_AP_DBG_POW_OVRD_DBG_POW_ISO_ACCESS "RW" 667 // ----------------------------------------------------------------------------- 668 // Field : RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_ISO 669 // Description : Enables DBG_POW_ISO to control the isolation gates between 670 // domains. 671 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_ISO_RESET _u(0x0) 672 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_ISO_BITS _u(0x00000004) 673 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_ISO_MSB _u(2) 674 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_ISO_LSB _u(2) 675 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_ISO_ACCESS "RW" 676 // ----------------------------------------------------------------------------- 677 // Field : RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_LARGE_REQ 678 // Description : Turn on the large power switches for all domains. This should 679 // not be done until sufficient time has been allowed for the 680 // small switches to bring the supplies up. Switching the large 681 // switches on too soon risks browning out the always-on domain 682 // and corrupting these very registers. 683 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_LARGE_REQ_RESET _u(0x0) 684 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_LARGE_REQ_BITS _u(0x00000002) 685 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_LARGE_REQ_MSB _u(1) 686 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_LARGE_REQ_LSB _u(1) 687 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_LARGE_REQ_ACCESS "RW" 688 // ----------------------------------------------------------------------------- 689 // Field : RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_SMALL_REQ 690 // Description : Turn on the small power switches for all domains. This switches 691 // on chain 0 for each domain and switches off chains 2 & 3 and 692 // the large power switch chain. This will bring the power up for 693 // all domains without browning out the always-on power domain. 694 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_SMALL_REQ_RESET _u(0x0) 695 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_SMALL_REQ_BITS _u(0x00000001) 696 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_SMALL_REQ_MSB _u(0) 697 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_SMALL_REQ_LSB _u(0) 698 #define RP_AP_DBG_POW_OVRD_DBG_POW_OVRD_SMALL_REQ_ACCESS "RW" 699 // ============================================================================= 700 // Register : RP_AP_DBG_POW_OUTPUT_TO_GPIO 701 // Description : Send some, or all, bits of DBG_POW_STATE_SWCORE to gpios. 702 // Bit 0 sends bit 0 of DBG_POW_STATE_SWCORE to GPIO 34 703 // Bit 1 sends bit 1 of DBG_POW_STATE_SWCORE to GPIO 35 704 // Bit 2 sends bit 2 of DBG_POW_STATE_SWCORE to GPIO 36 705 // . 706 // . 707 // Bit 11 sends bit 11 of DBG_POW_STATE_SWCORE to GPIO 45 708 #define RP_AP_DBG_POW_OUTPUT_TO_GPIO_OFFSET _u(0x0000001c) 709 #define RP_AP_DBG_POW_OUTPUT_TO_GPIO_BITS _u(0x00000fff) 710 #define RP_AP_DBG_POW_OUTPUT_TO_GPIO_RESET _u(0x00000000) 711 // ----------------------------------------------------------------------------- 712 // Field : RP_AP_DBG_POW_OUTPUT_TO_GPIO_ENABLE 713 #define RP_AP_DBG_POW_OUTPUT_TO_GPIO_ENABLE_RESET _u(0x000) 714 #define RP_AP_DBG_POW_OUTPUT_TO_GPIO_ENABLE_BITS _u(0x00000fff) 715 #define RP_AP_DBG_POW_OUTPUT_TO_GPIO_ENABLE_MSB _u(11) 716 #define RP_AP_DBG_POW_OUTPUT_TO_GPIO_ENABLE_LSB _u(0) 717 #define RP_AP_DBG_POW_OUTPUT_TO_GPIO_ENABLE_ACCESS "RW" 718 // ============================================================================= 719 // Register : RP_AP_IDR 720 // Description : Standard Coresight ID Register 721 #define RP_AP_IDR_OFFSET _u(0x00000dfc) 722 #define RP_AP_IDR_BITS _u(0xffffffff) 723 #define RP_AP_IDR_RESET "-" 724 #define RP_AP_IDR_MSB _u(31) 725 #define RP_AP_IDR_LSB _u(0) 726 #define RP_AP_IDR_ACCESS "RO" 727 // ============================================================================= 728 #endif // _HARDWARE_REGS_RP_AP_H 729 730