Agilex™ 7 Hard Processor System Technical Reference Manual
6.1.2.2.4. MPFE Firewall Example
The following table shows an example of how to set up Non-Secure regions within the memory map that can be only accessed by the appropriate Initator (that is, the MPU or the F2H initator).
| Region Address Range | MPU | F2H | Note | 
|---|---|---|---|
| 0x0000_0000_0000 TOP 0x0011_1110_FFFF | — | — | Region TOP: Only secure MPU transactions are allowed. Only secure F2H transactions are allowed. | 
| 0x0011_1111_0000 Region 0 0x0022_2222_FFFF | Y | — | Region 0: If mpu=1, then secure and non-secure MPU transactions are allowed. If mpu=0, then only secure MPU transactions are allowed. Only secure F2H transactions are allowed. | 
| 0x0033_3333_0000 Region 1 0x0044_4444_FFFF | — | Y | Region 1: Only secure MPU transactions are allowed. If f2h=1, then secure and non-secure F2H transactions are allowed. If f2h=0, then only secure F2H transactions are allowed. Only secure F2SDRAM transactions are allowed. | 
| 0x0077_7777_0000 Region 3 0x0088_8888_FFFF | Y | Y | Region 3: If mpu=1, then secure and non-secure MPU transactions are allowed. If mpu=0, then only secure MPU transactions are allowed. If f2h=1, then secure and non-secure F2H transactions are allowed. If f2h=0, then only secure F2H transactions are allowed. | 
MPU Region 0 registers
- mpuregion0addr_base = 0x1111_0000
- mpuregion0addr_baseext = 0x0000_0011
- mpuregion0addr_limit = 0x2222_FFFF
- mpuregion0addr_limitext = 0x0000_0022
F2H Region 1 registers
- region1addr_base = 0x3333_0000
- region1addr_baseext = 0x0000_0033
- region1addr_limit = 0x4444_FFFF
- region1addr_limitext = 0x0000_0044
MPU Region 3 registers
- mpuregion3addr_base = 0x7777_0000
- mpuregion3addr_baseext = 0x0000_0077
- mpuregion3addr_limit = 0x8888_FFFF
- mpuregion3addr_limitext = 0x0000_0088
F2H Region 3 registers
- region3addr_base = 0x7777_0000
- region3addr_baseext = 0x0000_0077
- region3addr_ limit = 0x8888_FFFF
- region3addr_limitext = 0x0000_0088
MPFE SCR registers
- 0xF8020000.hmc_register = 0x0101 (mpu = 1, f2h = 1)
Enable firewall registers
- 0xF8020200.enable = 0x0009 (Regions 0 and 3 enabled for MPU)
- 0xF8020100.enable = 0x000A (Regions 1 and 3 enabled for F2H)