xref: /openbmc/linux/include/dt-bindings/gpio/gpio.h (revision 48c926cd)
1 /*
2  * This header provides constants for most GPIO bindings.
3  *
4  * Most GPIO bindings include a flags cell as part of the GPIO specifier.
5  * In most cases, the format of the flags cell uses the standard values
6  * defined in this header.
7  */
8 
9 #ifndef _DT_BINDINGS_GPIO_GPIO_H
10 #define _DT_BINDINGS_GPIO_GPIO_H
11 
12 /* Bit 0 express polarity */
13 #define GPIO_ACTIVE_HIGH 0
14 #define GPIO_ACTIVE_LOW 1
15 
16 /* Bit 1 express single-endedness */
17 #define GPIO_PUSH_PULL 0
18 #define GPIO_SINGLE_ENDED 2
19 
20 /* Bit 2 express Open drain or open source */
21 #define GPIO_LINE_OPEN_SOURCE 0
22 #define GPIO_LINE_OPEN_DRAIN 4
23 
24 /*
25  * Open Drain/Collector is the combination of single-ended open drain interface.
26  * Open Source/Emitter is the combination of single-ended open source interface.
27  */
28 #define GPIO_OPEN_DRAIN (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_DRAIN)
29 #define GPIO_OPEN_SOURCE (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_SOURCE)
30 
31 /* Bit 3 express GPIO suspend/resume persistence */
32 #define GPIO_SLEEP_MAINTAIN_VALUE 0
33 #define GPIO_SLEEP_MAY_LOOSE_VALUE 8
34 
35 #endif
36