[PATCH 1/2] gpio: add pin biasing and drive mode to gpiolib
Russell King - ARM Linux
linux at arm.linux.org.uk
Wed Apr 27 17:55:09 EDT 2011
On Wed, Apr 20, 2011 at 04:32:38PM +0100, Alan Cox wrote:
> > Even if some people are only muxing pins that can also be used as GPIO,
> > this is not always the case. We can shunt out the same pins to be used as
> > I2C or SPI for example, that means this cannot be handled in a GPIO
> > driver since it has nothing to do with GPIO pins at all.
> It sounds very much to me like it belongs in the GPIO driver. That is the
> one piece of code which knows what it is doing for all this configuration.
I don't think so. See PXA devices, where MFP (multifunction pin)
configuration is entirely separate from GPIO - and there's some MFPs
which don't even have GPIOs associated with them.
If I'm reading the PXA930 MFP header file right, it also appears that
GPIOs can be configured on to multiple different pins (eg, GPIO46 can
be on GPIO46 or DF_nWE. So refering to GPIO46 does not give you
sufficient information for exactly what pin is to be configured here.
To complicate matters, MFP configuration on PXA deals with stuff like
low power mode configuration, drive strength, etc which is completely
independent of the GPIO layer.
More information about the linux-arm-kernel