summaryrefslogtreecommitdiff
path: root/src/mainboard/google
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2013-09-18 05:48:37 -0700
committerIsaac Christensen <isaac.christensen@se-eng.com>2014-08-18 19:25:57 +0200
commit8128a56c0ec7e147d4ad68e6ba55979e9ead25ae (patch)
tree696f0d9e2d76a73cf3685570d823b70faa4e6dde /src/mainboard/google
parente97b6835f4dcd70ebf23941fb2f56c0d9d1d3e97 (diff)
trustzone: Pull trustzone init out of cpu.c and do it in romstage.
Trustzone needs to be initialized/disabled both on boot and on wake, so it needs to be done before ramstage which doesn't run on wake. cpu.c isn't compiled into romstage and fixing that causes other problems, so the trustzone functions were split out. Change-Id: I8fc630237ebec1f02a91600f8baf3d4e9ea66d0e Signed-off-by: Gabe Black <gabeblack@google.com> Reviewed-on: https://chromium-review.googlesource.com/169817 Reviewed-by: Gabe Black <gabeblack@chromium.org> Tested-by: Gabe Black <gabeblack@chromium.org> Commit-Queue: Gabe Black <gabeblack@chromium.org> (cherry picked from commit 055ed0e28476123b0bd666109af90baf40aadcee) Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com> Reviewed-on: http://review.coreboot.org/6666 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/mainboard/google')
-rw-r--r--src/mainboard/google/pit/romstage.c3
-rw-r--r--src/mainboard/google/snow/romstage.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/src/mainboard/google/pit/romstage.c b/src/mainboard/google/pit/romstage.c
index 7967a559f2..7e096a79aa 100644
--- a/src/mainboard/google/pit/romstage.c
+++ b/src/mainboard/google/pit/romstage.c
@@ -33,6 +33,7 @@
#include <cpu/samsung/exynos5420/setup.h>
#include <cpu/samsung/exynos5420/periph.h>
#include <cpu/samsung/exynos5420/power.h>
+#include <cpu/samsung/exynos5420/trustzone.h>
#include <cpu/samsung/exynos5420/wakeup.h>
#include <console/console.h>
#include <arch/stages.h>
@@ -252,6 +253,8 @@ void main(void)
primitive_mem_test();
+ trustzone_init();
+
if (is_resume) {
wakeup();
}
diff --git a/src/mainboard/google/snow/romstage.c b/src/mainboard/google/snow/romstage.c
index 44074c58bf..1c49d35e9f 100644
--- a/src/mainboard/google/snow/romstage.c
+++ b/src/mainboard/google/snow/romstage.c
@@ -32,6 +32,7 @@
#include <cpu/samsung/exynos5250/setup.h>
#include <cpu/samsung/exynos5250/periph.h>
#include <cpu/samsung/exynos5250/power.h>
+#include <cpu/samsung/exynos5250/trustzone.h>
#include <cpu/samsung/exynos5250/wakeup.h>
#include <console/console.h>
#include <arch/stages.h>
@@ -154,6 +155,9 @@ void main(void)
setup_power(is_resume);
setup_memory(mem, is_resume);
+ /* This needs to happen on normal boots and on resume. */
+ trustzone_init();
+
if (is_resume) {
wakeup();
}