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 : BUSCTRL
10 // Version        : 1
11 // Bus type       : apb
12 // Description    : Register block for busfabric control signals and performance
13 //                  counters
14 // =============================================================================
15 #ifndef _HARDWARE_REGS_BUSCTRL_H
16 #define _HARDWARE_REGS_BUSCTRL_H
17 // =============================================================================
18 // Register    : BUSCTRL_BUS_PRIORITY
19 // Description : Set the priority of each master for bus arbitration.
20 #define BUSCTRL_BUS_PRIORITY_OFFSET _u(0x00000000)
21 #define BUSCTRL_BUS_PRIORITY_BITS   _u(0x00001111)
22 #define BUSCTRL_BUS_PRIORITY_RESET  _u(0x00000000)
23 // -----------------------------------------------------------------------------
24 // Field       : BUSCTRL_BUS_PRIORITY_DMA_W
25 // Description : 0 - low priority, 1 - high priority
26 #define BUSCTRL_BUS_PRIORITY_DMA_W_RESET  _u(0x0)
27 #define BUSCTRL_BUS_PRIORITY_DMA_W_BITS   _u(0x00001000)
28 #define BUSCTRL_BUS_PRIORITY_DMA_W_MSB    _u(12)
29 #define BUSCTRL_BUS_PRIORITY_DMA_W_LSB    _u(12)
30 #define BUSCTRL_BUS_PRIORITY_DMA_W_ACCESS "RW"
31 // -----------------------------------------------------------------------------
32 // Field       : BUSCTRL_BUS_PRIORITY_DMA_R
33 // Description : 0 - low priority, 1 - high priority
34 #define BUSCTRL_BUS_PRIORITY_DMA_R_RESET  _u(0x0)
35 #define BUSCTRL_BUS_PRIORITY_DMA_R_BITS   _u(0x00000100)
36 #define BUSCTRL_BUS_PRIORITY_DMA_R_MSB    _u(8)
37 #define BUSCTRL_BUS_PRIORITY_DMA_R_LSB    _u(8)
38 #define BUSCTRL_BUS_PRIORITY_DMA_R_ACCESS "RW"
39 // -----------------------------------------------------------------------------
40 // Field       : BUSCTRL_BUS_PRIORITY_PROC1
41 // Description : 0 - low priority, 1 - high priority
42 #define BUSCTRL_BUS_PRIORITY_PROC1_RESET  _u(0x0)
43 #define BUSCTRL_BUS_PRIORITY_PROC1_BITS   _u(0x00000010)
44 #define BUSCTRL_BUS_PRIORITY_PROC1_MSB    _u(4)
45 #define BUSCTRL_BUS_PRIORITY_PROC1_LSB    _u(4)
46 #define BUSCTRL_BUS_PRIORITY_PROC1_ACCESS "RW"
47 // -----------------------------------------------------------------------------
48 // Field       : BUSCTRL_BUS_PRIORITY_PROC0
49 // Description : 0 - low priority, 1 - high priority
50 #define BUSCTRL_BUS_PRIORITY_PROC0_RESET  _u(0x0)
51 #define BUSCTRL_BUS_PRIORITY_PROC0_BITS   _u(0x00000001)
52 #define BUSCTRL_BUS_PRIORITY_PROC0_MSB    _u(0)
53 #define BUSCTRL_BUS_PRIORITY_PROC0_LSB    _u(0)
54 #define BUSCTRL_BUS_PRIORITY_PROC0_ACCESS "RW"
55 // =============================================================================
56 // Register    : BUSCTRL_BUS_PRIORITY_ACK
57 // Description : Bus priority acknowledge
58 //               Goes to 1 once all arbiters have registered the new global
59 //               priority levels.
60 //               Arbiters update their local priority when servicing a new
61 //               nonsequential access.
62 //               In normal circumstances this will happen almost immediately.
63 #define BUSCTRL_BUS_PRIORITY_ACK_OFFSET _u(0x00000004)
64 #define BUSCTRL_BUS_PRIORITY_ACK_BITS   _u(0x00000001)
65 #define BUSCTRL_BUS_PRIORITY_ACK_RESET  _u(0x00000000)
66 #define BUSCTRL_BUS_PRIORITY_ACK_MSB    _u(0)
67 #define BUSCTRL_BUS_PRIORITY_ACK_LSB    _u(0)
68 #define BUSCTRL_BUS_PRIORITY_ACK_ACCESS "RO"
69 // =============================================================================
70 // Register    : BUSCTRL_PERFCTR0
71 // Description : Bus fabric performance counter 0
72 //               Busfabric saturating performance counter 0
73 //               Count some event signal from the busfabric arbiters.
74 //               Write any value to clear. Select an event to count using
75 //               PERFSEL0
76 #define BUSCTRL_PERFCTR0_OFFSET _u(0x00000008)
77 #define BUSCTRL_PERFCTR0_BITS   _u(0x00ffffff)
78 #define BUSCTRL_PERFCTR0_RESET  _u(0x00000000)
79 #define BUSCTRL_PERFCTR0_MSB    _u(23)
80 #define BUSCTRL_PERFCTR0_LSB    _u(0)
81 #define BUSCTRL_PERFCTR0_ACCESS "WC"
82 // =============================================================================
83 // Register    : BUSCTRL_PERFSEL0
84 // Description : Bus fabric performance event select for PERFCTR0
85 //               Select an event for PERFCTR0. Count either contested accesses,
86 //               or all accesses, on a downstream port of the main crossbar.
87 //               0x00 -> apb_contested
88 //               0x01 -> apb
89 //               0x02 -> fastperi_contested
90 //               0x03 -> fastperi
91 //               0x04 -> sram5_contested
92 //               0x05 -> sram5
93 //               0x06 -> sram4_contested
94 //               0x07 -> sram4
95 //               0x08 -> sram3_contested
96 //               0x09 -> sram3
97 //               0x0a -> sram2_contested
98 //               0x0b -> sram2
99 //               0x0c -> sram1_contested
100 //               0x0d -> sram1
101 //               0x0e -> sram0_contested
102 //               0x0f -> sram0
103 //               0x10 -> xip_main_contested
104 //               0x11 -> xip_main
105 //               0x12 -> rom_contested
106 //               0x13 -> rom
107 #define BUSCTRL_PERFSEL0_OFFSET _u(0x0000000c)
108 #define BUSCTRL_PERFSEL0_BITS   _u(0x0000001f)
109 #define BUSCTRL_PERFSEL0_RESET  _u(0x0000001f)
110 #define BUSCTRL_PERFSEL0_MSB    _u(4)
111 #define BUSCTRL_PERFSEL0_LSB    _u(0)
112 #define BUSCTRL_PERFSEL0_ACCESS "RW"
113 #define BUSCTRL_PERFSEL0_VALUE_APB_CONTESTED _u(0x00)
114 #define BUSCTRL_PERFSEL0_VALUE_APB _u(0x01)
115 #define BUSCTRL_PERFSEL0_VALUE_FASTPERI_CONTESTED _u(0x02)
116 #define BUSCTRL_PERFSEL0_VALUE_FASTPERI _u(0x03)
117 #define BUSCTRL_PERFSEL0_VALUE_SRAM5_CONTESTED _u(0x04)
118 #define BUSCTRL_PERFSEL0_VALUE_SRAM5 _u(0x05)
119 #define BUSCTRL_PERFSEL0_VALUE_SRAM4_CONTESTED _u(0x06)
120 #define BUSCTRL_PERFSEL0_VALUE_SRAM4 _u(0x07)
121 #define BUSCTRL_PERFSEL0_VALUE_SRAM3_CONTESTED _u(0x08)
122 #define BUSCTRL_PERFSEL0_VALUE_SRAM3 _u(0x09)
123 #define BUSCTRL_PERFSEL0_VALUE_SRAM2_CONTESTED _u(0x0a)
124 #define BUSCTRL_PERFSEL0_VALUE_SRAM2 _u(0x0b)
125 #define BUSCTRL_PERFSEL0_VALUE_SRAM1_CONTESTED _u(0x0c)
126 #define BUSCTRL_PERFSEL0_VALUE_SRAM1 _u(0x0d)
127 #define BUSCTRL_PERFSEL0_VALUE_SRAM0_CONTESTED _u(0x0e)
128 #define BUSCTRL_PERFSEL0_VALUE_SRAM0 _u(0x0f)
129 #define BUSCTRL_PERFSEL0_VALUE_XIP_MAIN_CONTESTED _u(0x10)
130 #define BUSCTRL_PERFSEL0_VALUE_XIP_MAIN _u(0x11)
131 #define BUSCTRL_PERFSEL0_VALUE_ROM_CONTESTED _u(0x12)
132 #define BUSCTRL_PERFSEL0_VALUE_ROM _u(0x13)
133 // =============================================================================
134 // Register    : BUSCTRL_PERFCTR1
135 // Description : Bus fabric performance counter 1
136 //               Busfabric saturating performance counter 1
137 //               Count some event signal from the busfabric arbiters.
138 //               Write any value to clear. Select an event to count using
139 //               PERFSEL1
140 #define BUSCTRL_PERFCTR1_OFFSET _u(0x00000010)
141 #define BUSCTRL_PERFCTR1_BITS   _u(0x00ffffff)
142 #define BUSCTRL_PERFCTR1_RESET  _u(0x00000000)
143 #define BUSCTRL_PERFCTR1_MSB    _u(23)
144 #define BUSCTRL_PERFCTR1_LSB    _u(0)
145 #define BUSCTRL_PERFCTR1_ACCESS "WC"
146 // =============================================================================
147 // Register    : BUSCTRL_PERFSEL1
148 // Description : Bus fabric performance event select for PERFCTR1
149 //               Select an event for PERFCTR1. Count either contested accesses,
150 //               or all accesses, on a downstream port of the main crossbar.
151 //               0x00 -> apb_contested
152 //               0x01 -> apb
153 //               0x02 -> fastperi_contested
154 //               0x03 -> fastperi
155 //               0x04 -> sram5_contested
156 //               0x05 -> sram5
157 //               0x06 -> sram4_contested
158 //               0x07 -> sram4
159 //               0x08 -> sram3_contested
160 //               0x09 -> sram3
161 //               0x0a -> sram2_contested
162 //               0x0b -> sram2
163 //               0x0c -> sram1_contested
164 //               0x0d -> sram1
165 //               0x0e -> sram0_contested
166 //               0x0f -> sram0
167 //               0x10 -> xip_main_contested
168 //               0x11 -> xip_main
169 //               0x12 -> rom_contested
170 //               0x13 -> rom
171 #define BUSCTRL_PERFSEL1_OFFSET _u(0x00000014)
172 #define BUSCTRL_PERFSEL1_BITS   _u(0x0000001f)
173 #define BUSCTRL_PERFSEL1_RESET  _u(0x0000001f)
174 #define BUSCTRL_PERFSEL1_MSB    _u(4)
175 #define BUSCTRL_PERFSEL1_LSB    _u(0)
176 #define BUSCTRL_PERFSEL1_ACCESS "RW"
177 #define BUSCTRL_PERFSEL1_VALUE_APB_CONTESTED _u(0x00)
178 #define BUSCTRL_PERFSEL1_VALUE_APB _u(0x01)
179 #define BUSCTRL_PERFSEL1_VALUE_FASTPERI_CONTESTED _u(0x02)
180 #define BUSCTRL_PERFSEL1_VALUE_FASTPERI _u(0x03)
181 #define BUSCTRL_PERFSEL1_VALUE_SRAM5_CONTESTED _u(0x04)
182 #define BUSCTRL_PERFSEL1_VALUE_SRAM5 _u(0x05)
183 #define BUSCTRL_PERFSEL1_VALUE_SRAM4_CONTESTED _u(0x06)
184 #define BUSCTRL_PERFSEL1_VALUE_SRAM4 _u(0x07)
185 #define BUSCTRL_PERFSEL1_VALUE_SRAM3_CONTESTED _u(0x08)
186 #define BUSCTRL_PERFSEL1_VALUE_SRAM3 _u(0x09)
187 #define BUSCTRL_PERFSEL1_VALUE_SRAM2_CONTESTED _u(0x0a)
188 #define BUSCTRL_PERFSEL1_VALUE_SRAM2 _u(0x0b)
189 #define BUSCTRL_PERFSEL1_VALUE_SRAM1_CONTESTED _u(0x0c)
190 #define BUSCTRL_PERFSEL1_VALUE_SRAM1 _u(0x0d)
191 #define BUSCTRL_PERFSEL1_VALUE_SRAM0_CONTESTED _u(0x0e)
192 #define BUSCTRL_PERFSEL1_VALUE_SRAM0 _u(0x0f)
193 #define BUSCTRL_PERFSEL1_VALUE_XIP_MAIN_CONTESTED _u(0x10)
194 #define BUSCTRL_PERFSEL1_VALUE_XIP_MAIN _u(0x11)
195 #define BUSCTRL_PERFSEL1_VALUE_ROM_CONTESTED _u(0x12)
196 #define BUSCTRL_PERFSEL1_VALUE_ROM _u(0x13)
197 // =============================================================================
198 // Register    : BUSCTRL_PERFCTR2
199 // Description : Bus fabric performance counter 2
200 //               Busfabric saturating performance counter 2
201 //               Count some event signal from the busfabric arbiters.
202 //               Write any value to clear. Select an event to count using
203 //               PERFSEL2
204 #define BUSCTRL_PERFCTR2_OFFSET _u(0x00000018)
205 #define BUSCTRL_PERFCTR2_BITS   _u(0x00ffffff)
206 #define BUSCTRL_PERFCTR2_RESET  _u(0x00000000)
207 #define BUSCTRL_PERFCTR2_MSB    _u(23)
208 #define BUSCTRL_PERFCTR2_LSB    _u(0)
209 #define BUSCTRL_PERFCTR2_ACCESS "WC"
210 // =============================================================================
211 // Register    : BUSCTRL_PERFSEL2
212 // Description : Bus fabric performance event select for PERFCTR2
213 //               Select an event for PERFCTR2. Count either contested accesses,
214 //               or all accesses, on a downstream port of the main crossbar.
215 //               0x00 -> apb_contested
216 //               0x01 -> apb
217 //               0x02 -> fastperi_contested
218 //               0x03 -> fastperi
219 //               0x04 -> sram5_contested
220 //               0x05 -> sram5
221 //               0x06 -> sram4_contested
222 //               0x07 -> sram4
223 //               0x08 -> sram3_contested
224 //               0x09 -> sram3
225 //               0x0a -> sram2_contested
226 //               0x0b -> sram2
227 //               0x0c -> sram1_contested
228 //               0x0d -> sram1
229 //               0x0e -> sram0_contested
230 //               0x0f -> sram0
231 //               0x10 -> xip_main_contested
232 //               0x11 -> xip_main
233 //               0x12 -> rom_contested
234 //               0x13 -> rom
235 #define BUSCTRL_PERFSEL2_OFFSET _u(0x0000001c)
236 #define BUSCTRL_PERFSEL2_BITS   _u(0x0000001f)
237 #define BUSCTRL_PERFSEL2_RESET  _u(0x0000001f)
238 #define BUSCTRL_PERFSEL2_MSB    _u(4)
239 #define BUSCTRL_PERFSEL2_LSB    _u(0)
240 #define BUSCTRL_PERFSEL2_ACCESS "RW"
241 #define BUSCTRL_PERFSEL2_VALUE_APB_CONTESTED _u(0x00)
242 #define BUSCTRL_PERFSEL2_VALUE_APB _u(0x01)
243 #define BUSCTRL_PERFSEL2_VALUE_FASTPERI_CONTESTED _u(0x02)
244 #define BUSCTRL_PERFSEL2_VALUE_FASTPERI _u(0x03)
245 #define BUSCTRL_PERFSEL2_VALUE_SRAM5_CONTESTED _u(0x04)
246 #define BUSCTRL_PERFSEL2_VALUE_SRAM5 _u(0x05)
247 #define BUSCTRL_PERFSEL2_VALUE_SRAM4_CONTESTED _u(0x06)
248 #define BUSCTRL_PERFSEL2_VALUE_SRAM4 _u(0x07)
249 #define BUSCTRL_PERFSEL2_VALUE_SRAM3_CONTESTED _u(0x08)
250 #define BUSCTRL_PERFSEL2_VALUE_SRAM3 _u(0x09)
251 #define BUSCTRL_PERFSEL2_VALUE_SRAM2_CONTESTED _u(0x0a)
252 #define BUSCTRL_PERFSEL2_VALUE_SRAM2 _u(0x0b)
253 #define BUSCTRL_PERFSEL2_VALUE_SRAM1_CONTESTED _u(0x0c)
254 #define BUSCTRL_PERFSEL2_VALUE_SRAM1 _u(0x0d)
255 #define BUSCTRL_PERFSEL2_VALUE_SRAM0_CONTESTED _u(0x0e)
256 #define BUSCTRL_PERFSEL2_VALUE_SRAM0 _u(0x0f)
257 #define BUSCTRL_PERFSEL2_VALUE_XIP_MAIN_CONTESTED _u(0x10)
258 #define BUSCTRL_PERFSEL2_VALUE_XIP_MAIN _u(0x11)
259 #define BUSCTRL_PERFSEL2_VALUE_ROM_CONTESTED _u(0x12)
260 #define BUSCTRL_PERFSEL2_VALUE_ROM _u(0x13)
261 // =============================================================================
262 // Register    : BUSCTRL_PERFCTR3
263 // Description : Bus fabric performance counter 3
264 //               Busfabric saturating performance counter 3
265 //               Count some event signal from the busfabric arbiters.
266 //               Write any value to clear. Select an event to count using
267 //               PERFSEL3
268 #define BUSCTRL_PERFCTR3_OFFSET _u(0x00000020)
269 #define BUSCTRL_PERFCTR3_BITS   _u(0x00ffffff)
270 #define BUSCTRL_PERFCTR3_RESET  _u(0x00000000)
271 #define BUSCTRL_PERFCTR3_MSB    _u(23)
272 #define BUSCTRL_PERFCTR3_LSB    _u(0)
273 #define BUSCTRL_PERFCTR3_ACCESS "WC"
274 // =============================================================================
275 // Register    : BUSCTRL_PERFSEL3
276 // Description : Bus fabric performance event select for PERFCTR3
277 //               Select an event for PERFCTR3. Count either contested accesses,
278 //               or all accesses, on a downstream port of the main crossbar.
279 //               0x00 -> apb_contested
280 //               0x01 -> apb
281 //               0x02 -> fastperi_contested
282 //               0x03 -> fastperi
283 //               0x04 -> sram5_contested
284 //               0x05 -> sram5
285 //               0x06 -> sram4_contested
286 //               0x07 -> sram4
287 //               0x08 -> sram3_contested
288 //               0x09 -> sram3
289 //               0x0a -> sram2_contested
290 //               0x0b -> sram2
291 //               0x0c -> sram1_contested
292 //               0x0d -> sram1
293 //               0x0e -> sram0_contested
294 //               0x0f -> sram0
295 //               0x10 -> xip_main_contested
296 //               0x11 -> xip_main
297 //               0x12 -> rom_contested
298 //               0x13 -> rom
299 #define BUSCTRL_PERFSEL3_OFFSET _u(0x00000024)
300 #define BUSCTRL_PERFSEL3_BITS   _u(0x0000001f)
301 #define BUSCTRL_PERFSEL3_RESET  _u(0x0000001f)
302 #define BUSCTRL_PERFSEL3_MSB    _u(4)
303 #define BUSCTRL_PERFSEL3_LSB    _u(0)
304 #define BUSCTRL_PERFSEL3_ACCESS "RW"
305 #define BUSCTRL_PERFSEL3_VALUE_APB_CONTESTED _u(0x00)
306 #define BUSCTRL_PERFSEL3_VALUE_APB _u(0x01)
307 #define BUSCTRL_PERFSEL3_VALUE_FASTPERI_CONTESTED _u(0x02)
308 #define BUSCTRL_PERFSEL3_VALUE_FASTPERI _u(0x03)
309 #define BUSCTRL_PERFSEL3_VALUE_SRAM5_CONTESTED _u(0x04)
310 #define BUSCTRL_PERFSEL3_VALUE_SRAM5 _u(0x05)
311 #define BUSCTRL_PERFSEL3_VALUE_SRAM4_CONTESTED _u(0x06)
312 #define BUSCTRL_PERFSEL3_VALUE_SRAM4 _u(0x07)
313 #define BUSCTRL_PERFSEL3_VALUE_SRAM3_CONTESTED _u(0x08)
314 #define BUSCTRL_PERFSEL3_VALUE_SRAM3 _u(0x09)
315 #define BUSCTRL_PERFSEL3_VALUE_SRAM2_CONTESTED _u(0x0a)
316 #define BUSCTRL_PERFSEL3_VALUE_SRAM2 _u(0x0b)
317 #define BUSCTRL_PERFSEL3_VALUE_SRAM1_CONTESTED _u(0x0c)
318 #define BUSCTRL_PERFSEL3_VALUE_SRAM1 _u(0x0d)
319 #define BUSCTRL_PERFSEL3_VALUE_SRAM0_CONTESTED _u(0x0e)
320 #define BUSCTRL_PERFSEL3_VALUE_SRAM0 _u(0x0f)
321 #define BUSCTRL_PERFSEL3_VALUE_XIP_MAIN_CONTESTED _u(0x10)
322 #define BUSCTRL_PERFSEL3_VALUE_XIP_MAIN _u(0x11)
323 #define BUSCTRL_PERFSEL3_VALUE_ROM_CONTESTED _u(0x12)
324 #define BUSCTRL_PERFSEL3_VALUE_ROM _u(0x13)
325 // =============================================================================
326 #endif // _HARDWARE_REGS_BUSCTRL_H
327 
328