Commit 6ad27b83 authored by Dmitry Osipenko's avatar Dmitry Osipenko Committed by Thierry Reding

ARM: tegra: Set up L2 cache using Trusted Foundations firmware

On Tegra30 L2 cache should be initialized using firmware call if CPU
is running in insecure mode. Set up the required outer-cache write_sec()
callback early during boot using the firmware API, it is always a NO-OP
on T114+ and is NO-OP on T20/30 if Trusted Foundations firmware node
isn't present in device-tree.
Tested-by: default avatarRobert Yang <decatf@gmail.com>
Tested-by: default avatarMichał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent ebc7c1a2
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include <soc/tegra/fuse.h> #include <soc/tegra/fuse.h>
#include <soc/tegra/pmc.h> #include <soc/tegra/pmc.h>
#include <asm/firmware.h>
#include <asm/hardware/cache-l2x0.h> #include <asm/hardware/cache-l2x0.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include <asm/mach/time.h> #include <asm/mach/time.h>
...@@ -74,6 +75,7 @@ static void __init tegra_init_early(void) ...@@ -74,6 +75,7 @@ static void __init tegra_init_early(void)
{ {
of_register_trusted_foundations(); of_register_trusted_foundations();
tegra_cpu_reset_handler_init(); tegra_cpu_reset_handler_init();
call_firmware_op(l2x0_init);
} }
static void __init tegra_dt_init_irq(void) static void __init tegra_dt_init_irq(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment