[PATCH 3/4] ARM: tegra: Switch to new pinctrl driver
Olof Johansson
olof at lixom.net
Tue Jan 24 17:44:25 EST 2012
On Tue, Jan 24, 2012 at 2:36 PM, Linus Walleij <linus.walleij at linaro.org> wrote:
> On Fri, Jan 20, 2012 at 7:22 PM, Stephen Warren <swarren at nvidia.com> wrote:
>
>> * Rename old pinmux and new pinctrl platform driver and DT match table
>> entries, so the new driver gets instantiated.
>> * Re-write board-pinmux.c, so that it uses pinctrl APIs to configura the
>> pinmux.
>> * Re-write board-*-pinmux.c so that the pinmux configuration tables are
>> in pinctrl format.
>>
>> Ventana's pin mux table needed some edits on top of the basic format
>> conversion, since some mux options that were previously marked as
>> reserved are now valid in the new pinctrl driver. Attempting to use the
>> old reserved names will result in a failure. Specifically, groups lpw0,
>> lpw2, lsc1, lsck, and lsda were changed from function rsvd4 to displaya,
>> and group pta was changed from function rsvd2 to hdmi.
>>
>> All boards' pin mux tables needed some edits on top of the based format
>> conversion, since function i2c was split into i2c1 (first general I2C
>> controller) and i2cp (power I2C controller) to better align function
>> definitions with HW blocks.
>>
>> Due to the split of mux tables into pure mux and pull/tristate tables,
>> many entries in the separate Seaboard/Ventana tables could be merged
>> into the common table, since the entries differed only in the portion
>> in one of the tables, not both.
>>
>> Most pin groups allow configuration of mux, tri-state, and pull. However,
>> some don't allow pull configuration, which is instead configured by new
>> groups that only allow pull configuration. This is a reflection of the
>> true HW capabilities, which weren't fully represented by the old pinmux
>> driver. This required adding new pull table entries for those new groups,
>> and setting many other entries' pull configuration to
>> TEGRA_PINCONFIG_DONT_SET.
>>
>> Signed-off-by: Stephen Warren <swarren at nvidia.com>
>> ---
>> arch/arm/mach-tegra/board-harmony-pinmux.c | 362 ++++++++++++++-------
>> arch/arm/mach-tegra/board-paz00-pinmux.c | 362 ++++++++++++++-------
>> arch/arm/mach-tegra/board-pinmux.c | 62 ++++-
>> arch/arm/mach-tegra/board-pinmux.h | 39 ++-
>> arch/arm/mach-tegra/board-seaboard-pinmux.c | 442 ++++++++++++++++---------
>> arch/arm/mach-tegra/board-trimslice-pinmux.c | 366 ++++++++++++++--------
>> arch/arm/mach-tegra/pinmux.c | 6 +-
>> drivers/pinctrl/pinctrl-tegra.c | 6 +-
>> 8 files changed, 1095 insertions(+), 550 deletions(-)
>
> Can I have Colin's or Olof's ACK on this Tegra stuff too?
> Would feel better...
>
> Acked-by: Linus Walleij <linus.walleij at linaro.org>
Yup, I've just been waiting on things to settle,
bindings/implementation wise. Will look at it over the next day or two
and get back.
-Olof
More information about the linux-arm-kernel
mailing list