1 // THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT
4 * Copyright (c) 2024 Raspberry Pi Ltd.
6 * SPDX-License-Identifier: BSD-3-Clause
8 // =============================================================================
9 // Register block : SYSCFG
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
42 // and the GPIO input register in the SIO. The input synchronizers
44 // generally be unbypassed, to avoid injecting metastabilities
46 // If you're feeling brave, you can bypass to save two cycles of
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
63 // and the GPIO input register in the SIO. The input synchronizers
65 // generally be unbypassed, to avoid injecting metastabilities
67 // If you're feeling brave, you can bypass to save two cycles of
69 // latency. This register applies to GPIO 32...47. USB GPIO 56..57
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
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
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.
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
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