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

Stephen Warren
2015-02-26T03:44:07Z

On 02/25/2015 05:54 PM, Simon Glass wrote:
> On 24 February 2015 at 17:06, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> On 02/24/2015 04:44 PM, Simon Glass wrote:
>>> On 24 February 2015 at 14:08, Stephen Warren <swarren@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