[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110427215509.GE17290@n2100.arm.linux.org.uk>
Date: Wed, 27 Apr 2011 22:55:09 +0100
From: Russell King - ARM Linux <linux@....linux.org.uk>
To: Alan Cox <alan@...rguk.ukuu.org.uk>
Cc: Linus Walleij <linus.walleij@...aro.org>,
Kyungmin Park <kmpark@...radead.org>,
linux-kernel@...r.kernel.org,
Haojian Zhuang <haojian.zhuang@...il.com>,
Grant Likely <grant.likely@...retlab.ca>,
Ben Nizette <bn@...sdigital.com>,
Lee Jones <lee.jones@...aro.org>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH 1/2] gpio: add pin biasing and drive mode to gpiolib
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists