[U-Boot] [PATCH] ARM: tegra: move ft_system_setup()

Stephen Warren swarren at wwwdotorg.org
Mon Aug 8 18:38:34 CEST 2016


From: Stephen Warren <swarren at nvidia.com>

Currently, ft_system_setup() is implemented by board*.c, which are a bit
of a dumping ground for a bunch of unrelated functionality, and separate
versions exist for pre-Tegra186 and Tegra186. Move the implementation into
a separate file to separate functionality, and allow sharing.

Signed-off-by: Stephen Warren <swarren at nvidia.com>
---
 arch/arm/mach-tegra/Makefile   |  1 +
 arch/arm/mach-tegra/board186.c |  5 -----
 arch/arm/mach-tegra/board2.c   | 26 --------------------------
 arch/arm/mach-tegra/dt-setup.c | 34 ++++++++++++++++++++++++++++++++++
 4 files changed, 35 insertions(+), 31 deletions(-)
 create mode 100644 arch/arm/mach-tegra/dt-setup.c

diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile
index d0bf5a6e75ef..b978fec0754a 100644
--- a/arch/arm/mach-tegra/Makefile
+++ b/arch/arm/mach-tegra/Makefile
@@ -25,6 +25,7 @@ obj-y += xusb-padctl-dummy.o
 endif
 
 obj-$(CONFIG_ARM64) += arm64-mmu.o
+obj-y += dt-setup.o
 obj-$(CONFIG_TEGRA_CLOCK_SCALING) += emc.o
 obj-$(CONFIG_TEGRA_GPU) += gpu.o
 obj-$(CONFIG_TEGRA_IVC) += ivc.o
diff --git a/arch/arm/mach-tegra/board186.c b/arch/arm/mach-tegra/board186.c
index a7583d443833..1b9799fd80c2 100644
--- a/arch/arm/mach-tegra/board186.c
+++ b/arch/arm/mach-tegra/board186.c
@@ -41,8 +41,3 @@ int board_mmc_init(bd_t *bd)
 
 	return 0;
 }
-
-int ft_system_setup(void *blob, bd_t *bd)
-{
-	return 0;
-}
diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c
index 141d6e1cb555..9158ace44c42 100644
--- a/arch/arm/mach-tegra/board2.c
+++ b/arch/arm/mach-tegra/board2.c
@@ -397,29 +397,3 @@ ulong board_get_usable_ram_top(ulong total_size)
 {
 	return CONFIG_SYS_SDRAM_BASE + usable_ram_size_below_4g();
 }
-
-/*
- * 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, bd_t *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;
-}
diff --git a/arch/arm/mach-tegra/dt-setup.c b/arch/arm/mach-tegra/dt-setup.c
new file mode 100644
index 000000000000..f44d9cb04d61
--- /dev/null
+++ b/arch/arm/mach-tegra/dt-setup.c
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2010-2016, NVIDIA CORPORATION.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#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, bd_t *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;
+}
-- 
2.9.2



More information about the U-Boot mailing list