![Logo](ti_logo.svg) |
AM64x MCU+ SDK
08.05.00
|
|
Go to the documentation of this file.
57 #include <drivers/soc.h>
72 #define FWL_MAX_PRIVID_SLOTS (3U)
82 #define PRIVID_NONE (0U)
83 #define PRIVID_EVERYONE (195U)
84 #define PRIVID_DMSC (202U)
85 #define PRIVID_BLOCK_EVERYONE (197U)
86 #define PRIVID_SPROXY_PRIVATE (11U)
87 #define PRIVID_A53_NON_SECURE (1U)
88 #define PRIVID_A53_SECURE (1U)
89 #define PRIVID_M4_0_NON_SECURE (100U)
90 #define PRIVID_MAIN_0_R5_0_NONSECURE (212U)
91 #define PRIVID_MAIN_0_R5_0_SECURE (212U)
92 #define PRIVID_MAIN_0_R5_1_NONSECURE (213U)
93 #define PRIVID_MAIN_0_R5_1_SECURE (213U)
94 #define PRIVID_MAIN_1_R5_0_NONSECURE (214U)
95 #define PRIVID_MAIN_1_R5_0_SECURE (214U)
96 #define PRIVID_MAIN_1_R5_1_NONSECURE (215U)
97 #define PRIVID_MAIN_1_R5_1_SECURE (215U)
98 #define PRIVID_MAIN_0_ICSSG_0 (136U)
109 #define FWL_CONTROL_ENABLE_MASK (0xFU)
110 #define FWL_CONTROL_DISABLE (0x0U)
111 #define FWL_CONTROL_ENABLE (0xAU)
112 #define FWL_CONTROL_LOCK (0x10U)
113 #define FWL_CONTROL_BG (0x100U)
114 #define FWL_CONTROL_CACHE_MODE (0x200U)
125 #define FWL_PERM_SEC_MASK (0x00FFU)
126 #define FWL_PERM_NSEC_MASK (0xFF00U)
127 #define FWL_PERM_PRIV_MASK (0x0F0FU)
128 #define FWL_PERM_USER_MASK (0xF0F0U)
130 #define FWL_PERM_WRITE_MASK (0x1111U)
131 #define FWL_PERM_READ_MASK (0x2222U)
132 #define FWL_PERM_CACHE_MASK (0x4444U)
133 #define FWL_PERM_DEBUG_MASK (0x8888U)
134 #define FWL_PERM_DENY_ALL (0x0000U)
145 #define FWL_PERM_RW_ALL (FWL_PERM_WRITE_MASK | \
146 FWL_PERM_READ_MASK | \
147 FWL_PERM_CACHE_MASK | \
150 #define FWL_PERM_RO_ALL (FWL_PERM_READ_MASK | \
151 FWL_PERM_CACHE_MASK | \
154 #define FWL_PERM_WO_ALL (FWL_PERM_WRITE_MASK | \
155 FWL_PERM_CACHE_MASK | \
158 #define FWL_PERM_SEC_RW (FWL_PERM_SEC_MASK & \
161 #define FWL_PERM_NSEC_RW (FWL_PERM_NSEC_MASK & \
164 #define FWL_PERM_PRIV_RW (FWL_PERM_PRIV_MASK & \
167 #define FWL_PERM_USER_RW (FWL_PERM_USER_MASK & \
170 #define FWL_PERM_SEC_RO (FWL_PERM_SEC_MASK & \
173 #define FWL_PERM_NSEC_RO (FWL_PERM_NSEC_MASK & \
176 #define FWL_PERM_PRIV_RO (FWL_PERM_PRIV_MASK & \
179 #define FWL_PERM_USER_RO (FWL_PERM_USER_MASK & \
uint64_t endAddr
Definition: firewall/v0/firewall.h:203
uint32_t totalRegions
Definition: firewall/v0/firewall.h:218
uint32_t control
Definition: firewall/v0/firewall.h:197
Firewall atributes.
Definition: firewall/v0/firewall.h:214
Firewall Instance Configuration. Pointer to this object is returned as handle by driver open.
Definition: firewall/v0/firewall.h:247
#define FWL_MAX_PRIVID_SLOTS
Maximun number of privilege ID slots.
Definition: firewall/v0/firewall.h:72
void Firewall_init(void)
This function initializes the firewall module.
Firewall Region Cfg specifies the MMR configuration for the specified firewall ID.
Definition: firewall/v0/firewall.h:193
uint64_t startAddr
Definition: firewall/v0/firewall.h:201
Firewall driver Object.
Definition: firewall/v0/firewall.h:235
uint32_t firewallId
Definition: firewall/v0/firewall.h:216
Firewall_Handle handle
Definition: firewall/v0/firewall.h:237
int32_t Firewall_open(Firewall_Handle handle)
This function opens a given Firewall peripheral.
Firewall_RegionCfg * regionInfo
Definition: firewall/v0/firewall.h:222
int32_t Firewall_configureRegion(Firewall_Handle handle, Firewall_Attrs *attrs)
Intialize a firewall with multiple regions.
void Firewall_deinit(void)
This function de-initializes the firewall module.
uint32_t initRegions
Definition: firewall/v0/firewall.h:220
void Firewall_close(Firewall_Handle handle)
Function to close Firewall peripheral specified by firewall handle.
Firewall_Attrs * attrs
Definition: firewall/v0/firewall.h:249
uint32_t permissions[FWL_MAX_PRIVID_SLOTS]
Definition: tisci_firewall.h:5
uint16_t regionIndex
Definition: firewall/v0/firewall.h:195
Firewall_Object * object
Definition: firewall/v0/firewall.h:251
void * Firewall_Handle
A handle that is initialized in Firewall_open() call.
Definition: firewall/v0/firewall.h:229
uint32_t cfgDone
Definition: firewall/v0/firewall.h:239