diff options
author | Stephen Warren <swarren@nvidia.com> | 2016-08-08 10:38:34 -0600 |
---|---|---|
committer | Tom Warren <twarren@nvidia.com> | 2016-08-15 10:26:13 -0700 |
commit | 9889862545a0de2e6cf0fdf6171412cafc46c218 (patch) | |
tree | 64552ec21c82fc1e5702b3504c70cf5c447def57 /arch/arm/mach-tegra/dt-setup.c | |
parent | a6bb0084c2797b1e16403e2e812737ca1fb37669 (diff) | |
download | u-boot-9889862545a0de2e6cf0fdf6171412cafc46c218.tar.gz |
ARM: tegra: move ft_system_setup()
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@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/dt-setup.c')
-rw-r--r-- | arch/arm/mach-tegra/dt-setup.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/dt-setup.c b/arch/arm/mach-tegra/dt-setup.c new file mode 100644 index 0000000000..f44d9cb04d --- /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; +} |