Commit 3d2ddfdcf05f5f816f829f81858c54827d7be5b4

Authored by Laxman Dewangan
Committed by Grant Likely
1 parent 6e2cf65140

Documentation: gpio: Add details of open-drain/source configuration

Adding details of open drain(open collector) and open source
(open emitter) configuration of the gpio so that client can
set the pin as open drain at the time of gpio request.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviwed-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>

Showing 1 changed file with 15 additions and 2 deletions Side-by-side Diff

Documentation/gpio.txt
... ... @@ -302,6 +302,8 @@
302 302  
303 303 * GPIOF_INIT_LOW - as output, set initial level to LOW
304 304 * GPIOF_INIT_HIGH - as output, set initial level to HIGH
  305 + * GPIOF_OPEN_DRAIN - gpio pin is open drain type.
  306 + * GPIOF_OPEN_SOURCE - gpio pin is open source type.
305 307  
306 308 since GPIOF_INIT_* are only valid when configured as output, so group valid
307 309 combinations as:
... ... @@ -310,8 +312,19 @@
310 312 * GPIOF_OUT_INIT_LOW - configured as output, initial level LOW
311 313 * GPIOF_OUT_INIT_HIGH - configured as output, initial level HIGH
312 314  
313   -In the future, these flags can be extended to support more properties such
314   -as open-drain status.
  315 +When setting the flag as GPIOF_OPEN_DRAIN then it will assume that pins is
  316 +open drain type. Such pins will not be driven to 1 in output mode. It is
  317 +require to connect pull-up on such pins. By enabling this flag, gpio lib will
  318 +make the direction to input when it is asked to set value of 1 in output mode
  319 +to make the pin HIGH. The pin is make to LOW by driving value 0 in output mode.
  320 +
  321 +When setting the flag as GPIOF_OPEN_SOURCE then it will assume that pins is
  322 +open source type. Such pins will not be driven to 0 in output mode. It is
  323 +require to connect pull-down on such pin. By enabling this flag, gpio lib will
  324 +make the direction to input when it is asked to set value of 0 in output mode
  325 +to make the pin LOW. The pin is make to HIGH by driving value 1 in output mode.
  326 +
  327 +In the future, these flags can be extended to support more properties.
315 328  
316 329 Further more, to ease the claim/release of multiple GPIOs, 'struct gpio' is
317 330 introduced to encapsulate all three fields as: