[coreboot-gerrit] New patch to review for coreboot: ab60c0c tegra132: lock down VPR

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Tue Apr 14 03:03:00 CEST 2015


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9660

-gerrit

commit ab60c0c0ad7e5f5fc31fdd8d1a62c3f81cf122f6
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Fri Jan 23 14:13:23 2015 -0600

    tegra132: lock down VPR
    
    The GPU MMU won't function properly until it sees the VPR
    is locked down. Therefore, do the appropriate work.
    
    BUG=None
    BRANCH=None
    TEST=Built.
    
    Change-Id: I6011c75c1e6c231f2fa416e0057cb5805a88a2bb
    Signed-off-by: Stefan Reinauer <reinauer at chromium.org>
    Original-Commit-Id: ca9cc9917b98a148442468d1d1541a0408ab6c2c
    Original-Change-Id: I3601f419b561cee392391577ef8db66b9fbd8c1b
    Original-Signed-off-by: Aaron Durbin <adurbin at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/242910
    Original-Reviewed-by: Furquan Shaikh <furquan at chromium.org>
    Original-Reviewed-by: Tom Warren <twarren at nvidia.com>
---
 src/soc/nvidia/tegra132/soc.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/soc/nvidia/tegra132/soc.c b/src/soc/nvidia/tegra132/soc.c
index a77ffbb..476dec7 100644
--- a/src/soc/nvidia/tegra132/soc.c
+++ b/src/soc/nvidia/tegra132/soc.c
@@ -30,6 +30,7 @@
 #include <soc/addressmap.h>
 #include <soc/clock.h>
 #include <soc/cpu.h>
+#include <soc/mc.h>
 #include <soc/nvidia/tegra/apbmisc.h>
 #include <string.h>
 #include <timer.h>
@@ -77,6 +78,16 @@ static struct cpu_control_ops cntrl_ops = {
 	.start_cpu = cntrl_start_cpu,
 };
 
+
+static void lock_down_vpr(void)
+{
+	struct tegra_mc_regs *regs = (void *)(uintptr_t)TEGRA_MC_BASE;
+
+	write32(0, &regs->video_protect_bom);
+	write32(0, &regs->video_protect_size_mb);
+	write32(1, &regs->video_protect_reg_ctrl);
+}
+
 static void soc_init(device_t dev)
 {
 	struct soc_nvidia_tegra132_config *cfg;
@@ -87,6 +98,9 @@ static void soc_init(device_t dev)
 	spintable_init((void *)cfg->spintable_addr);
 	arch_initialize_cpus(dev, &cntrl_ops);
 
+	/* Lock down VPR */
+	lock_down_vpr();
+
 #if IS_ENABLED(CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT)
 	if (vboot_skip_display_init())
 		printk(BIOS_INFO, "Skipping display init.\n");



More information about the coreboot-gerrit mailing list