aboutsummaryrefslogtreecommitdiffstats
path: root/plat/nvidia/tegra/include
diff options
context:
space:
mode:
authorJeetesh Burman <jburman@nvidia.com>2018-07-06 20:03:38 +0530
committerVarun Wadekar <vwadekar@nvidia.com>2020-03-11 13:37:25 -0700
commit029dd14e72c0a7147ef326ae5cd24d77546b2094 (patch)
treed420e2a7cbda72359ce3f89641d7f38f1fe2a1cc /plat/nvidia/tegra/include
parent2ac7b223878502d5e05fa53f1846d7c4564ea526 (diff)
downloadplatform_external_arm-trusted-firmware-029dd14e72c0a7147ef326ae5cd24d77546b2094.tar.gz
platform_external_arm-trusted-firmware-029dd14e72c0a7147ef326ae5cd24d77546b2094.tar.bz2
platform_external_arm-trusted-firmware-029dd14e72c0a7147ef326ae5cd24d77546b2094.zip
Tegra194: add SE support to generate SHA256 of TZRAM
The BL3-1 firmware code is stored in TZSRAM on Tegra194 platforms. This memory loses power when we enter System Suspend and so its contents are stored to TZDRAM, before entry. This opens up an attack vector where the TZDRAM contents might be tampered with when we are in the System Suspend mode. To mitigate this attack the SE engine calculates the hash of entire TZSRAM and stores it in PMC scratch, before we copy data to TZDRAM. The WB0 code will validate the TZDRAM and match the hash with the one in PMC scratch. This patch adds driver for the SE engine, with APIs to calculate the hash and store to PMC scratch registers. Change-Id: I04cc0eb7f54c69d64b6c34fc2ff62e4cfbdd43b2 Signed-off-by: Jeetesh Burman <jburman@nvidia.com>
Diffstat (limited to 'plat/nvidia/tegra/include')
-rw-r--r--plat/nvidia/tegra/include/t194/tegra_def.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/plat/nvidia/tegra/include/t194/tegra_def.h b/plat/nvidia/tegra/include/t194/tegra_def.h
index 853b6536f..e262c6a9b 100644
--- a/plat/nvidia/tegra/include/t194/tegra_def.h
+++ b/plat/nvidia/tegra/include/t194/tegra_def.h
@@ -197,6 +197,14 @@
* Tegra scratch registers constants
******************************************************************************/
#define TEGRA_SCRATCH_BASE U(0x0C390000)
+#define SECURE_SCRATCH_RSV68_LO U(0x284)
+#define SECURE_SCRATCH_RSV68_HI U(0x288)
+#define SECURE_SCRATCH_RSV69_LO U(0x28C)
+#define SECURE_SCRATCH_RSV69_HI U(0x290)
+#define SECURE_SCRATCH_RSV70_LO U(0x294)
+#define SECURE_SCRATCH_RSV70_HI U(0x298)
+#define SECURE_SCRATCH_RSV71_LO U(0x29C)
+#define SECURE_SCRATCH_RSV71_HI U(0x2A0)
#define SECURE_SCRATCH_RSV72_LO U(0x2A4)
#define SECURE_SCRATCH_RSV72_HI U(0x2A8)
#define SECURE_SCRATCH_RSV75 U(0x2BC)