summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorVignesh Raghavendra <vigneshr@ti.com>2023-07-02 14:47:32 +0530
committerUdit Kumar <u-kumar1@ti.com>2023-07-03 11:18:59 +0530
commit04925df43802a45889d87b8936dde5abbe4eddb7 (patch)
treeec6ae1fc95e2a06e1cb91f3762c02896bfc6ddba /arch
parentb1d411958692185b5304212f5299586ebd80df2b (diff)
arm: mach-k3: am62a7_init: Open up FSS_DAT_REG3 firewall
On security enforced (HS-SE) devices ROM firewalls OSPI data region3 that is present in above 64bit region. Open this up in bootloader to allow Linux to access OSPI flashes in mmap mode. Without this kernel will crash when accessing this region due to firewall violations on HS-SE devices. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-k3/am62a7_init.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/mach-k3/am62a7_init.c b/arch/arm/mach-k3/am62a7_init.c
index 49661c1e59..0b044bf037 100644
--- a/arch/arm/mach-k3/am62a7_init.c
+++ b/arch/arm/mach-k3/am62a7_init.c
@@ -14,6 +14,10 @@
#include <dm/uclass-internal.h>
#include <dm/pinctrl.h>
+struct fwl_data cbass_main_fwls[] = {
+ { "FSS_DAT_REG3", 7, 8 },
+};
+
/*
* This uninitialized global variable would normal end up in the .bss section,
* but the .bss is cleared between writing and reading this variable, so move
@@ -166,6 +170,9 @@ void board_init_f(ulong dummy)
/* Output System Firmware version info */
k3_sysfw_print_ver();
+ /* Disable ROM configured firewalls right after loading sysfw */
+ remove_fwl_configs(cbass_main_fwls, ARRAY_SIZE(cbass_main_fwls));
+
#if defined(CONFIG_K3_AM62A_DDRSS)
ret = uclass_get_device(UCLASS_RAM, 0, &dev);
if (ret)