[U-Boot] [PATCH 0/9] ARM: tegra: pinmux: Tegra210 support

Simon Glass sjg at chromium.org
Sat Feb 28 06:12:39 CET 2015


Hi Stephen,

On 25 February 2015 at 20:44, Stephen Warren <swarren at wwwdotorg.org> wrote:
> On 02/25/2015 05:54 PM, Simon Glass wrote:
>> On 24 February 2015 at 17:06, Stephen Warren <swarren at wwwdotorg.org> wrote:
>>> On 02/24/2015 04:44 PM, Simon Glass wrote:
>>>> On 24 February 2015 at 14:08, Stephen Warren <swarren at wwwdotorg.org>
>>>> wrote:
>>>>> This series performs a few small cleanups to or parameterizations of the
>>>>> existing Tegra pinmux driver, and adds Tegra210 support. The Tegra210
>>>>> code isn't actually used yet, since the balance of the Tegra210 support
>>>>> is not yet present. However, it should start appearing soon.
> ...
>>>>> Stephen Warren (9):
>>>>>    ARM: tegra: pinmux: add note re: drive group field defines
>>>>>    ARM: tegra: pinmux: simplify some defines
>>>>>    ARM: tegra: pinmux: handle feature removal on newer SoCs
>>>>>    ARM: tegra: pinmux: move some type definitions
>>>>>    ARM: tegra: pinmux: partially handle varying register layouts
>>>>>    ARM: tegra: pinmux: support hsm/schmitt on pins
>>>>>    ARM: tegra: pinmux: account for different drivegroup base registers
>>>>>    ARM: tegra: pinmux: support Tegra210's e_io_hv pin option
>>>>>    ARM: tegra: pinmux: add Tegra210 support
>>>>
>>>> Does the Linux side look similar to this? The use of #defines seem
>>>> like a potential temporary solution but I hope it doesn't stay that
>>>> way.
> ...
>>> The Linux side was already a bit more parameterized, so the Tegra210 support
>>> series doesn't have as many patches as the U-Boot series. However, that
>>> comes at the cost of the per-SoC "drivers" having much larger data tables,
>>> so I don't expect we'd want to adopt in U-Boot the same level of driver
>>> parameterization as Linux.
>>
>> I see - do you know how much bigger the tables are?
>
> Kernel per-SoC files:
>
>    text    data     bss     dec     hex filename
>   25532    1068       0   26600    67e8 pinctrl-tegra30.o
>   18744    1032       0   19776    4d40 pinctrl-tegra114.o
>   19868    1128       0   20996    5204 pinctrl-tegra124.o
>   16296     972       0   17268    4374 pinctrl-tegra210.o
>
> U-Boot per-SoC files, although these could actually be reduced to zero
> if we re-wrote the per-board pinmux tables to use FUNC0..3 enums (i.e.
> raw HW register mux values) and hence got rid of the need to map a mux
> enum to FUNC0..3 values. Auto-generation of the per-board files would
> make pretty easy, if all boards were in tegra-pinmux-scripts.
>
>    text    data     bss     dec     hex filename
>     996       4       0    1000     3e8 .../tegra30/pinmux.o
>    1036       4       0    1040     410 .../tegra114/pinmux.o
>    1076       4       0    1080     438 .../tegra124/pinmux.o

Wow that's pretty compelling! I suppose removing the #ifdefs wouldn't
bloat it that much, but it sounds like we should stick with what you
have.

Regards,
Simon


More information about the U-Boot mailing list