[U-Boot] [PATCH 55/60] i2c: tegra: move pinmux setup to board files

Stephen Warren
2016-04-27T16:24:59Z

On 04/27/2016 09:12 AM, Simon Glass wrote:
> Hi Stephen,
>
> On 19 April 2016 at 14:59, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> From: Stephen Warren <swarren@nvidia.com>
>>
>> Remove funcmux calls from the Tegra I2C driver. Knowledge of pinmux
>> setup must come from either board files or DT; it should not be embedded
>> into board-agnostic driver code. The DT pinmux bindings do not allow
>> drivers to derive funcmux-style information, since the DT bindings are
>> pin-based whereas funcmux is controller-based, so there's no good way to
>> call the existing funcmux APIs from drivers. Converting drivers to use a
>> new (as yet non-existent in U-Boot) API that pulls pinmux information from
>> DT isn't useful for Tegra, since Tegra's DT files don't contain any
>> per-device pinmux tables, so this would simply be extra code that has no
>> effect; doesn't actually set up the pinmux. We are left with moving the
>> pinmux setup functionality into board files. In theory the board files
>> could be converted later to use DT, but that would be a separate change.
>>
>> Signed-off-by: Stephen Warren <swarren@nvidia.com>
>> ---
>> board/avionic-design/common/tamonten.c | 5 +++++
>> board/nvidia/seaboard/seaboard.c | 3 +++
>> board/nvidia/whistler/whistler.c | 1 +
>> board/toradex/colibri_t20/colibri_t20.c | 3 +++
>> drivers/i2c/tegra_i2c.c | 19 -------------------
>> 5 files changed, 12 insertions(+), 19 deletions(-)
>
> This should use driver model, which handles pinmux automatically if
> you have a pinctrl driver.

Can you define "automatic"? I don't understand exactly which benefit
you're describing there.

I'd rather keep this series as simple cleanup of existing code, and
handle any large-scale DM conversions separately later. That said, as
full disclosure, I'm certainly not signing up for any more work on
pinctrl, especially if it involves reading the pinmux tables from DT, as
I see no benefit in that. Note that in future chips the boot ROM will
handle 100% of static pinmux setup so there won't be a U-Boot driver for
those SoCs going forward. I'd rather not invest any more than minimal
effort in something that's going away.