[PATCH 1/4] drivers: create a pinmux subsystem

Tony Lindgren tony at atomide.com
Mon May 9 11:25:47 EDT 2011


* Mike Rapoport <mike.rapoport at gmail.com> [110507 12:03]:
> On Wed, May 4, 2011 at 12:22 PM, Tony Lindgren <tony at atomide.com> wrote:
> > * Colin Cross <ccross at google.com> [110502 14:26]:
> >> On Mon, May 2, 2011 at 1:52 PM, Stephen Warren <swarren at nvidia.com> wrote:
> >>
> >> * Drive strength is also controlled through groups of pins, but
> >> different groups than pinmux.  Most of the drive strength groups are
> >> collections of pad mux groups, but there are a few pins that are in
> >> the same pad mux group but a different drive strength group.
> >> * Setting a pin as a GPIO overrides its group's mux setting, except
> >> for the group's tristate.  You must untristate the entire group to use
> >> a single pin as a GPIO.
> >> * Each group has a "safe mode", but which mux id to select to enter
> >> the safe mode is completely random.
> >
> > Just posted something in this thread regarding using standard data and
> > standard read and write functions, then allow setting platform specific
> > custom flags as needed. Care to see if that works for you too?
> 
> Tegra does not allow pin muxing on the pin by pin basis. And,
> registers that define mux config differ from those that define flags
> (pull, driver strength, safe mode etc).

Hmm well the separate config register could be added easily. But the
grouping of pins might be tricky then :)

Tony



More information about the linux-arm-kernel mailing list