aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-k3/common.h
diff options
context:
space:
mode:
authorAndrew F. Davis <afd@ti.com>2020-01-10 14:35:21 -0500
committerLokesh Vutla <lokeshvutla@ti.com>2020-01-20 10:10:28 +0530
commitea70da142c711c0e8fd9c18e725015b32c5c9357 (patch)
tree6a61f19a157ba0558083e10c899442d6fe7d6094 /arch/arm/mach-k3/common.h
parent9b322dbd527bda6e51fd8ea0992b46c50da239f1 (diff)
downloadu-boot-ea70da142c711c0e8fd9c18e725015b32c5c9357.zip
u-boot-ea70da142c711c0e8fd9c18e725015b32c5c9357.tar.gz
u-boot-ea70da142c711c0e8fd9c18e725015b32c5c9357.tar.bz2
arm: K3: Disable ROM configured firewalls
ROM configures certain firewalls based on its usage, which includes the one in front of boot peripherals. In specific case of boot peripherals, ROM does not open up the full address space corresponding to the peripherals. Like in OSPI, ROM only configures the firewall region for 32 bit address space and mark 64bit address space flash regions as in-accessible. When security-cfg is initialized by sysfw, all the non-configured firewalls are kept in bypass state using a global setting. Since ROM configured firewalls for certain peripherals, these will not be touched. So when bootloader touches any of the address space that ROM marked as in-accessible, system raises a firewall exception causing boot hang. It would have been ideal if sysfw cleans up the ROM configured boot peripheral firewalls. Given the memory overhead to store this information provided by ROM and the boot time increase in re configuring the firewalls, it is concluded to clean this up in bootloaders. So disable all the firewalls that ROM doesn't open up the full address space. Signed-off-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Venkateswara Rao Mandela <venkat.mandela@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Diffstat (limited to 'arch/arm/mach-k3/common.h')
-rw-r--r--arch/arm/mach-k3/common.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/mach-k3/common.h b/arch/arm/mach-k3/common.h
index 35d1609..d8b34fe 100644
--- a/arch/arm/mach-k3/common.h
+++ b/arch/arm/mach-k3/common.h
@@ -14,6 +14,13 @@
#define REV_PG1_0 0
#define REV_PG2_0 1
+struct fwl_data {
+ const char *name;
+ u16 fwl_id;
+ u16 regions;
+};
+
void setup_k3_mpu_regions(void);
int early_console_init(void);
void disable_linefill_optimization(void);
+void remove_fwl_configs(struct fwl_data *fwl_data, size_t fwl_data_size);