Commit 54fbcc08 authored by Ioannis Glaropoulos's avatar Ioannis Glaropoulos Committed by Kumar Gala
Browse files

arch: arm: mpu: get REGION_SIZE_<X> defines directly from ARM CMSIS



This commit re-defines the REGION_SIZE_<x> macros, present in
include/arch/arm/cortex_m/mpu/arm_mpu_v7m.h, with the help of
the existing ARM MPU regions size definitions in ARM CMSIS.

Signed-off-by: default avatarIoannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
parent 3808ca8e
Loading
Loading
Loading
Loading
+32 −28
Original line number Diff line number Diff line
@@ -67,34 +67,38 @@
#define SUB_REGION_6_DISABLED	((0x40 << MPU_RASR_SRD_Pos) & MPU_RASR_SRD_Msk)
#define SUB_REGION_7_DISABLED	((0x80 << MPU_RASR_SRD_Pos) & MPU_RASR_SRD_Msk)

#define REGION_32B      ((0x04 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_64B      ((0x05 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_128B     ((0x06 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_256B     ((0x07 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_512B     ((0x08 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_1K       ((0x09 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_2K       ((0x0A << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_4K       ((0x0B << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_8K       ((0x0C << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_16K      ((0x0D << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_32K      ((0x0E << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_64K      ((0x0F << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_128K     ((0x10 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_256K     ((0x11 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_512K     ((0x12 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_1M       ((0x13 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_2M       ((0x14 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_4M       ((0x15 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_8M       ((0x16 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_16M      ((0x17 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_32M      ((0x18 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_64M      ((0x19 << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_128M     ((0x1A << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_256M     ((0x1B << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_512M     ((0x1C << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_1G       ((0x1D << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_2G       ((0x1E << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)
#define REGION_4G       ((0x1F << MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)

#define REGION_SIZE(size) ((ARM_MPU_REGION_SIZE_ ## size \
	<< MPU_RASR_SIZE_Pos) & MPU_RASR_SIZE_Msk)

#define REGION_32B      REGION_SIZE(32B)
#define REGION_64B      REGION_SIZE(64B)
#define REGION_128B     REGION_SIZE(128B)
#define REGION_256B     REGION_SIZE(256B)
#define REGION_512B     REGION_SIZE(512B)
#define REGION_1K       REGION_SIZE(1KB)
#define REGION_2K       REGION_SIZE(2KB)
#define REGION_4K       REGION_SIZE(4KB)
#define REGION_8K       REGION_SIZE(8KB)
#define REGION_16K      REGION_SIZE(16KB)
#define REGION_32K      REGION_SIZE(32KB)
#define REGION_64K      REGION_SIZE(64KB)
#define REGION_128K     REGION_SIZE(128KB)
#define REGION_256K     REGION_SIZE(256KB)
#define REGION_512K     REGION_SIZE(512KB)
#define REGION_1M       REGION_SIZE(1MB)
#define REGION_2M       REGION_SIZE(2MB)
#define REGION_4M       REGION_SIZE(4MB)
#define REGION_8M       REGION_SIZE(8MB)
#define REGION_16M      REGION_SIZE(16MB)
#define REGION_32M      REGION_SIZE(32MB)
#define REGION_64M      REGION_SIZE(64MB)
#define REGION_128M     REGION_SIZE(128MB)
#define REGION_256M     REGION_SIZE(256MB)
#define REGION_512M     REGION_SIZE(512MB)
#define REGION_1G       REGION_SIZE(1GB)
#define REGION_2G       REGION_SIZE(2GB)
#define REGION_4G       REGION_SIZE(4GB)

/* Some helper defines for common regions */
#define REGION_USER_RAM_ATTR(size) \