1 /* 2 * Arm SCP/MCP Software 3 * Copyright (c) 2018-2021, Arm Limited and Contributors. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 #include "n1sdp_scp_mmap.h" 9 #include "n1sdp_scp_system_mmap.h" 10 11 #include <mod_armv7m_mpu.h> 12 13 #include <fwk_macros.h> 14 #include <fwk_module.h> 15 16 #include <fmw_cmsis.h> 17 18 static const ARM_MPU_Region_t regions[] = { 19 { /* 0x0000_0000 - 0xFFFF_FFFF */ 20 .RBAR = ARM_MPU_RBAR(0, 0x00000000), 21 .RASR = ARM_MPU_RASR( 22 1, ARM_MPU_AP_PRIV, 0, 1, 0, 1, 0, ARM_MPU_REGION_SIZE_4GB), 23 }, 24 { /* 0x0080_0000 - 0x0088_0000 */ 25 .RBAR = ARM_MPU_RBAR(1, SCP_RAM0_BASE), 26 .RASR = ARM_MPU_RASR( 27 0, ARM_MPU_AP_PRO, 0, 0, 1, 0, 0, ARM_MPU_REGION_SIZE_512KB), 28 }, 29 { /* 0x2000_0000 - 0x2003_FFFF */ 30 .RBAR = ARM_MPU_RBAR(2, SCP_RAM1_BASE), 31 .RASR = ARM_MPU_RASR( 32 1, ARM_MPU_AP_PRIV, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_256KB), 33 }, 34 { /* 0xA400_0000 - 0xA407_FFFF*/ 35 .RBAR = ARM_MPU_RBAR(3, SCP_TRUSTED_RAM_BASE), 36 .RASR = ARM_MPU_RASR( 37 1, ARM_MPU_AP_PRIV, 0, 1, 1, 1, 0, ARM_MPU_REGION_SIZE_512KB), 38 }, 39 { /* 0x6540_0000 - 0x6540_00FF */ 40 .RBAR = ARM_MPU_RBAR(4, SCP_AP_SHARED_SECURE_RAM), 41 .RASR = ARM_MPU_RASR( 42 1, ARM_MPU_AP_PRIV, 0, 1, 1, 1, 0, ARM_MPU_REGION_SIZE_256B), 43 }, 44 { /* 0x6520_0000 - 0x6520_FFFF */ 45 .RBAR = ARM_MPU_RBAR(5, SCP_AP_SHARED_NONSECURE_RAM), 46 .RASR = ARM_MPU_RASR( 47 1, ARM_MPU_AP_PRIV, 0, 1, 1, 1, 0, ARM_MPU_REGION_SIZE_64KB), 48 }, 49 }; 50 51 const struct fwk_module_config config_armv7m_mpu = { 52 .data = &((struct mod_armv7m_mpu_config){ 53 .region_count = FWK_ARRAY_SIZE(regions), 54 .regions = regions, 55 }), 56 }; 57