Skip to content

Commit 3d17f63

Browse files
iabdalkaderdpgeorge
authored andcommitted
alif/mpu: Define constants for MPU regions.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
1 parent 41e1688 commit 3d17f63

2 files changed

Lines changed: 29 additions & 22 deletions

File tree

ports/alif/mpu.c

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,48 +29,48 @@
2929
#include ALIF_CMSIS_H
3030

3131
static const ARM_MPU_Region_t mpu_table[] __STARTUP_RO_DATA_ATTRIBUTE = {
32-
{ /* SRAM0 - 4MB : RO-0, NP-1, XN-0 */
32+
[MP_MPU_REGION_SRAM0] = { /* SRAM0 - 4MB : RO-0, NP-1, XN-0 */
3333
.RBAR = ARM_MPU_RBAR(0x02000000, ARM_MPU_SH_NON, 0, 1, 0),
34-
.RLAR = ARM_MPU_RLAR(0x023FFFFF, MP_MPU_ATTR_INDEX_NORMAL_WT_RA_TRANSIENT)
34+
.RLAR = ARM_MPU_RLAR(0x023FFFFF, MP_MPU_ATTR_NORMAL_WT_RA_TRANSIENT)
3535
},
36-
{ /* SRAM1 - 2.5MB : RO-0, NP-1, XN-0 */
36+
[MP_MPU_REGION_SRAM1] = { /* SRAM1 - 2.5MB : RO-0, NP-1, XN-0 */
3737
.RBAR = ARM_MPU_RBAR(0x08000000, ARM_MPU_SH_NON, 0, 1, 0),
38-
.RLAR = ARM_MPU_RLAR(0x0827FFFF, MP_MPU_ATTR_INDEX_NORMAL_WB_RA_WA)
38+
.RLAR = ARM_MPU_RLAR(0x0827FFFF, MP_MPU_ATTR_NORMAL_WB_RA_WA)
3939
},
40-
{ /* Host Peripherals - 16MB : RO-0, NP-1, XN-1 */
40+
[MP_MPU_REGION_HOST_PERIPHERALS] = { /* Host Peripherals - 16MB : RO-0, NP-1, XN-1 */
4141
.RBAR = ARM_MPU_RBAR(0x1A000000, ARM_MPU_SH_NON, 0, 1, 1),
42-
.RLAR = ARM_MPU_RLAR(0x1AFFFFFF, MP_MPU_ATTR_INDEX_DEVICE_nGnRE)
42+
.RLAR = ARM_MPU_RLAR(0x1AFFFFFF, MP_MPU_ATTR_DEVICE_nGnRE)
4343
},
44-
{ /* MRAM - 5.5MB : RO-1, NP-1, XN-0 */
44+
[MP_MPU_REGION_MRAM] = { /* MRAM - 5.5MB : RO-1, NP-1, XN-0 */
4545
.RBAR = ARM_MPU_RBAR(0x80000000, ARM_MPU_SH_NON, 1, 1, 0),
46-
.RLAR = ARM_MPU_RLAR(0x8057FFFF, MP_MPU_ATTR_INDEX_NORMAL_WT_RA)
46+
.RLAR = ARM_MPU_RLAR(0x8057FFFF, MP_MPU_ATTR_NORMAL_WT_RA)
4747
},
48-
{ /* OSPI Regs - 16MB : RO-0, NP-1, XN-1 */
48+
[MP_MPU_REGION_OSPI_REGISTERS] = { /* OSPI Regs - 16MB : RO-0, NP-1, XN-1 */
4949
.RBAR = ARM_MPU_RBAR(0x83000000, ARM_MPU_SH_NON, 0, 1, 1),
50-
.RLAR = ARM_MPU_RLAR(0x83FFFFFF, MP_MPU_ATTR_INDEX_DEVICE_nGnRE)
50+
.RLAR = ARM_MPU_RLAR(0x83FFFFFF, MP_MPU_ATTR_DEVICE_nGnRE)
5151
},
52-
{ /* OSPI0 XIP flash - 512MB : RO-1, NP-1, XN-0 */
52+
[MP_MPU_REGION_OSPI0_XIP] = { /* OSPI0 XIP flash - 512MB : RO-1, NP-1, XN-0 */
5353
.RBAR = ARM_MPU_RBAR(0xA0000000, ARM_MPU_SH_NON, 1, 1, 0),
54-
.RLAR = ARM_MPU_RLAR(0xBFFFFFFF, MP_MPU_ATTR_INDEX_NORMAL_NON_CACHEABLE)
54+
.RLAR = ARM_MPU_RLAR(0xBFFFFFFF, MP_MPU_ATTR_NORMAL_NON_CACHEABLE)
5555
},
5656
};
5757

5858
void MPU_Load_Regions(void) {
5959
// Configure memory attributes.
6060

61-
ARM_MPU_SetMemAttr(MP_MPU_ATTR_INDEX_NORMAL_WT_RA_TRANSIENT,
61+
ARM_MPU_SetMemAttr(MP_MPU_ATTR_NORMAL_WT_RA_TRANSIENT,
6262
ARM_MPU_ATTR(ARM_MPU_ATTR_MEMORY_(0, 0, 1, 0), ARM_MPU_ATTR_MEMORY_(0, 0, 1, 0)));
6363

64-
ARM_MPU_SetMemAttr(MP_MPU_ATTR_INDEX_DEVICE_nGnRE,
64+
ARM_MPU_SetMemAttr(MP_MPU_ATTR_DEVICE_nGnRE,
6565
ARM_MPU_ATTR(ARM_MPU_ATTR_DEVICE, ARM_MPU_ATTR_DEVICE_nGnRE));
6666

67-
ARM_MPU_SetMemAttr(MP_MPU_ATTR_INDEX_NORMAL_WB_RA_WA,
67+
ARM_MPU_SetMemAttr(MP_MPU_ATTR_NORMAL_WB_RA_WA,
6868
ARM_MPU_ATTR(ARM_MPU_ATTR_MEMORY_(1, 1, 1, 1), ARM_MPU_ATTR_MEMORY_(1, 1, 1, 1)));
6969

70-
ARM_MPU_SetMemAttr(MP_MPU_ATTR_INDEX_NORMAL_WT_RA,
70+
ARM_MPU_SetMemAttr(MP_MPU_ATTR_NORMAL_WT_RA,
7171
ARM_MPU_ATTR(ARM_MPU_ATTR_MEMORY_(1, 0, 1, 0), ARM_MPU_ATTR_MEMORY_(1, 0, 1, 0)));
7272

73-
ARM_MPU_SetMemAttr(MP_MPU_ATTR_INDEX_NORMAL_NON_CACHEABLE,
73+
ARM_MPU_SetMemAttr(MP_MPU_ATTR_NORMAL_NON_CACHEABLE,
7474
ARM_MPU_ATTR(ARM_MPU_ATTR_NON_CACHEABLE, ARM_MPU_ATTR_NON_CACHEABLE));
7575

7676
// Load the MPU regions from the table.

ports/alif/mpu.h

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,15 @@
2424
* THE SOFTWARE.
2525
*/
2626

27-
#define MP_MPU_ATTR_INDEX_NORMAL_WT_RA_TRANSIENT (0)
28-
#define MP_MPU_ATTR_INDEX_DEVICE_nGnRE (1)
29-
#define MP_MPU_ATTR_INDEX_NORMAL_WB_RA_WA (2)
30-
#define MP_MPU_ATTR_INDEX_NORMAL_WT_RA (3)
31-
#define MP_MPU_ATTR_INDEX_NORMAL_NON_CACHEABLE (4)
27+
#define MP_MPU_ATTR_NORMAL_WT_RA_TRANSIENT (0)
28+
#define MP_MPU_ATTR_DEVICE_nGnRE (1)
29+
#define MP_MPU_ATTR_NORMAL_WB_RA_WA (2)
30+
#define MP_MPU_ATTR_NORMAL_WT_RA (3)
31+
#define MP_MPU_ATTR_NORMAL_NON_CACHEABLE (4)
32+
33+
#define MP_MPU_REGION_SRAM0 (0)
34+
#define MP_MPU_REGION_SRAM1 (1)
35+
#define MP_MPU_REGION_HOST_PERIPHERALS (2)
36+
#define MP_MPU_REGION_MRAM (3)
37+
#define MP_MPU_REGION_OSPI_REGISTERS (4)
38+
#define MP_MPU_REGION_OSPI0_XIP (5)

0 commit comments

Comments
 (0)