RE: [PATCH 06/10] arm/tegra: prepare pinmux code for multiple tegra variants
From: Stephen Warren <hidden>
Date: 2011-11-21 17:24:59
Also in:
linux-arm-kernel, linux-tegra, lkml
From: Stephen Warren <hidden>
Date: 2011-11-21 17:24:59
Also in:
linux-arm-kernel, linux-tegra, lkml
Peter De Schrijver wrote at Monday, November 21, 2011 7:29 AM:
On Fri, Nov 18, 2011 at 10:41:16PM +0100, Olof Johansson wrote:quoted
On Thu, Nov 17, 2011 at 06:19:20PM +0200, Peter De Schrijver wrote:quoted
This patch modifies the pinmux code to be useable for multiple tegra variants. Some tegra20 specific constants will be replaced by variables which will be initialized to the appropriate value at runtime.
...
quoted
quoted
diff --git a/arch/arm/mach-tegra/board-harmony-pcie.c b/arch/arm/mach-tegra/board-harmony-pcie.c
...
quoted
quoted
+#include <mach/pinmux-tegra20.h>Boards shouldn't have to include this. The idea is that you should only have to do board code against the pinmux.h interface, which internally abstracts it for tegra 20 vs tegra 30.The pinmux naming is still SoC specific. Unless we move this to devicetree (which should be part of a different patchset), I don't see how we can solve this, except by renaming all the pingroups. That would cause a lot more changes though.
I believe that Peter's explanation makes sense. BTW, re: the new pinmux API: I have a driver for both Tegra20 and Tegra30 now which should work for muxing. All the data is present for all the pin configs too (tri-state, pull, ...) but we need to define the core pinctrl API for this before I can expose that. Similarly, we need DT bindings for all of this before we can make use of it; something I hope to start work on in the near future. -- nvpublic