From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Date: Wed, 13 Apr 2016 16:04:34 +0200 Subject: [U-Boot] [PATCH] ARM: tegra: enable GPU node by compatible value In-Reply-To: <1460481459-10552-1-git-send-email-swarren@wwwdotorg.org> References: <1460481459-10552-1-git-send-email-swarren@wwwdotorg.org> Message-ID: <20160413140433.GB24776@ulmo.ba.sec> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tue, Apr 12, 2016 at 11:17:39AM -0600, Stephen Warren wrote: > From: Stephen Warren > > In current Linux kernel Tegra DT files, 64-bit addresses are represented > in unit addresses as a pair of comma-separated 32-bit values. Apparently > this is no longer the correct representation for simple busses, and the > unit address should be represented as a single 64-bit value. If this is > changed in the DTs, arm/arm/mach-tegra/board2.c:ft_system_setup() will no > longer be able to find and enable the GPU node, since it looks up the node > by name. > > Fix that function to enable nodes based on their compatible value rather > than their node name. This will work no matter what the node name is, i.e > for DTs both before and after any rename operation. > > Cc: Thierry Reding > Cc: Alexandre Courbot > Signed-off-by: Stephen Warren > --- > arch/arm/include/asm/arch-tegra/gpu.h | 2 +- > arch/arm/mach-tegra/board2.c | 20 +++++++++++++------- > arch/arm/mach-tegra/gpu.c | 15 ++++++++------- > 3 files changed, 22 insertions(+), 15 deletions(-) > > diff --git a/arch/arm/include/asm/arch-tegra/gpu.h b/arch/arm/include/asm/arch-tegra/gpu.h > index 4423386f2805..6be9f6157b36 100644 > --- a/arch/arm/include/asm/arch-tegra/gpu.h > +++ b/arch/arm/include/asm/arch-tegra/gpu.h > @@ -26,7 +26,7 @@ int tegra_gpu_enable_node(void *blob, const char *gpupath); > > #else /* CONFIG_OF_LIBFDT */ > > -static inline int tegra_gpu_enable_node(void *blob, const char *gpupath) > +static inline int tegra_gpu_enable_node(void *blob, const char *compat) > { > return 0; > } > diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c > index ac274e17e8bd..141d6e1cb555 100644 > --- a/arch/arm/mach-tegra/board2.c > +++ b/arch/arm/mach-tegra/board2.c > @@ -404,16 +404,22 @@ ulong board_get_usable_ram_top(ulong total_size) > */ > int ft_system_setup(void *blob, bd_t *bd) > { > - const char *gpu_path = > -#if defined(CONFIG_TEGRA124) || defined(CONFIG_TEGRA210) > - "/gpu at 0,57000000"; > -#else > - NULL; > + const char *gpu_compats[] = { > +#if defined(CONFIG_TEGRA124) > + "nvidia,gk20a", > +#endif > +#if defined(CONFIG_TEGRA210) > + "nvidia,gm20b", > #endif > + }; > + int i, ret; Perhaps unsigned int for i, but meh... Reviewed-by: Thierry Reding -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: