From: Stephen Warren <swar...@nvidia.com> This series: a) Removes some unused cruft from the Tegra pinmux drivers. b) Creates a single implementation of the Tegra pinmux API thus removing a lot of duplicate code. c) Auto-generates the Tegra30/114/124 pinmux data from the same data source used to auto-generate the Linux kernel pinmux drivers. This ensures that the two SW stacks are consistent. The data source has also been validated against the TRM, and some issues in the existing U-Boot data tables are fixed due to this.
(a) and (b) together remove over 1700 lines of code! So far, I haven't looked at the content of the per-board pinmux config tables in detail; I've just fixed issues in the drivers. I will be validating the board configurations next, and will send patches to fix any issues I find in those too. Stephen Warren (13): ARM: tegra: pinctrl: remove func_safe ARM: tegra: pinctrl: remove vddio ARM: tegra: pinctrl: make pmux_func values consistent on Tegra20 ARM: tegra: prototype pinmux_init() in board.h ARM: tegra: use apb_misc.h in more places ARM: tegra: pinctrl: remove duplication ARM: tegra: reduce public pinmux API ARM: tegra: pinmux naming consistency fixes ARM: tegra: use clrsetbits_le32 in pinmux driver ARM: tegra: Tegra20 pinmux cleanup ARM: tegra: Tegra30 pinmux cleanup ARM: tegra: Tegra114 pinmux cleanup ARM: tegra: Tegra124 pinmux cleanup arch/arm/cpu/arm720t/tegra-common/spl.c | 6 +- arch/arm/cpu/arm720t/tegra114/cpu.c | 4 +- arch/arm/cpu/arm720t/tegra124/cpu.c | 4 +- arch/arm/cpu/tegra-common/Makefile | 6 +- arch/arm/cpu/tegra-common/pinmux-common.c | 420 +++++++++ arch/arm/cpu/tegra114-common/funcmux.c | 32 +- arch/arm/cpu/tegra114-common/pinmux.c | 895 +++++-------------- arch/arm/cpu/tegra124-common/funcmux.c | 38 +- arch/arm/cpu/tegra124-common/pinmux.c | 898 +++++-------------- arch/arm/cpu/tegra20-common/emc.c | 2 +- arch/arm/cpu/tegra20-common/funcmux.c | 185 ++-- arch/arm/cpu/tegra20-common/pinmux.c | 416 +++------ arch/arm/cpu/tegra20-common/warmboot.c | 8 +- arch/arm/cpu/tegra20-common/warmboot_avp.c | 6 +- arch/arm/cpu/tegra30-common/funcmux.c | 20 +- arch/arm/cpu/tegra30-common/pinmux.c | 948 ++++++-------------- .../asm/{arch-tegra20 => arch-tegra}/apb_misc.h | 2 + arch/arm/include/asm/arch-tegra/board.h | 1 + arch/arm/include/asm/arch-tegra/pinmux.h | 185 ++++ arch/arm/include/asm/arch-tegra114/pinmux.h | 828 ++++++------------ arch/arm/include/asm/arch-tegra124/pinmux.h | 858 +++++++----------- arch/arm/include/asm/arch-tegra20/pinmux.h | 380 +++----- arch/arm/include/asm/arch-tegra30/pinmux.h | 955 ++++++++------------- .../common/pinmux-config-tamonten-ng.h | 492 +++++------ board/avionic-design/common/tamonten-ng.c | 12 +- board/avionic-design/common/tamonten.c | 4 +- board/compal/paz00/paz00.c | 22 +- board/compulab/trimslice/trimslice.c | 4 +- board/nvidia/cardhu/cardhu.c | 6 +- board/nvidia/cardhu/pinmux-config-cardhu.h | 498 +++++------ board/nvidia/common/board.c | 8 +- board/nvidia/dalmore/dalmore.c | 9 +- board/nvidia/dalmore/pinmux-config-dalmore.h | 388 ++++----- board/nvidia/harmony/harmony.c | 18 +- board/nvidia/seaboard/seaboard.c | 6 +- board/nvidia/venice2/pinmux-config-venice2.h | 360 ++++---- board/nvidia/venice2/venice2.c | 15 +- .../colibri_t20-common/colibri_t20-common.c | 8 +- board/toradex/colibri_t20_iris/colibri_t20_iris.c | 4 +- drivers/spi/tegra20_sflash.c | 6 +- drivers/video/tegra.c | 4 +- 41 files changed, 3615 insertions(+), 5346 deletions(-) create mode 100644 arch/arm/cpu/tegra-common/pinmux-common.c rename arch/arm/include/asm/{arch-tegra20 => arch-tegra}/apb_misc.h (87%) create mode 100644 arch/arm/include/asm/arch-tegra/pinmux.h -- 1.8.1.5 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot