Thread (41 messages) 41 messages, 7 authors, 2011-08-23

[RFC PATCH v2 00/13] arm/tegra: Initialize GPIO & pinmux from DT

From: Linus Walleij <hidden>
Date: 2011-08-23 20:00:39
Also in: linux-devicetree, linux-tegra, lkml

2011/8/23 Stephen Warren [off-list ref]:
Linus Walleij wrote at Tuesday, August 23, 2011 6:51 AM:
quoted
Each GPIO chip may have it's respective pin controller as parent
                               ^^^^^
quoted
I guess, or they may simply be the same struct device * whatdoIknow.
I'm not clear on why the GPIO and pinmux would have any kind of parent
relationship. Perhaps that's how your HW is designed. In Tegra, GPIO
and pinmux are completely separate HW blocks without much of a defined
relationship.

I can certainly see both being implemented by the same code if it makes
sense to do so. On Tegra, I think I'd still lean towards keeping them
as separate devices, since they have separate register spaces and are
documented separately etc. However, I can certainly see that other HW
might have both sets of functionality in one HW block.
Makes sense, for U300 I will probably also keep them separate
like this:

pinctrl.0 - deal with muxing
pinctrl.1 - deal with biasing, driving etc
gpio.0 - the GPIO driver using both of the above, no relationship

The only thing they have in common is some relation to the
global GPIO pin space. (When/if we get rid of that - something
better.)

Yours,
Linus Walleij
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help