aboutsummaryrefslogtreecommitdiffstats
path: root/roms/u-boot/arch/arm/mach-tegra/dt-setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'roms/u-boot/arch/arm/mach-tegra/dt-setup.c')
-rw-r--r--roms/u-boot/arch/arm/mach-tegra/dt-setup.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/roms/u-boot/arch/arm/mach-tegra/dt-setup.c b/roms/u-boot/arch/arm/mach-tegra/dt-setup.c
new file mode 100644
index 000000000..602b20e6b
--- /dev/null
+++ b/roms/u-boot/arch/arm/mach-tegra/dt-setup.c
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (c) 2010-2016, NVIDIA CORPORATION.
+ */
+
+#include <common.h>
+#include <asm/arch-tegra/gpu.h>
+
+/*
+ * This function is called right before the kernel is booted. "blob" is the
+ * device tree that will be passed to the kernel.
+ */
+int ft_system_setup(void *blob, struct bd_info *bd)
+{
+ const char *gpu_compats[] = {
+#if defined(CONFIG_TEGRA124)
+ "nvidia,gk20a",
+#endif
+#if defined(CONFIG_TEGRA210)
+ "nvidia,gm20b",
+#endif
+ };
+ int i, ret;
+
+ /* Enable GPU node if GPU setup has been performed */
+ for (i = 0; i < ARRAY_SIZE(gpu_compats); i++) {
+ ret = tegra_gpu_enable_node(blob, gpu_compats[i]);
+ if (ret)
+ return ret;
+ }
+
+ return 0;
+}