linux/arch/arm/mach-tegra
Colin Cross c5f04b8d10 [ARM] tegra: pinmux: add safe values, move tegra2, add suspend
- the reset values for some pin groups in the tegra pin mux can result in
functional errors due to conflicting with actively-configured pin groups
muxing from the same controller. this change adds a known safe, non-
conflicting mux for every pin group, which can be used on platforms
where the pin group is not routed to any peripheral

- also add each pin group's I/O voltage rail, to enable platform code to
map from the pin groups used by each interface to the regulators used
for dynamic voltage control

- add routines to individually configure the tristate, pin mux and pull-
ups for a pingroup_config array, so that it is possible to program
individual values at run-time without modifying other values.
this allows driver power-management code to reprogram individual
interfaces into lower power states during idle / suspend, or to
reprogram the pin mux to support multiple physical busses per
internal controller (e.g., sharing a single I2C or SPI controller
across multiple pin groups)

- move chip-specific data like pingroups and drive-pingroups
out of the common code and into chip-specific code

- fix debug output for group with no pullups

- add a TEGRA_MUX_SAFE function.  Setting a pingroup to TEGRA_MUX_SAFE
will automatically select a mux setting that is guaranteed not to
conflict with any of the hardware blocks.

Signed-off-by: Gary King <gking@nvidia.com>
2010-10-21 18:11:41 -07:00
..
include/mach [ARM] tegra: pinmux: add safe values, move tegra2, add suspend 2010-10-21 18:11:41 -07:00
board-harmony-pinmux.c [ARM] tegra: harmony: Add harmony board file 2010-08-05 14:57:02 -07:00
board-harmony.c arm: remove machine_desc.io_pg_offst and .phys_io 2010-10-20 00:27:46 -04:00
board-harmony.h [ARM] tegra: harmony: Add harmony board file 2010-08-05 14:57:02 -07:00
board.h [ARM] tegra: initial tegra support 2010-08-05 14:51:42 -07:00
clock.c [ARM] tegra: Add clock support 2010-08-05 14:51:42 -07:00
clock.h [ARM] tegra: Add clock support 2010-08-05 14:51:42 -07:00
common.c [ARM] tegra: Add clock support 2010-08-05 14:51:42 -07:00
gpio-names.h [ARM] tegra: add GPIO support 2010-08-05 14:57:02 -07:00
gpio.c [ARM] tegra: add GPIO support 2010-08-05 14:57:02 -07:00
headsmp.S [ARM] tegra: SMP support 2010-08-05 14:57:01 -07:00
hotplug.c [ARM] tegra: SMP support 2010-08-05 14:57:01 -07:00
io.c [ARM] tegra: update iomap 2010-10-21 18:11:24 -07:00
irq.c [ARM] tegra: add suspend and mirror irqs to legacy controller 2010-10-21 18:11:31 -07:00
Kconfig [ARM] tegra: add GPIO support 2010-08-05 14:57:02 -07:00
legacy_irq.c [ARM] tegra: Add legacy irq support 2010-10-21 18:11:29 -07:00
localtimer.c [ARM] tegra: SMP support 2010-08-05 14:57:01 -07:00
Makefile [ARM] tegra: pinmux: add safe values, move tegra2, add suspend 2010-10-21 18:11:41 -07:00
Makefile.boot [ARM] tegra: initial tegra support 2010-08-05 14:51:42 -07:00
pinmux-t2-tables.c [ARM] tegra: pinmux: add safe values, move tegra2, add suspend 2010-10-21 18:11:41 -07:00
pinmux.c [ARM] tegra: pinmux: add safe values, move tegra2, add suspend 2010-10-21 18:11:41 -07:00
platsmp.c [ARM] tegra: SMP support 2010-08-05 14:57:01 -07:00
tegra2_clocks.c [ARM] tegra: Add clock support 2010-08-05 14:51:42 -07:00
timer.c [ARM] tegra: Add timer support 2010-08-05 14:57:02 -07:00