SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
A protection group is defined by its initiators (or members) and MReqInfo is allowed. Two registers define these two settings:
Permissions are identical for read and write accesses in L4 interconnect.
k indicates the protection group number.
L indicates the region number.
ConnID | Initiator |
---|---|
0 | Cortex-A15 MPU subsystem |
1 | Debug subsystem |
2 | DSP1 subsystem (CFG, EDMA, MDMA), DSP2 (EDMA) |
3 | IVAHD, DSP2(CFG, MDMA) |
4 | EVE1, EVE2 |
5 | Reserved |
6 | IPU1/2; SYSTEM_DMA |
7 | EDMA |
8 | DSS, MLB, MMU1, MMU2, PCIE1 and PCIE2 |
9 | VIP1, VIP2, VIP3, VPE |
A | MMC1, MMC2, GPU, BB2D, GMAC |
B | USB1, USB2, USB3, USB4 |
C | SATA |
D | Reserved |
E | Reserved |
F | Resered |
Figure 14-11 is an example of CONNID_BIT_VECTOR.
Setting bits 0 and 2 in the PROT_GROUP_MEMBERS_L register defines a group initiator that can access targets in protection group 1, and includes the following:
Protection group 1 can be applied to multiple protection regions with no limitation. Each protection region that is configured with protection group 1 enables permission access only to the two initiators.
The L4_AP_REGION_i_H PROT_GROUP_ID field determines the region to which the protection group member is attached.
The values of some CONNID_BIT_VECTOR and ENABLE fields are exported by the system control module (SCM) at reset or are user writable (see Figure 14-11 for more information).
Table 14-390 and Table 14-393 list the default configuration of the various groups for each L4 interconnect. For each group, some modules or regions are associated with it using default initiator members.
Group | Default Modules Associated With Group | Register | Modifiability | Default Value |
---|---|---|---|---|
Group 0 AP registers | L4_PER1_AP registers | L4_AP_PROT_GROUP_ROLES_0_L | No | EXPORTED |
L4_AP_PROT_GROUP_ROLES_0_H | No | EXPORTED | ||
L4_AP_PROT_GROUP_MEMBERS_0_L | No | EXPORTED | ||
L4_AP_PROT_GROUP_MEMBERS_0_H | No | EXPORTED | ||
Group 1 | Reserved | L4_AP_PROT_GROUP_ROLES_1_L | No | EXPORTED |
L4_AP_PROT_GROUP_ROLES_1_H | No | EXPORTED | ||
L4_AP_PROT_GROUP_MEMBERS_1_L | No | EXPORTED | ||
L4_AP_PROT_GROUP_MEMBERS_1_H | No | EXPORTED | ||
Group 2–7 | PER1 peripherals | L4_AP_PROT_GROUP_ROLES_k_L L4_AP_PROT_GROUP_ROLES_k_H where k = 2 to 7 | Yes | 0xFFFF FFFF FFFF FFFF (all) |
L4_AP_PROT_GROUP_MEMBERS_k_L L4_AP_PROT_GROUP_MEMBERS_k_H where k = 2 to 7 | Yes | 0xFFFF (all) |
Group | Default Modules Associated With Group | Register | Modifiability | Default Value |
---|---|---|---|---|
Group 0 AP registers | L4_PER2_AP registers | L4_AP_PROT_GROUP_ROLES_0_L | No | EXPORTED |
L4_AP_PROT_GROUP_ROLES_0_H | No | EXPORTED | ||
L4_AP_PROT_GROUP_MEMBERS_0_L | No | EXPORTED | ||
L4_AP_PROT_GROUP_MEMBERS_0_H | No | EXPORTED | ||
Group 1 - 7 L4_PER2 peripherals | PER2 peripherals | L4_AP_PROT_GROUP_ROLES_k_L L4_AP_PROT_GROUP_ROLES_k_H where k = 1 to 7 | Yes | 0xFFFF FFFF FFFF FFFF (all) |
L4_AP_PROT_GROUP_MEMBERS_k_L L4_AP_PROT_GROUP_MEMBERS_k_H where k = 1 to 7 | Yes | 0xFFFF (all) |
Group | Default Modules Associated With Group | Register | Modifiability | Default Value |
---|---|---|---|---|
Group 0 AP registers | L4_PER_AP registers | L4_AP_PROT_GROUP_ROLES_0_L | No | EXPORTED |
L4_AP_PROT_GROUP_ROLES_0_H | No | EXPORTED | ||
L4_AP_PROT_GROUP_MEMBERS_0_L | No | EXPORTED | ||
L4_AP_PROT_GROUP_MEMBERS_0_H | No | EXPORTED | ||
Group 1 - 7 L4_PER3 peripherals | PER3 peripherals | L4_AP_PROT_GROUP_ROLES_k_L L4_AP_PROT_GROUP_ROLES_k_H where k = 1 to 7 | Yes | 0xFFFF FFFF FFFF FFFF (all) |
L4_AP_PROT_GROUP_MEMBERS_k_L L4_AP_PROT_GROUP_MEMBERS_k_H where k = 1 to 7 | Yes | 0xFFFF (all) |
Group | Default Modules Associated With Group | Register | Modifiability | Default Value |
---|---|---|---|---|
Group 0 AP registers | AP registers | L4_AP_PROT_GROUP_ROLES_0_L L4_AP_PROT_GROUP_ROLES_0_H | No | EXPORTED |
L4_AP_PROT_GROUP_MEMBERS_0_L L4_AP_PROT_GROUP_MEMBERS_0_H | No | EXPORTED | ||
Group 1 | L3 firewall registers | L4_AP_PROT_GROUP_ROLES_1_L L4_AP_PROT_GROUP_ROLES_1_H | No | EXPORTED |
L4_AP_PROT_GROUP_MEMBERS_1_L L4_AP_PROT_GROUP_MEMBERS_1_H | No | EXPORTED | ||
Group 5 Free | CPFROM | L4_AP_PROT_GROUP_ROLES_5_L L4_AP_PROT_GROUP_ROLES_5_H | Yes | EXPORTED |
L4_AP_PROT_GROUP_MEMBERS_5_L L4_AP_PROT_GROUP_MEMBERS_5_H | Yes | EXPORTED | ||
Group 2, 3, 4 Free | No modules attached | L4_AP_PROT_GROUP_ROLES_k_L L4_AP_PROT_GROUP_ROLES_k_L where k = 2, 3, 4 and 6 | Yes | 0xFFFF FFFF FFFF FFFF (all) |
L4_AP_PROT_GROUP_MEMBERS_k_L L4_AP_PROT_GROUP_MEMBERS_k_H where k = 2, 3 and 4 | Yes | 0xFFFF (all) | ||
Group 6, 7 Other modules | Other L4_CFG modules | L4_AP_PROT_GROUP_ROLES_k_L L4_AP_PROT_GROUP_ROLES_k_H where k = 6 and 7 | Yes | 0xFFFF FFFF FFFF FFFF (all) |
L4_AP_PROT_GROUP_MEMBERS_k_L L4_AP_PROT_GROUP_MEMBERS_k_H where k = 6 and 7 | Yes | 0xFFFF (all) |
Group | Default Modules Associated With Group | Register | Modifiability | Default Value |
---|---|---|---|---|
Group 0 AP registers | AP registers | L4_AP_PROT_GROUP_ROLES_0_L L4_AP_PROT_GROUP_ROLES_0_H | No | EXPORTED |
L4_AP_PROT_GROUP_MEMBERS_0_L L4_AP_PROT_GROUP_MEMBERS_0_H | No | EXPORTED | ||
Group 1 | Reserved | L4_AP_PROT_GROUP_ROLES_1_L L4_AP_PROT_GROUP_ROLES_1_H | No | EXPORTED |
L4_AP_PROT_GROUP_MEMBERS_1_L L4_AP_PROT_GROUP_MEMBERS_1_H | No | EXPORTED | ||
Group 2 | No Modules Attached | L4_AP_PROT_GROUP_ROLES_2_L L4_AP_PROT_GROUP_ROLES_2_H | Yes | 0xFFFF FFFF FFFF FFFF (all) |
L4_AP_PROT_GROUP_MEMBERS_2_L L4_AP_PROT_GROUP_MEMBERS_2_H | Yes | 0xFFFF (all) | ||
Group 3 Free | Reserved | L4_AP_PROT_GROUP_ROLES_3_L L4_AP_PROT_GROUP_ROLES_3_L | No | 0xFFFF FFFF FFFF FFFF (all) |
L4_AP_PROT_GROUP_MEMBERS_3_L L4_AP_PROT_GROUP_MEMBERS_3_H | No | 0xFFFF (all) | ||
Group 4 Free | Reserved | L4_AP_PROT_GROUP_ROLES_4_L L4_AP_PROT_GROUP_ROLES_4_L | No | EXPORTED |
L4_AP_PROT_GROUP_MEMBERS_4_L L4_AP_PROT_GROUP_MEMBERS_4_H | No | EXPORTED | ||
Group 5-7 Other modules | Other L4_WKUP modules | L4_AP_PROT_GROUP_ROLES_k_L L4_AP_PROT_GROUP_ROLES_k_H where k = 5, 6, 7 | Yes | 0xFFFF FFFF FFFF FFFF (all) |
L4_AP_PROT_GROUP_MEMBERS_k_L L4_AP_PROT_GROUP_MEMBERS_k_H where k = 5, 6, 7 | Yes | 0xFFFF (all) |
For EXPORTED default values see CONTROL_SEC_ LOAD_FW_EXPORTED_VALUE register in Chapter 18, Control Module