8#ifndef _HARDWARE_STRUCTS_M33_H
9#define _HARDWARE_STRUCTS_M33_H
16#include "hardware/regs/m33.h"
26#if defined(__riscv) && PICO_FORBID_ARM_HEADERS_ON_RISCV
27#error "Arm header included in a RISC-V build with PICO_FORBID_ARM_HEADERS_ON_RISCV=1"
32 _REG_(M33_ITM_STIM0_OFFSET)
35 io_rw_32 itm_stim[32];
39 _REG_(M33_ITM_TER0_OFFSET)
46 _REG_(M33_ITM_TPR_OFFSET)
53 _REG_(M33_ITM_TCR_OFFSET)
69 _REG_(M33_INT_ATREADY_OFFSET)
77 _REG_(M33_INT_ATVALID_OFFSET)
85 _REG_(M33_ITM_ITCTRL_OFFSET)
92 _REG_(M33_ITM_DEVARCH_OFFSET)
103 _REG_(M33_ITM_DEVTYPE_OFFSET)
107 io_ro_32 itm_devtype;
109 _REG_(M33_ITM_PIDR4_OFFSET)
115 _REG_(M33_ITM_PIDR5_OFFSET)
120 _REG_(M33_ITM_PIDR6_OFFSET)
125 _REG_(M33_ITM_PIDR7_OFFSET)
130 _REG_(M33_ITM_PIDR0_OFFSET)
135 _REG_(M33_ITM_PIDR1_OFFSET)
141 _REG_(M33_ITM_PIDR2_OFFSET)
148 _REG_(M33_ITM_PIDR3_OFFSET)
155 _REG_(M33_ITM_CIDR0_OFFSET)
158 io_ro_32 itm_cidr[4];
160 _REG_(M33_DWT_CTRL_OFFSET)
183 _REG_(M33_DWT_CYCCNT_OFFSET)
190 _REG_(M33_DWT_EXCCNT_OFFSET)
197 _REG_(M33_DWT_LSUCNT_OFFSET)
202 _REG_(M33_DWT_FOLDCNT_OFFSET)
205 io_rw_32 dwt_foldcnt;
209 _REG_(M33_DWT_COMP0_OFFSET)
216 _REG_(M33_DWT_FUNCTION0_OFFSET)
223 io_rw_32 dwt_function0;
227 _REG_(M33_DWT_COMP1_OFFSET)
234 _REG_(M33_DWT_FUNCTION1_OFFSET)
241 io_rw_32 dwt_function1;
245 _REG_(M33_DWT_COMP2_OFFSET)
252 _REG_(M33_DWT_FUNCTION2_OFFSET)
259 io_rw_32 dwt_function2;
263 _REG_(M33_DWT_COMP3_OFFSET)
270 _REG_(M33_DWT_FUNCTION3_OFFSET)
277 io_rw_32 dwt_function3;
279 uint32_t _pad18[984];
281 _REG_(M33_DWT_DEVARCH_OFFSET)
288 io_ro_32 dwt_devarch;
292 _REG_(M33_DWT_DEVTYPE_OFFSET)
296 io_ro_32 dwt_devtype;
298 _REG_(M33_DWT_PIDR4_OFFSET)
304 _REG_(M33_DWT_PIDR5_OFFSET)
309 _REG_(M33_DWT_PIDR6_OFFSET)
314 _REG_(M33_DWT_PIDR7_OFFSET)
319 _REG_(M33_DWT_PIDR0_OFFSET)
324 _REG_(M33_DWT_PIDR1_OFFSET)
330 _REG_(M33_DWT_PIDR2_OFFSET)
337 _REG_(M33_DWT_PIDR3_OFFSET)
344 _REG_(M33_DWT_CIDR0_OFFSET)
347 io_ro_32 dwt_cidr[4];
349 _REG_(M33_FP_CTRL_OFFSET)
359 _REG_(M33_FP_REMAP_OFFSET)
366 _REG_(M33_FP_COMP0_OFFSET)
371 uint32_t _pad20[997];
373 _REG_(M33_FP_DEVARCH_OFFSET)
384 _REG_(M33_FP_DEVTYPE_OFFSET)
390 _REG_(M33_FP_PIDR4_OFFSET)
396 _REG_(M33_FP_PIDR5_OFFSET)
401 _REG_(M33_FP_PIDR6_OFFSET)
406 _REG_(M33_FP_PIDR7_OFFSET)
411 _REG_(M33_FP_PIDR0_OFFSET)
416 _REG_(M33_FP_PIDR1_OFFSET)
422 _REG_(M33_FP_PIDR2_OFFSET)
429 _REG_(M33_FP_PIDR3_OFFSET)
436 _REG_(M33_FP_CIDR0_OFFSET)
441 uint32_t _pad22[11265];
443 _REG_(M33_ICTR_OFFSET)
448 _REG_(M33_ACTLR_OFFSET)
460 _REG_(M33_SYST_CSR_OFFSET)
468 _REG_(M33_SYST_RVR_OFFSET)
473 _REG_(M33_SYST_CVR_OFFSET)
478 _REG_(M33_SYST_CALIB_OFFSET)
488 _REG_(M33_NVIC_ISER0_OFFSET)
491 io_rw_32 nvic_iser[2];
496 _REG_(M33_NVIC_ICER0_OFFSET)
499 io_rw_32 nvic_icer[2];
504 _REG_(M33_NVIC_ISPR0_OFFSET)
507 io_rw_32 nvic_ispr[2];
512 _REG_(M33_NVIC_ICPR0_OFFSET)
515 io_rw_32 nvic_icpr[2];
520 _REG_(M33_NVIC_IABR0_OFFSET)
523 io_rw_32 nvic_iabr[2];
528 _REG_(M33_NVIC_ITNS0_OFFSET)
531 io_rw_32 nvic_itns[2];
536 _REG_(M33_NVIC_IPR0_OFFSET)
542 io_rw_32 nvic_ipr[16];
544 uint32_t _pad31[560];
546 _REG_(M33_CPUID_OFFSET)
555 _REG_(M33_ICSR_OFFSET)
571 _REG_(M33_VTOR_OFFSET)
576 _REG_(M33_AIRCR_OFFSET)
588 _REG_(M33_SCR_OFFSET)
596 _REG_(M33_CCR_OFFSET)
611 _REG_(M33_SHPR1_OFFSET)
619 _REG_(M33_SHCSR_OFFSET)
643 _REG_(M33_CFSR_OFFSET)
662 _REG_(M33_HFSR_OFFSET)
669 _REG_(M33_DFSR_OFFSET)
678 _REG_(M33_MMFAR_OFFSET)
683 _REG_(M33_BFAR_OFFSET)
691 _REG_(M33_ID_PFR0_OFFSET)
697 _REG_(M33_ID_DFR0_OFFSET)
702 _REG_(M33_ID_AFR0_OFFSET)
711 _REG_(M33_ID_MMFR0_OFFSET)
721 _REG_(M33_ID_ISAR0_OFFSET)
733 _REG_(M33_CTR_OFFSET)
745 _REG_(M33_CPACR_OFFSET)
759 _REG_(M33_NSACR_OFFSET)
773 _REG_(M33_MPU_TYPE_OFFSET)
779 _REG_(M33_MPU_CTRL_OFFSET)
786 _REG_(M33_MPU_RNR_OFFSET)
791 _REG_(M33_MPU_RBAR_OFFSET)
799 _REG_(M33_MPU_RLAR_OFFSET)
806 _REG_(M33_MPU_RBAR_A1_OFFSET)
812 io_rw_32 mpu_rbar_a1;
814 _REG_(M33_MPU_RLAR_A1_OFFSET)
819 io_rw_32 mpu_rlar_a1;
821 _REG_(M33_MPU_RBAR_A2_OFFSET)
827 io_rw_32 mpu_rbar_a2;
829 _REG_(M33_MPU_RLAR_A2_OFFSET)
834 io_rw_32 mpu_rlar_a2;
836 _REG_(M33_MPU_RBAR_A3_OFFSET)
842 io_rw_32 mpu_rbar_a3;
844 _REG_(M33_MPU_RLAR_A3_OFFSET)
849 io_rw_32 mpu_rlar_a3;
854 _REG_(M33_MPU_MAIR0_OFFSET)
860 io_rw_32 mpu_mair[2];
864 _REG_(M33_SAU_CTRL_OFFSET)
870 _REG_(M33_SAU_TYPE_OFFSET)
875 _REG_(M33_SAU_RNR_OFFSET)
880 _REG_(M33_SAU_RBAR_OFFSET)
885 _REG_(M33_SAU_RLAR_OFFSET)
892 _REG_(M33_SFSR_OFFSET)
904 _REG_(M33_SFAR_OFFSET)
911 _REG_(M33_DHCSR_OFFSET)
928 _REG_(M33_DCRSR_OFFSET)
934 _REG_(M33_DCRDR_OFFSET)
939 _REG_(M33_DEMCR_OFFSET)
960 _REG_(M33_DSCSR_OFFSET)
970 _REG_(M33_STIR_OFFSET)
977 _REG_(M33_FPCCR_OFFSET)
998 _REG_(M33_FPCAR_OFFSET)
1003 _REG_(M33_FPDSCR_OFFSET)
1012 _REG_(M33_MVFR0_OFFSET)
1022 uint32_t _pad41[28];
1024 _REG_(M33_DDEVARCH_OFFSET)
1035 _REG_(M33_DDEVTYPE_OFFSET)
1041 _REG_(M33_DPIDR4_OFFSET)
1047 _REG_(M33_DPIDR5_OFFSET)
1052 _REG_(M33_DPIDR6_OFFSET)
1057 _REG_(M33_DPIDR7_OFFSET)
1062 _REG_(M33_DPIDR0_OFFSET)
1067 _REG_(M33_DPIDR1_OFFSET)
1073 _REG_(M33_DPIDR2_OFFSET)
1080 _REG_(M33_DPIDR3_OFFSET)
1087 _REG_(M33_DCIDR0_OFFSET)
1092 uint32_t _pad43[51201];
1094 _REG_(M33_TRCPRGCTLR_OFFSET)
1097 io_rw_32 trcprgctlr;
1101 _REG_(M33_TRCSTATR_OFFSET)
1107 _REG_(M33_TRCCONFIGR_OFFSET)
1114 io_rw_32 trcconfigr;
1118 _REG_(M33_TRCEVENTCTL0R_OFFSET)
1124 io_rw_32 trceventctl0r;
1126 _REG_(M33_TRCEVENTCTL1R_OFFSET)
1132 io_rw_32 trceventctl1r;
1136 _REG_(M33_TRCSTALLCTLR_OFFSET)
1141 io_rw_32 trcstallctlr;
1143 _REG_(M33_TRCTSCTLR_OFFSET)
1149 _REG_(M33_TRCSYNCPR_OFFSET)
1154 _REG_(M33_TRCCCCTLR_OFFSET)
1159 uint32_t _pad47[17];
1161 _REG_(M33_TRCVICTLR_OFFSET)
1172 uint32_t _pad48[47];
1174 _REG_(M33_TRCCNTRLDVR0_OFFSET)
1177 io_rw_32 trccntrldvr0;
1179 uint32_t _pad49[15];
1181 _REG_(M33_TRCIDR8_OFFSET)
1186 _REG_(M33_TRCIDR9_OFFSET)
1191 _REG_(M33_TRCIDR10_OFFSET)
1196 _REG_(M33_TRCIDR11_OFFSET)
1201 _REG_(M33_TRCIDR12_OFFSET)
1206 _REG_(M33_TRCIDR13_OFFSET)
1211 uint32_t _pad50[10];
1213 _REG_(M33_TRCIMSPEC_OFFSET)
1220 _REG_(M33_TRCIDR0_OFFSET)
1238 _REG_(M33_TRCIDR1_OFFSET)
1247 _REG_(M33_TRCIDR2_OFFSET)
1257 _REG_(M33_TRCIDR3_OFFSET)
1270 _REG_(M33_TRCIDR4_OFFSET)
1282 _REG_(M33_TRCIDR5_OFFSET)
1294 _REG_(M33_TRCIDR6_OFFSET)
1299 _REG_(M33_TRCIDR7_OFFSET)
1307 _REG_(M33_TRCRSCTLR2_OFFSET)
1313 io_rw_32 trcrsctlr[2];
1315 uint32_t _pad53[36];
1317 _REG_(M33_TRCSSCSR_OFFSET)
1328 _REG_(M33_TRCSSPCICR_OFFSET)
1331 io_rw_32 trcsspcicr;
1333 uint32_t _pad55[19];
1335 _REG_(M33_TRCPDCR_OFFSET)
1340 _REG_(M33_TRCPDSR_OFFSET)
1347 uint32_t _pad56[755];
1349 _REG_(M33_TRCITATBIDR_OFFSET)
1352 io_rw_32 trcitatbidr;
1356 _REG_(M33_TRCITIATBINR_OFFSET)
1360 io_rw_32 trcitiatbinr;
1364 _REG_(M33_TRCITIATBOUTR_OFFSET)
1368 io_rw_32 trcitiatboutr;
1370 uint32_t _pad59[40];
1372 _REG_(M33_TRCCLAIMSET_OFFSET)
1378 io_rw_32 trcclaimset;
1380 _REG_(M33_TRCCLAIMCLR_OFFSET)
1386 io_rw_32 trcclaimclr;
1390 _REG_(M33_TRCAUTHSTATUS_OFFSET)
1396 io_ro_32 trcauthstatus;
1398 _REG_(M33_TRCDEVARCH_OFFSET)
1404 io_ro_32 trcdevarch;
1408 _REG_(M33_TRCDEVID_OFFSET)
1413 _REG_(M33_TRCDEVTYPE_OFFSET)
1417 io_ro_32 trcdevtype;
1419 _REG_(M33_TRCPIDR4_OFFSET)
1425 _REG_(M33_TRCPIDR5_OFFSET)
1430 _REG_(M33_TRCPIDR6_OFFSET)
1435 _REG_(M33_TRCPIDR7_OFFSET)
1440 _REG_(M33_TRCPIDR0_OFFSET)
1445 _REG_(M33_TRCPIDR1_OFFSET)
1451 _REG_(M33_TRCPIDR2_OFFSET)
1458 _REG_(M33_TRCPIDR3_OFFSET)
1465 _REG_(M33_TRCCIDR0_OFFSET)
1468 io_ro_32 trccidr[4];
1470 _REG_(M33_CTICONTROL_OFFSET)
1473 io_rw_32 cticontrol;
1477 _REG_(M33_CTIINTACK_OFFSET)
1482 _REG_(M33_CTIAPPSET_OFFSET)
1487 _REG_(M33_CTIAPPCLEAR_OFFSET)
1490 io_rw_32 ctiappclear;
1492 _REG_(M33_CTIAPPPULSE_OFFSET)
1495 io_rw_32 ctiapppulse;
1498 _REG_(M33_CTIINEN0_OFFSET)
1501 io_rw_32 ctiinen[8];
1503 uint32_t _pad63[24];
1506 _REG_(M33_CTIOUTEN0_OFFSET)
1509 io_rw_32 ctiouten[8];
1511 uint32_t _pad64[28];
1513 _REG_(M33_CTITRIGINSTATUS_OFFSET)
1516 io_ro_32 ctitriginstatus;
1518 _REG_(M33_CTITRIGOUTSTATUS_OFFSET)
1521 io_ro_32 ctitrigoutstatus;
1523 _REG_(M33_CTICHINSTATUS_OFFSET)
1526 io_ro_32 ctichinstatus;
1530 _REG_(M33_CTIGATE_OFFSET)
1538 _REG_(M33_ASICCTL_OFFSET)
1543 uint32_t _pad66[871];
1545 _REG_(M33_ITCHOUT_OFFSET)
1550 _REG_(M33_ITTRIGOUT_OFFSET)
1557 _REG_(M33_ITCHIN_OFFSET)
1564 _REG_(M33_ITCTRL_OFFSET)
1569 uint32_t _pad69[46];
1571 _REG_(M33_DEVARCH_OFFSET)
1581 _REG_(M33_DEVID_OFFSET)
1588 _REG_(M33_DEVTYPE_OFFSET)
1594 _REG_(M33_PIDR4_OFFSET)
1600 _REG_(M33_PIDR5_OFFSET)
1605 _REG_(M33_PIDR6_OFFSET)
1610 _REG_(M33_PIDR7_OFFSET)
1615 _REG_(M33_PIDR0_OFFSET)
1620 _REG_(M33_PIDR1_OFFSET)
1626 _REG_(M33_PIDR2_OFFSET)
1633 _REG_(M33_PIDR3_OFFSET)
1640 _REG_(M33_CIDR0_OFFSET)
1646#define m33_hw ((m33_hw_t *)PPB_BASE)
1647#define m33_ns_hw ((m33_hw_t *)PPB_NONSEC_BASE)
1648static_assert(
sizeof (
m33_hw_t) == 0x43000,
"");