This module contains APIs to program and use the firewall module. The APIs can be used by others to get access to firewall module. 
◆ FWL_MAX_PRIVID_SLOTS
      
        
          | #define FWL_MAX_PRIVID_SLOTS   (3U) | 
        
      
 
Maximun number of privilege ID slots. 
 
 
◆ FWL_MAX_ID
◆ FWL_MAX_REGION
      
        
          | #define FWL_MAX_REGION   (16U) | 
        
      
 
 
◆ PRIVID_NONE
◆ PRIVID_ALLOW_EVERYONE
      
        
          | #define PRIVID_ALLOW_EVERYONE   (195U) | 
        
      
 
 
◆ PRIVID_DMSC
      
        
          | #define PRIVID_DMSC   (202U) | 
        
      
 
 
◆ PRIVID_BLOCK_EVERYONE
      
        
          | #define PRIVID_BLOCK_EVERYONE   (197U) | 
        
      
 
 
◆ PRIVID_SPROXY_PRIVATE
      
        
          | #define PRIVID_SPROXY_PRIVATE   (11U) | 
        
      
 
 
◆ PRIVID_A53_NON_SECURE
      
        
          | #define PRIVID_A53_NON_SECURE   (1U) | 
        
      
 
 
◆ PRIVID_A53_SECURE
      
        
          | #define PRIVID_A53_SECURE   (1U) | 
        
      
 
 
◆ PRIVID_M4_0_NON_SECURE
      
        
          | #define PRIVID_M4_0_NON_SECURE   (100U) | 
        
      
 
 
◆ PRIVID_MAIN_0_R5_0_NONSECURE
      
        
          | #define PRIVID_MAIN_0_R5_0_NONSECURE   (212U) | 
        
      
 
 
◆ PRIVID_MAIN_0_R5_0_SECURE
      
        
          | #define PRIVID_MAIN_0_R5_0_SECURE   (212U) | 
        
      
 
 
◆ PRIVID_MAIN_0_R5_1_NONSECURE
      
        
          | #define PRIVID_MAIN_0_R5_1_NONSECURE   (213U) | 
        
      
 
 
◆ PRIVID_MAIN_0_R5_1_SECURE
      
        
          | #define PRIVID_MAIN_0_R5_1_SECURE   (213U) | 
        
      
 
 
◆ PRIVID_MAIN_1_R5_0_NONSECURE
      
        
          | #define PRIVID_MAIN_1_R5_0_NONSECURE   (214U) | 
        
      
 
 
◆ PRIVID_MAIN_1_R5_0_SECURE
      
        
          | #define PRIVID_MAIN_1_R5_0_SECURE   (214U) | 
        
      
 
 
◆ PRIVID_MAIN_1_R5_1_NONSECURE
      
        
          | #define PRIVID_MAIN_1_R5_1_NONSECURE   (215U) | 
        
      
 
 
◆ PRIVID_MAIN_1_R5_1_SECURE
      
        
          | #define PRIVID_MAIN_1_R5_1_SECURE   (215U) | 
        
      
 
 
◆ PRIVID_MAIN_0_ICSSG_0
      
        
          | #define PRIVID_MAIN_0_ICSSG_0   (136U) | 
        
      
 
 
◆ FWL_CONTROL_ENABLE_MASK
      
        
          | #define FWL_CONTROL_ENABLE_MASK   (0xFU) | 
        
      
 
 
◆ FWL_CONTROL_DISABLE
      
        
          | #define FWL_CONTROL_DISABLE   (0x0U) | 
        
      
 
 
◆ FWL_CONTROL_ENABLE
      
        
          | #define FWL_CONTROL_ENABLE   (0xAU) | 
        
      
 
 
◆ FWL_CONTROL_LOCK
      
        
          | #define FWL_CONTROL_LOCK   (0x10U) | 
        
      
 
 
◆ FWL_CONTROL_BG
      
        
          | #define FWL_CONTROL_BG   (0x100U) | 
        
      
 
 
◆ FWL_CONTROL_CACHE_MODE
      
        
          | #define FWL_CONTROL_CACHE_MODE   (0x200U) | 
        
      
 
 
◆ FWL_PERM_SEC_MASK
      
        
          | #define FWL_PERM_SEC_MASK   (0x00FFU) | 
        
      
 
 
◆ FWL_PERM_NSEC_MASK
      
        
          | #define FWL_PERM_NSEC_MASK   (0xFF00U) | 
        
      
 
 
◆ FWL_PERM_PRIV_MASK
      
        
          | #define FWL_PERM_PRIV_MASK   (0x0F0FU) | 
        
      
 
 
◆ FWL_PERM_USER_MASK
      
        
          | #define FWL_PERM_USER_MASK   (0xF0F0U) | 
        
      
 
 
◆ FWL_PERM_WRITE_MASK
      
        
          | #define FWL_PERM_WRITE_MASK   (0x1111U) | 
        
      
 
 
◆ FWL_PERM_READ_MASK
      
        
          | #define FWL_PERM_READ_MASK   (0x2222U) | 
        
      
 
 
◆ FWL_PERM_CACHE_MASK
      
        
          | #define FWL_PERM_CACHE_MASK   (0x4444U) | 
        
      
 
 
◆ FWL_PERM_DEBUG_MASK
      
        
          | #define FWL_PERM_DEBUG_MASK   (0x8888U) | 
        
      
 
 
◆ FWL_PERM_DENY_ALL
      
        
          | #define FWL_PERM_DENY_ALL   (0x0000U) | 
        
      
 
 
◆ FWL_PERM_RW_ALL
Value:
                        FWL_PERM_READ_MASK | \
                        FWL_PERM_CACHE_MASK | \
                        FWL_PERM_DEBUG_MASK)
 
 
 
◆ FWL_PERM_RO_ALL
Value:
                        FWL_PERM_CACHE_MASK | \
                        FWL_PERM_DEBUG_MASK)
 
 
 
◆ FWL_PERM_WO_ALL
Value:
                        FWL_PERM_CACHE_MASK | \
                        FWL_PERM_DEBUG_MASK)
 
 
 
◆ FWL_PERM_SEC_RW
◆ FWL_PERM_NSEC_RW
◆ FWL_PERM_PRIV_RW
◆ FWL_PERM_USER_RW
◆ FWL_PERM_SEC_RO
◆ FWL_PERM_NSEC_RO
◆ FWL_PERM_PRIV_RO
◆ FWL_PERM_USER_RO
◆ Firewall_Handle
◆ Firewall_init()
      
        
          | void Firewall_init  | 
          ( | 
          void  | 
           | ) | 
           | 
        
      
 
This function initializes the firewall module. 
 
 
◆ Firewall_deinit()
      
        
          | void Firewall_deinit  | 
          ( | 
          void  | 
           | ) | 
           | 
        
      
 
This function de-initializes the firewall module. 
 
 
◆ Firewall_open()
◆ Firewall_close()
Function to close Firewall peripheral specified by firewall handle. 
- Precondition
 - Firewall_open() has to be called first
 
- Parameters
 - 
  
  
 
 
 
◆ Firewall_configureSingleRegion()
      
        
          | int32_t Firewall_configureSingleRegion  | 
          ( | 
          uint32_t  | 
          firewallId,  | 
        
        
           | 
           | 
          Firewall_RegionCfg *  | 
          region  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Configure firewall for a single region. 
- Parameters
 - 
  
    | firewallId | Firewall id of the region  | 
    | region | Firewall region configuration parameters | 
  
   
- Returns
 - SystemP_SUCCESS on success, SystemP_FAILURE otherwise 
 
 
 
◆ Firewall_configureRegion()