arm: mpu: nxp: set bus master 4 to write and read access
Set bus master 4 to write and read access which allows
the USBFSOTG controller read/write access to the memory.
Signed-off-by: Johann Fischer <j.fischer@phytec.de>
diff --git a/include/arch/arm/cortex_m/mpu/nxp_mpu.h b/include/arch/arm/cortex_m/mpu/nxp_mpu.h
index 99206ef..ed1c18b 100644
--- a/include/arch/arm/cortex_m/mpu/nxp_mpu.h
+++ b/include/arch/arm/cortex_m/mpu/nxp_mpu.h
@@ -34,6 +34,15 @@
#define BM2_SM_SHIFT 15
#define BM3_SM_SHIFT 21
+#define BM4_WE_SHIFT 24
+#define BM4_RE_SHIFT 25
+
+#ifdef CONFIG_USB_KINETIS
+#define BM4_PERMISSIONS ((1 << BM4_RE_SHIFT) | (1 << BM4_WE_SHIFT))
+#else
+#define BM4_PERMISSIONS 0
+#endif
+
/* Read Attribute */
#define MPU_REGION_READ ((UM_READ << BM0_UM_SHIFT) | \
(UM_READ << BM1_UM_SHIFT) | \
@@ -83,13 +92,15 @@
/* Some helper defines for common regions */
#if defined(CONFIG_MPU_ALLOW_FLASH_WRITE)
#define REGION_RAM_ATTR ((MPU_REGION_SU_RWX) | \
- ((UM_READ | UM_WRITE | UM_EXEC) << BM3_UM_SHIFT))
+ ((UM_READ | UM_WRITE | UM_EXEC) << BM3_UM_SHIFT) | \
+ (BM4_PERMISSIONS))
#define REGION_FLASH_ATTR (MPU_REGION_SU_RWX)
#else
#define REGION_RAM_ATTR ((MPU_REGION_SU_RW) | \
- ((UM_READ | UM_WRITE) << BM3_UM_SHIFT))
+ ((UM_READ | UM_WRITE) << BM3_UM_SHIFT) | \
+ (BM4_PERMISSIONS))
#define REGION_FLASH_ATTR (MPU_REGION_READ | \
MPU_REGION_EXEC | \