mx31: rework of iomux support
authorValentin Longchamp <valentin.longchamp@epfl.ch>
Wed, 28 Jan 2009 14:13:50 +0000 (15:13 +0100)
committerSascha Hauer <s.hauer@pengutronix.de>
Fri, 13 Mar 2009 09:34:00 +0000 (10:34 +0100)
commitb7222631c3d0fd26e6d85dd78b1d0aa10dc64929
tree7b2469bb834187e7a4386eb7455cfc17605acef5
parent41a1d91e7e7b08a13d78e03e67dcd7634f2d5cca
mx31: rework of iomux support

This new implemenatation avoids that two physical pins are claimed by
the same driver (also with the the gpr hardware modes).
The gpio kernel lib is also called when a capable gpio pin is assigned
its gpio function.
The mxc_iomux_mode function is still here for backward compatibility but
should not be used anymore.

V2:

In the precendent revision, the iomux code was claiming a pin when its
hardware mode was changed. This was uncorrect: when the hardware mode is
changed, the pin must still be claimed through the iomux.

In order to have a pin working in mode hw2, we must fist issue the
mxc_iomux_set_gpr call and then the corresponding mxc_iomux_mode calls
with the FUNC mode (usually done with mxc_iomux_setup_multiple_pins).
The reverse calls must be done to fee the pins.

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
arch/arm/mach-mx3/iomux.c
arch/arm/plat-mxc/include/mach/iomux-mx3.h