Re: [PATCH] pinctrl: document the "GPIO mode" pitfall

From: Linus Walleij
Date: Thu Apr 25 2013 - 17:39:26 EST

On Tue, Apr 23, 2013 at 3:33 PM, Laurent Pinchart
<laurent.pinchart@xxxxxxxxxxxxxxxx> wrote:

>> +And your machine configuration may look like this:
>> +--------------------------------------------------
>> +
>> +static unsigned long uart_default_mode[] = {
>> +};
>> +
>> +static unsigned long uart_sleep_mode[] = {
>> +};
> I'm having a bit of trouble with PIN_CONFIG_DRIVE_PUSH_PULL and
> PIN_CONFIG_OUTPUT. Strictly speaking, when configured in output mode, the pin
> will be in a push-pull configuration.

For your system or for any system? Open drain, open source are also
output modes, and none of them are push-pull.

> Could you clarify the exact scope of the
> two configuration parameters ?

PIN_CONFIG_OUTPUT is left a bit unspecified, but here the
idea was a passive drive, like just connecting the pin to
VDD or GND without any driver stage at all. Maybe I should
patch the documentation since we seem to be the only

In the above case (which is derived from the ABx500) I think what is
happening is that the pin is connected to ground during sleep,
without any enabled driver stages, which saves a lot of power,
since you do not need to bias the totempole during
sleep in that way.

Linus Walleij
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at