Re: [PATCH] pinctrl: document the pinctrl PM states
From: Tony Lindgren
Date: Mon Jun 17 2013 - 14:06:53 EST
* Linus Walleij <linus.walleij@xxxxxxxxxx> [130617 09:02]:
> On Mon, Jun 17, 2013 at 9:20 AM, Tony Lindgren <tony@xxxxxxxxxxx> wrote:
>
> > Maybe let's again try to first list all the known cases where we need to
> > do remuxing, and the pins we need to remux?
>
> In the pinctrl documentation this is known as "runtime pinmuxing".
> This is not common, it is much more common to change
> pin config, i.e. all other electrical properties of the pins,
> at runtime. Especially when going to sleep or idle.
>
> > Below are the pin remuxing cases I'm aware of:
> >
> > 1. Remux UART RX pin of a device for a wake-up event
> >
> > 2. Remux whatever device interrupt line to a GPIO input for wake-up
> >
> > 3. Remux audio jack between UART RX and TX to provide a debug console
> >
> > 4. Remux MMC CMD and DAT lines for sleep with pulls to avoid device
> > from resetting with lines floating or to save power
> >
> > Please list any further use cases that I'm not familiar with. I'd like
> > to hear how messed up this remuxing business can get :)
>
> We have a debug port that can be muxed out on the keypad(!)
> or the SD card, and some other variants...
>
> Stephen added the I2C block switch thing that switch one
> and the same IP core between different sets of pins (IIRC).
Oh those are pretty messed up.. Probably the worst case I've
seen is the remuxing of two MMC slots for a singel MMC controller
on omap2420 over I2C bus..
> For runtime pin config I have many more examples, we
> change a lot of those to so-called "GPIO mode" (basically
> just turned into an input with wakeup, or pulled to ground)
> at sleep.
Hmm to me "GPIO mode" sounds like routing the signal to a
completely different device, how is that not remuxing?
Regards,
Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/