[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
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