arm: mach-k3: am62a7_init: Open up FSS_DAT_REG3 firewall
authorVignesh Raghavendra <vigneshr@ti.com>
Sun, 2 Jul 2023 09:16:54 +0000 (14:46 +0530)
committerTom Rini <trini@konsulko.com>
Fri, 21 Jul 2023 17:13:50 +0000 (13:13 -0400)
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>
arch/arm/mach-k3/am62a7_init.c

index 1f51b04..8ac834c 100644 (file)
 #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)