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 : SYSCFG 10 // Version : 1 11 // Bus type : apb 12 // Description : Register block for various chip control signals 13 // ============================================================================= 14 #ifndef _HARDWARE_REGS_SYSCFG_H 15 #define _HARDWARE_REGS_SYSCFG_H 16 // ============================================================================= 17 // Register : SYSCFG_PROC_CONFIG 18 // Description : Configuration for processors 19 #define SYSCFG_PROC_CONFIG_OFFSET _u(0x00000000) 20 #define SYSCFG_PROC_CONFIG_BITS _u(0x00000003) 21 #define SYSCFG_PROC_CONFIG_RESET _u(0x00000000) 22 // ----------------------------------------------------------------------------- 23 // Field : SYSCFG_PROC_CONFIG_PROC1_HALTED 24 // Description : Indication that proc1 has halted 25 #define SYSCFG_PROC_CONFIG_PROC1_HALTED_RESET _u(0x0) 26 #define SYSCFG_PROC_CONFIG_PROC1_HALTED_BITS _u(0x00000002) 27 #define SYSCFG_PROC_CONFIG_PROC1_HALTED_MSB _u(1) 28 #define SYSCFG_PROC_CONFIG_PROC1_HALTED_LSB _u(1) 29 #define SYSCFG_PROC_CONFIG_PROC1_HALTED_ACCESS "RO" 30 // ----------------------------------------------------------------------------- 31 // Field : SYSCFG_PROC_CONFIG_PROC0_HALTED 32 // Description : Indication that proc0 has halted 33 #define SYSCFG_PROC_CONFIG_PROC0_HALTED_RESET _u(0x0) 34 #define SYSCFG_PROC_CONFIG_PROC0_HALTED_BITS _u(0x00000001) 35 #define SYSCFG_PROC_CONFIG_PROC0_HALTED_MSB _u(0) 36 #define SYSCFG_PROC_CONFIG_PROC0_HALTED_LSB _u(0) 37 #define SYSCFG_PROC_CONFIG_PROC0_HALTED_ACCESS "RO" 38 // ============================================================================= 39 // Register : SYSCFG_PROC_IN_SYNC_BYPASS 40 // Description : For each bit, if 1, bypass the input synchronizer between that 41 // GPIO 42 // and the GPIO input register in the SIO. The input synchronizers 43 // should 44 // generally be unbypassed, to avoid injecting metastabilities 45 // into processors. 46 // If you're feeling brave, you can bypass to save two cycles of 47 // input 48 // latency. This register applies to GPIO 0...31. 49 #define SYSCFG_PROC_IN_SYNC_BYPASS_OFFSET _u(0x00000004) 50 #define SYSCFG_PROC_IN_SYNC_BYPASS_BITS _u(0xffffffff) 51 #define SYSCFG_PROC_IN_SYNC_BYPASS_RESET _u(0x00000000) 52 // ----------------------------------------------------------------------------- 53 // Field : SYSCFG_PROC_IN_SYNC_BYPASS_GPIO 54 #define SYSCFG_PROC_IN_SYNC_BYPASS_GPIO_RESET _u(0x00000000) 55 #define SYSCFG_PROC_IN_SYNC_BYPASS_GPIO_BITS _u(0xffffffff) 56 #define SYSCFG_PROC_IN_SYNC_BYPASS_GPIO_MSB _u(31) 57 #define SYSCFG_PROC_IN_SYNC_BYPASS_GPIO_LSB _u(0) 58 #define SYSCFG_PROC_IN_SYNC_BYPASS_GPIO_ACCESS "RW" 59 // ============================================================================= 60 // Register : SYSCFG_PROC_IN_SYNC_BYPASS_HI 61 // Description : For each bit, if 1, bypass the input synchronizer between that 62 // GPIO 63 // and the GPIO input register in the SIO. The input synchronizers 64 // should 65 // generally be unbypassed, to avoid injecting metastabilities 66 // into processors. 67 // If you're feeling brave, you can bypass to save two cycles of 68 // input 69 // latency. This register applies to GPIO 32...47. USB GPIO 56..57 70 // QSPI GPIO 58..63 71 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_OFFSET _u(0x00000008) 72 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_BITS _u(0xff00ffff) 73 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_RESET _u(0x00000000) 74 // ----------------------------------------------------------------------------- 75 // Field : SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_SD 76 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_SD_RESET _u(0x0) 77 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_SD_BITS _u(0xf0000000) 78 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_SD_MSB _u(31) 79 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_SD_LSB _u(28) 80 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_SD_ACCESS "RW" 81 // ----------------------------------------------------------------------------- 82 // Field : SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_CSN 83 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_CSN_RESET _u(0x0) 84 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_CSN_BITS _u(0x08000000) 85 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_CSN_MSB _u(27) 86 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_CSN_LSB _u(27) 87 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_CSN_ACCESS "RW" 88 // ----------------------------------------------------------------------------- 89 // Field : SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_SCK 90 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_SCK_RESET _u(0x0) 91 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_SCK_BITS _u(0x04000000) 92 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_SCK_MSB _u(26) 93 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_SCK_LSB _u(26) 94 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_QSPI_SCK_ACCESS "RW" 95 // ----------------------------------------------------------------------------- 96 // Field : SYSCFG_PROC_IN_SYNC_BYPASS_HI_USB_DM 97 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_USB_DM_RESET _u(0x0) 98 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_USB_DM_BITS _u(0x02000000) 99 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_USB_DM_MSB _u(25) 100 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_USB_DM_LSB _u(25) 101 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_USB_DM_ACCESS "RW" 102 // ----------------------------------------------------------------------------- 103 // Field : SYSCFG_PROC_IN_SYNC_BYPASS_HI_USB_DP 104 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_USB_DP_RESET _u(0x0) 105 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_USB_DP_BITS _u(0x01000000) 106 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_USB_DP_MSB _u(24) 107 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_USB_DP_LSB _u(24) 108 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_USB_DP_ACCESS "RW" 109 // ----------------------------------------------------------------------------- 110 // Field : SYSCFG_PROC_IN_SYNC_BYPASS_HI_GPIO 111 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_GPIO_RESET _u(0x0000) 112 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_GPIO_BITS _u(0x0000ffff) 113 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_GPIO_MSB _u(15) 114 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_GPIO_LSB _u(0) 115 #define SYSCFG_PROC_IN_SYNC_BYPASS_HI_GPIO_ACCESS "RW" 116 // ============================================================================= 117 // Register : SYSCFG_DBGFORCE 118 // Description : Directly control the chip SWD debug port 119 #define SYSCFG_DBGFORCE_OFFSET _u(0x0000000c) 120 #define SYSCFG_DBGFORCE_BITS _u(0x0000000f) 121 #define SYSCFG_DBGFORCE_RESET _u(0x00000006) 122 // ----------------------------------------------------------------------------- 123 // Field : SYSCFG_DBGFORCE_ATTACH 124 // Description : Attach chip debug port to syscfg controls, and disconnect it 125 // from external SWD pads. 126 #define SYSCFG_DBGFORCE_ATTACH_RESET _u(0x0) 127 #define SYSCFG_DBGFORCE_ATTACH_BITS _u(0x00000008) 128 #define SYSCFG_DBGFORCE_ATTACH_MSB _u(3) 129 #define SYSCFG_DBGFORCE_ATTACH_LSB _u(3) 130 #define SYSCFG_DBGFORCE_ATTACH_ACCESS "RW" 131 // ----------------------------------------------------------------------------- 132 // Field : SYSCFG_DBGFORCE_SWCLK 133 // Description : Directly drive SWCLK, if ATTACH is set 134 #define SYSCFG_DBGFORCE_SWCLK_RESET _u(0x1) 135 #define SYSCFG_DBGFORCE_SWCLK_BITS _u(0x00000004) 136 #define SYSCFG_DBGFORCE_SWCLK_MSB _u(2) 137 #define SYSCFG_DBGFORCE_SWCLK_LSB _u(2) 138 #define SYSCFG_DBGFORCE_SWCLK_ACCESS "RW" 139 // ----------------------------------------------------------------------------- 140 // Field : SYSCFG_DBGFORCE_SWDI 141 // Description : Directly drive SWDIO input, if ATTACH is set 142 #define SYSCFG_DBGFORCE_SWDI_RESET _u(0x1) 143 #define SYSCFG_DBGFORCE_SWDI_BITS _u(0x00000002) 144 #define SYSCFG_DBGFORCE_SWDI_MSB _u(1) 145 #define SYSCFG_DBGFORCE_SWDI_LSB _u(1) 146 #define SYSCFG_DBGFORCE_SWDI_ACCESS "RW" 147 // ----------------------------------------------------------------------------- 148 // Field : SYSCFG_DBGFORCE_SWDO 149 // Description : Observe the value of SWDIO output. 150 #define SYSCFG_DBGFORCE_SWDO_RESET "-" 151 #define SYSCFG_DBGFORCE_SWDO_BITS _u(0x00000001) 152 #define SYSCFG_DBGFORCE_SWDO_MSB _u(0) 153 #define SYSCFG_DBGFORCE_SWDO_LSB _u(0) 154 #define SYSCFG_DBGFORCE_SWDO_ACCESS "RO" 155 // ============================================================================= 156 // Register : SYSCFG_MEMPOWERDOWN 157 // Description : Control PD pins to memories. 158 // Set high to put memories to a low power state. In this state 159 // the memories will retain contents but not be accessible 160 // Use with caution 161 #define SYSCFG_MEMPOWERDOWN_OFFSET _u(0x00000010) 162 #define SYSCFG_MEMPOWERDOWN_BITS _u(0x00001fff) 163 #define SYSCFG_MEMPOWERDOWN_RESET _u(0x00000000) 164 // ----------------------------------------------------------------------------- 165 // Field : SYSCFG_MEMPOWERDOWN_BOOTRAM 166 #define SYSCFG_MEMPOWERDOWN_BOOTRAM_RESET _u(0x0) 167 #define SYSCFG_MEMPOWERDOWN_BOOTRAM_BITS _u(0x00001000) 168 #define SYSCFG_MEMPOWERDOWN_BOOTRAM_MSB _u(12) 169 #define SYSCFG_MEMPOWERDOWN_BOOTRAM_LSB _u(12) 170 #define SYSCFG_MEMPOWERDOWN_BOOTRAM_ACCESS "RW" 171 // ----------------------------------------------------------------------------- 172 // Field : SYSCFG_MEMPOWERDOWN_ROM 173 #define SYSCFG_MEMPOWERDOWN_ROM_RESET _u(0x0) 174 #define SYSCFG_MEMPOWERDOWN_ROM_BITS _u(0x00000800) 175 #define SYSCFG_MEMPOWERDOWN_ROM_MSB _u(11) 176 #define SYSCFG_MEMPOWERDOWN_ROM_LSB _u(11) 177 #define SYSCFG_MEMPOWERDOWN_ROM_ACCESS "RW" 178 // ----------------------------------------------------------------------------- 179 // Field : SYSCFG_MEMPOWERDOWN_USB 180 #define SYSCFG_MEMPOWERDOWN_USB_RESET _u(0x0) 181 #define SYSCFG_MEMPOWERDOWN_USB_BITS _u(0x00000400) 182 #define SYSCFG_MEMPOWERDOWN_USB_MSB _u(10) 183 #define SYSCFG_MEMPOWERDOWN_USB_LSB _u(10) 184 #define SYSCFG_MEMPOWERDOWN_USB_ACCESS "RW" 185 // ----------------------------------------------------------------------------- 186 // Field : SYSCFG_MEMPOWERDOWN_SRAM9 187 #define SYSCFG_MEMPOWERDOWN_SRAM9_RESET _u(0x0) 188 #define SYSCFG_MEMPOWERDOWN_SRAM9_BITS _u(0x00000200) 189 #define SYSCFG_MEMPOWERDOWN_SRAM9_MSB _u(9) 190 #define SYSCFG_MEMPOWERDOWN_SRAM9_LSB _u(9) 191 #define SYSCFG_MEMPOWERDOWN_SRAM9_ACCESS "RW" 192 // ----------------------------------------------------------------------------- 193 // Field : SYSCFG_MEMPOWERDOWN_SRAM8 194 #define SYSCFG_MEMPOWERDOWN_SRAM8_RESET _u(0x0) 195 #define SYSCFG_MEMPOWERDOWN_SRAM8_BITS _u(0x00000100) 196 #define SYSCFG_MEMPOWERDOWN_SRAM8_MSB _u(8) 197 #define SYSCFG_MEMPOWERDOWN_SRAM8_LSB _u(8) 198 #define SYSCFG_MEMPOWERDOWN_SRAM8_ACCESS "RW" 199 // ----------------------------------------------------------------------------- 200 // Field : SYSCFG_MEMPOWERDOWN_SRAM7 201 #define SYSCFG_MEMPOWERDOWN_SRAM7_RESET _u(0x0) 202 #define SYSCFG_MEMPOWERDOWN_SRAM7_BITS _u(0x00000080) 203 #define SYSCFG_MEMPOWERDOWN_SRAM7_MSB _u(7) 204 #define SYSCFG_MEMPOWERDOWN_SRAM7_LSB _u(7) 205 #define SYSCFG_MEMPOWERDOWN_SRAM7_ACCESS "RW" 206 // ----------------------------------------------------------------------------- 207 // Field : SYSCFG_MEMPOWERDOWN_SRAM6 208 #define SYSCFG_MEMPOWERDOWN_SRAM6_RESET _u(0x0) 209 #define SYSCFG_MEMPOWERDOWN_SRAM6_BITS _u(0x00000040) 210 #define SYSCFG_MEMPOWERDOWN_SRAM6_MSB _u(6) 211 #define SYSCFG_MEMPOWERDOWN_SRAM6_LSB _u(6) 212 #define SYSCFG_MEMPOWERDOWN_SRAM6_ACCESS "RW" 213 // ----------------------------------------------------------------------------- 214 // Field : SYSCFG_MEMPOWERDOWN_SRAM5 215 #define SYSCFG_MEMPOWERDOWN_SRAM5_RESET _u(0x0) 216 #define SYSCFG_MEMPOWERDOWN_SRAM5_BITS _u(0x00000020) 217 #define SYSCFG_MEMPOWERDOWN_SRAM5_MSB _u(5) 218 #define SYSCFG_MEMPOWERDOWN_SRAM5_LSB _u(5) 219 #define SYSCFG_MEMPOWERDOWN_SRAM5_ACCESS "RW" 220 // ----------------------------------------------------------------------------- 221 // Field : SYSCFG_MEMPOWERDOWN_SRAM4 222 #define SYSCFG_MEMPOWERDOWN_SRAM4_RESET _u(0x0) 223 #define SYSCFG_MEMPOWERDOWN_SRAM4_BITS _u(0x00000010) 224 #define SYSCFG_MEMPOWERDOWN_SRAM4_MSB _u(4) 225 #define SYSCFG_MEMPOWERDOWN_SRAM4_LSB _u(4) 226 #define SYSCFG_MEMPOWERDOWN_SRAM4_ACCESS "RW" 227 // ----------------------------------------------------------------------------- 228 // Field : SYSCFG_MEMPOWERDOWN_SRAM3 229 #define SYSCFG_MEMPOWERDOWN_SRAM3_RESET _u(0x0) 230 #define SYSCFG_MEMPOWERDOWN_SRAM3_BITS _u(0x00000008) 231 #define SYSCFG_MEMPOWERDOWN_SRAM3_MSB _u(3) 232 #define SYSCFG_MEMPOWERDOWN_SRAM3_LSB _u(3) 233 #define SYSCFG_MEMPOWERDOWN_SRAM3_ACCESS "RW" 234 // ----------------------------------------------------------------------------- 235 // Field : SYSCFG_MEMPOWERDOWN_SRAM2 236 #define SYSCFG_MEMPOWERDOWN_SRAM2_RESET _u(0x0) 237 #define SYSCFG_MEMPOWERDOWN_SRAM2_BITS _u(0x00000004) 238 #define SYSCFG_MEMPOWERDOWN_SRAM2_MSB _u(2) 239 #define SYSCFG_MEMPOWERDOWN_SRAM2_LSB _u(2) 240 #define SYSCFG_MEMPOWERDOWN_SRAM2_ACCESS "RW" 241 // ----------------------------------------------------------------------------- 242 // Field : SYSCFG_MEMPOWERDOWN_SRAM1 243 #define SYSCFG_MEMPOWERDOWN_SRAM1_RESET _u(0x0) 244 #define SYSCFG_MEMPOWERDOWN_SRAM1_BITS _u(0x00000002) 245 #define SYSCFG_MEMPOWERDOWN_SRAM1_MSB _u(1) 246 #define SYSCFG_MEMPOWERDOWN_SRAM1_LSB _u(1) 247 #define SYSCFG_MEMPOWERDOWN_SRAM1_ACCESS "RW" 248 // ----------------------------------------------------------------------------- 249 // Field : SYSCFG_MEMPOWERDOWN_SRAM0 250 #define SYSCFG_MEMPOWERDOWN_SRAM0_RESET _u(0x0) 251 #define SYSCFG_MEMPOWERDOWN_SRAM0_BITS _u(0x00000001) 252 #define SYSCFG_MEMPOWERDOWN_SRAM0_MSB _u(0) 253 #define SYSCFG_MEMPOWERDOWN_SRAM0_LSB _u(0) 254 #define SYSCFG_MEMPOWERDOWN_SRAM0_ACCESS "RW" 255 // ============================================================================= 256 // Register : SYSCFG_AUXCTRL 257 // Description : Auxiliary system control register 258 // * Bits 7:2: Reserved 259 // 260 // * Bit 1: When clear, the LPOSC output is XORed into the TRNG 261 // ROSC output as an additional, uncorrelated entropy source. When 262 // set, this behaviour is disabled. 263 // 264 // * Bit 0: Force POWMAN clock to switch to LPOSC, by asserting 265 // its WDRESET input. This must be set before initiating a 266 // watchdog reset of the RSM from a stage that includes CLOCKS, if 267 // POWMAN is running from clk_ref at the point that the watchdog 268 // reset takes place. Otherwise, the short pulse generated on 269 // clk_ref by the reset of the CLOCKS block may affect POWMAN 270 // register state. 271 #define SYSCFG_AUXCTRL_OFFSET _u(0x00000014) 272 #define SYSCFG_AUXCTRL_BITS _u(0x000000ff) 273 #define SYSCFG_AUXCTRL_RESET _u(0x00000000) 274 #define SYSCFG_AUXCTRL_MSB _u(7) 275 #define SYSCFG_AUXCTRL_LSB _u(0) 276 #define SYSCFG_AUXCTRL_ACCESS "RW" 277 // ============================================================================= 278 #endif // _HARDWARE_REGS_SYSCFG_H 279 280