From 8128a56c0ec7e147d4ad68e6ba55979e9ead25ae Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 18 Sep 2013 05:48:37 -0700 Subject: 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 Reviewed-on: https://chromium-review.googlesource.com/169817 Reviewed-by: Gabe Black Tested-by: Gabe Black Commit-Queue: Gabe Black (cherry picked from commit 055ed0e28476123b0bd666109af90baf40aadcee) Signed-off-by: Isaac Christensen Reviewed-on: http://review.coreboot.org/6666 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer Reviewed-by: Ronald G. Minnich --- src/cpu/samsung/exynos5420/cpu.c | 22 ---------------------- 1 file changed, 22 deletions(-) (limited to 'src/cpu/samsung/exynos5420/cpu.c') diff --git a/src/cpu/samsung/exynos5420/cpu.c b/src/cpu/samsung/exynos5420/cpu.c index a0c33ca378..bfb8421910 100644 --- a/src/cpu/samsung/exynos5420/cpu.c +++ b/src/cpu/samsung/exynos5420/cpu.c @@ -37,26 +37,6 @@ static unsigned int cpu_id; static unsigned int cpu_rev; -/* Setting TZPC[TrustZone Protection Controller] - * We pretty much disable it all, as the kernel - * expects it that way -- and that's not the default. - */ -static void tzpc_init(void) -{ - struct exynos_tzpc *tzpc; - unsigned int addr; - - for (addr = TZPC10_BASE; addr <= TZPC9_BASE; addr += TZPC_BASE_OFFSET) { - tzpc = (struct exynos_tzpc *)addr; - if (addr == TZPC0_BASE) - writel(R0SIZE, &tzpc->r0size); - writel(DECPROTXSET, &tzpc->decprot0set); - writel(DECPROTXSET, &tzpc->decprot1set); - writel(DECPROTXSET, &tzpc->decprot2set); - writel(DECPROTXSET, &tzpc->decprot3set); - } -} - static void set_cpu_id(void) { u32 pro_id = (read32((void *)EXYNOS5_PRO_ID) & 0x00FFF000) >> 12; @@ -172,8 +152,6 @@ static void cpu_enable(device_t dev) exynos_displayport_init(dev, lcdbase, fb_size); set_cpu_id(); - - tzpc_init(); } static void cpu_init(device_t dev) -- cgit v1.2.3