Messages in this thread | | | From | Stephen Warren <> | Date | Fri, 27 Jan 2012 08:58:47 -0800 | Subject | RE: Pinmux bindings proposal |
| |
Linus Walleij wrote at Friday, January 27, 2012 5:01 AM: > On Fri, Jan 20, 2012 at 9:28 PM, Stephen Warren <swarren@nvidia.com> wrote: > > Dong Aisheng wrote at Wednesday, January 18, 2012 4:06 AM: > >> > >> Each entry in the list is PIN rather than group. > >> So we cannot create each map for each entry in the list except we treat the PIN as > >> A group(this will cause a huge maps and predefined groups and functions). > > > > Linusw has NAKd the idea that we should not use these "virtual groups", > > i.e. he believes they're fine to use if you wish. > > Interesting double inversion here: I NACK to NOT use groups > this way...
I don't think that's true.
If you did that, you would be /forcing/ people to use virtual pin groups, which means that the Tegra driver I proposed wouldn't be acceptable since it only defines groups that actually exist in HW.
> The groups are not "virtual" if they share some physical > property. Such as being used by the same device.
No, that's not what a virtual group is (I'm the person who came up with that term, and really the only person using it, so I get to decide what I mean by it!) I suppose you can mean something different, but that's just going to be ridiculously confusing.
In HW, there are individual register fields. Each one of these affects often a single pin, but on some chips n pins at a time. A physical group would be precisely those groups of pins which the actual HW registers affect. A virtual group is a SW group that ends up affecting more than one of those physical groups, since when a virtual groups is programmed, the pinctrl driver goes and programs n register fields and hence affects n physical groups.
And those registers and either physical or virtual groups don't have to be anything to do with muxing. On Tegra, there are certainly groups that only affect e.g. drive strength and not mux selection.
-- nvpublic
| |