AM64x MCU+ SDK  10.00.00
firewall/v0/firewall.h File Reference

Introduction

Firewall Driver API/interface file.

Go to the source code of this file.

Data Structures

struct  Firewall_RegionCfg
 Firewall Region Cfg specifies the MMR configuration for the specified firewall ID. More...
 
struct  Firewall_Attrs
 Firewall atributes. More...
 
struct  Firewall_Object
 Firewall driver Object. More...
 
struct  Firewall_Config
 Firewall Instance Configuration. Pointer to this object is returned as handle by driver open. More...
 

Macros

#define FWL_MAX_PRIVID_SLOTS   (3U)
 Maximun number of privilege ID slots. More...
 
#define FWL_MAX_ID   (35U)
 Firewall Limits. More...
 
#define FWL_MAX_REGION   (16U)
 
Master Privilege ID's

Privilege ID's of Master

#define PRIVID_NONE   (0U)
 
#define PRIVID_ALLOW_EVERYONE   (195U)
 
#define PRIVID_DMSC   (202U)
 
#define PRIVID_BLOCK_EVERYONE   (197U)
 
#define PRIVID_SPROXY_PRIVATE   (11U)
 
#define PRIVID_A53_NON_SECURE   (1U)
 
#define PRIVID_A53_SECURE   (1U)
 
#define PRIVID_M4_0_NON_SECURE   (100U)
 
#define PRIVID_MAIN_0_R5_0_NONSECURE   (212U)
 
#define PRIVID_MAIN_0_R5_0_SECURE   (212U)
 
#define PRIVID_MAIN_0_R5_1_NONSECURE   (213U)
 
#define PRIVID_MAIN_0_R5_1_SECURE   (213U)
 
#define PRIVID_MAIN_1_R5_0_NONSECURE   (214U)
 
#define PRIVID_MAIN_1_R5_0_SECURE   (214U)
 
#define PRIVID_MAIN_1_R5_1_NONSECURE   (215U)
 
#define PRIVID_MAIN_1_R5_1_SECURE   (215U)
 
#define PRIVID_MAIN_0_ICSSG_0   (136U)
 
Firewall Control Mask

Control mask of word of Firewall

#define FWL_CONTROL_ENABLE_MASK   (0xFU)
 
#define FWL_CONTROL_DISABLE   (0x0U)
 
#define FWL_CONTROL_ENABLE   (0xAU)
 
#define FWL_CONTROL_LOCK   (0x10U)
 
#define FWL_CONTROL_BG   (0x100U)
 
#define FWL_CONTROL_CACHE_MODE   (0x200U)
 
Firewall Permission Mask

Permission mask of Firewall

#define FWL_PERM_SEC_MASK   (0x00FFU)
 
#define FWL_PERM_NSEC_MASK   (0xFF00U)
 
#define FWL_PERM_PRIV_MASK   (0x0F0FU)
 
#define FWL_PERM_USER_MASK   (0xF0F0U)
 
#define FWL_PERM_WRITE_MASK   (0x1111U)
 
#define FWL_PERM_READ_MASK   (0x2222U)
 
#define FWL_PERM_CACHE_MASK   (0x4444U)
 
#define FWL_PERM_DEBUG_MASK   (0x8888U)
 
#define FWL_PERM_DENY_ALL   (0x0000U)
 
Macros for Firewall Permission's

Macros for Firewall permission's

#define FWL_PERM_RW_ALL
 
#define FWL_PERM_RO_ALL
 
#define FWL_PERM_WO_ALL
 
#define FWL_PERM_SEC_RW
 
#define FWL_PERM_NSEC_RW
 
#define FWL_PERM_PRIV_RW
 
#define FWL_PERM_USER_RW
 
#define FWL_PERM_SEC_RO
 
#define FWL_PERM_NSEC_RO
 
#define FWL_PERM_PRIV_RO
 
#define FWL_PERM_USER_RO
 

Typedefs

typedef void * Firewall_Handle
 A handle that is initialized in Firewall_open() call. More...
 

Functions

void Firewall_init (void)
 This function initializes the firewall module. More...
 
void Firewall_deinit (void)
 This function de-initializes the firewall module. More...
 
int32_t Firewall_open (Firewall_Handle handle)
 This function opens a given Firewall peripheral. More...
 
void Firewall_close (Firewall_Handle handle)
 Function to close Firewall peripheral specified by firewall handle. More...
 
int32_t Firewall_configureSingleRegion (uint32_t firewallId, Firewall_RegionCfg *region)
 Configure firewall for a single region. More...
 
int32_t Firewall_configureRegion (Firewall_Handle handle)
 Intialize a firewall with multiple regions. More...