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

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

From: Linus Walleij <hidden>
Date: 2011-08-16 14:45:45
Also in: linux-arm-kernel, linux-tegra, lkml

On Tue, Aug 16, 2011 at 4:37 PM, Arnd Bergmann [off-list ref] wrote:
On Tuesday 16 August 2011, Linus Walleij wrote:
quoted
Say mmc instance 0 need pingroup foo on pincontroller bar
means that there must be a specific reference from mmc.0:s
struct device * to pinctrl bar:s struct device *. Maybe this is
peanuts in DT, sorry not enough insight.
I think what you are looking for is the equivalent of the
interrupt-parent property for pinmux. The idea is that each
node in the device tree can point to a device managing the
pinmux, so reference would point to a local number in that
space. We have discussed this for the GPIO case already, and
I suspect that the two should be identical (gpio-controller
and pinmux-controller using the same device node and same
property to refer to them).
Yes. I discussed with Grant and his idea is for e.g.
advanced combined pincontrol + GPIO blocks that handle
a lot of stuff like muxing, biasing and GPIO, to expose
a single pinctrl device that in turn provide also a gpio_chip
in addition to the pinctrl interfaces so tehy should be
all on the same struct device *
Since the pinmux-parent
(gpio-parent, ...) property gets inherited by all child
devices, you only need to set it once at the root of the
device tree for the simple case where there is only one
controller.
This will likely be the case for most of the advanced muxes
I know of, OMAP, Tegra and Nomadik.

Thanks,
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