1*e1ccb2c3SMarek Vasut /* SPDX-License-Identifier: GPL-2.0 */
28946034aSSimon Glass /*
38946034aSSimon Glass  * This header provides constants for most GPIO bindings.
48946034aSSimon Glass  *
58946034aSSimon Glass  * Most GPIO bindings include a flags cell as part of the GPIO specifier.
68946034aSSimon Glass  * In most cases, the format of the flags cell uses the standard values
78946034aSSimon Glass  * defined in this header.
88946034aSSimon Glass  */
98946034aSSimon Glass 
108946034aSSimon Glass #ifndef _DT_BINDINGS_GPIO_GPIO_H
118946034aSSimon Glass #define _DT_BINDINGS_GPIO_GPIO_H
128946034aSSimon Glass 
13*e1ccb2c3SMarek Vasut /* Bit 0 express polarity */
148946034aSSimon Glass #define GPIO_ACTIVE_HIGH 0
158946034aSSimon Glass #define GPIO_ACTIVE_LOW 1
168946034aSSimon Glass 
17*e1ccb2c3SMarek Vasut /* Bit 1 express single-endedness */
18*e1ccb2c3SMarek Vasut #define GPIO_PUSH_PULL 0
19*e1ccb2c3SMarek Vasut #define GPIO_SINGLE_ENDED 2
20*e1ccb2c3SMarek Vasut 
21*e1ccb2c3SMarek Vasut /* Bit 2 express Open drain or open source */
22*e1ccb2c3SMarek Vasut #define GPIO_LINE_OPEN_SOURCE 0
23*e1ccb2c3SMarek Vasut #define GPIO_LINE_OPEN_DRAIN 4
24*e1ccb2c3SMarek Vasut 
25*e1ccb2c3SMarek Vasut /*
26*e1ccb2c3SMarek Vasut  * Open Drain/Collector is the combination of single-ended open drain interface.
27*e1ccb2c3SMarek Vasut  * Open Source/Emitter is the combination of single-ended open source interface.
28*e1ccb2c3SMarek Vasut  */
29*e1ccb2c3SMarek Vasut #define GPIO_OPEN_DRAIN (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_DRAIN)
30*e1ccb2c3SMarek Vasut #define GPIO_OPEN_SOURCE (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_SOURCE)
31*e1ccb2c3SMarek Vasut 
32*e1ccb2c3SMarek Vasut /* Bit 3 express GPIO suspend/resume and reset persistence */
33*e1ccb2c3SMarek Vasut #define GPIO_PERSISTENT 0
34*e1ccb2c3SMarek Vasut #define GPIO_TRANSITORY 8
35*e1ccb2c3SMarek Vasut 
368946034aSSimon Glass #endif
37