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