lkml.org 
[lkml]   [2013]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] pinctrl: document the "GPIO mode" pitfall
From
On Tue, Apr 23, 2013 at 3:33 PM, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:

>> +And your machine configuration may look like this:
>> +--------------------------------------------------
>> +
>> +static unsigned long uart_default_mode[] = {
>> + PIN_CONF_PACKED(PIN_CONFIG_DRIVE_PUSH_PULL, 0),
>> +};
>> +
>> +static unsigned long uart_sleep_mode[] = {
>> + PIN_CONF_PACKED(PIN_CONFIG_OUTPUT, 0),
>> +};
>
> 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
user?

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.

Yours,
Linus Walleij


\
 
 \ /
  Last update: 2013-04-26 00:01    [W:0.086 / U:1.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site