[PATCH 1/2] gpio: add pin biasing and drive mode to gpiolib

Linus Walleij linus.walleij at linaro.org
Sun Apr 17 17:58:16 EDT 2011


2011/4/17 Alan Cox <alan at lxorguk.ukuu.org.uk>:

>> + * enum gpio_drive - drive modes for GPIOs (output)
>> + * @GPIO_DRIVE_PUSH_PULL: the GPIO will be driven actively high and low, this
>> + *   is the most typical case and is typically achieved with two active
>> + *   transistors on the output
>> + * @GPIO_DRIVE_OPEN_DRAIN: the GPIO will be driven with open drain (open
>> + *   collector) which means it is usually wired with other output ports
>> + *   which are then pulled up with an external resistor
>> + * @GPIO_DRIVE_OPEN_SOURCE: the GPIO will be driven with open drain
>> + *   (open emitter) which is the same as open drain mutatis mutandis but
>> + *   pulled to ground
>
> How about "off". As I've pointed out at various times some devices have
> GPIO pins that may or may not be connected depending upon what other chip
> logic is doing.

Sure, why not.

> As I've also noted with various other previous suggestions for API
> additions you also need an "unknown" state so that a device can implement
> the methods but indicate for some pins the value is unknown due to
> hardware or firmware limitations.

OK do you want an unknown biasing mode too, or is "floating" enough
of a default to cover that?

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list