8#ifndef _HARDWARE_STRUCTS_MPU_H
9#define _HARDWARE_STRUCTS_MPU_H
12#include "hardware/regs/m33.h"
22#if defined(__riscv) && PICO_FORBID_ARM_HEADERS_ON_RISCV
23#error "Arm header included in a RISC-V build with PICO_FORBID_ARM_HEADERS_ON_RISCV=1"
27 _REG_(M33_MPU_TYPE_OFFSET)
33 _REG_(M33_MPU_CTRL_OFFSET)
40 _REG_(M33_MPU_RNR_OFFSET)
45 _REG_(M33_MPU_RBAR_OFFSET)
53 _REG_(M33_MPU_RLAR_OFFSET)
60 _REG_(M33_MPU_RBAR_A1_OFFSET)
68 _REG_(M33_MPU_RLAR_A1_OFFSET)
75 _REG_(M33_MPU_RBAR_A2_OFFSET)
83 _REG_(M33_MPU_RLAR_A2_OFFSET)
90 _REG_(M33_MPU_RBAR_A3_OFFSET)
98 _REG_(M33_MPU_RLAR_A3_OFFSET)
108 _REG_(M33_MPU_MAIR0_OFFSET)
118#define mpu_hw ((mpu_hw_t *)(PPB_BASE + M33_MPU_TYPE_OFFSET))
119#define mpu_ns_hw ((mpu_hw_t *)(PPB_NONSEC_BASE + M33_MPU_TYPE_OFFSET))
120static_assert(
sizeof (
mpu_hw_t) == 0x0038,
"");