xref: /OK3568_Linux_fs/kernel/include/dt-bindings/gpio/gpio.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * This header provides constants for most GPIO bindings.
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Most GPIO bindings include a flags cell as part of the GPIO specifier.
6*4882a593Smuzhiyun  * In most cases, the format of the flags cell uses the standard values
7*4882a593Smuzhiyun  * defined in this header.
8*4882a593Smuzhiyun  */
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun #ifndef _DT_BINDINGS_GPIO_GPIO_H
11*4882a593Smuzhiyun #define _DT_BINDINGS_GPIO_GPIO_H
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun /* Bit 0 express polarity */
14*4882a593Smuzhiyun #define GPIO_ACTIVE_HIGH 0
15*4882a593Smuzhiyun #define GPIO_ACTIVE_LOW 1
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun /* Bit 1 express single-endedness */
18*4882a593Smuzhiyun #define GPIO_PUSH_PULL 0
19*4882a593Smuzhiyun #define GPIO_SINGLE_ENDED 2
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun /* Bit 2 express Open drain or open source */
22*4882a593Smuzhiyun #define GPIO_LINE_OPEN_SOURCE 0
23*4882a593Smuzhiyun #define GPIO_LINE_OPEN_DRAIN 4
24*4882a593Smuzhiyun 
25*4882a593Smuzhiyun /*
26*4882a593Smuzhiyun  * Open Drain/Collector is the combination of single-ended open drain interface.
27*4882a593Smuzhiyun  * Open Source/Emitter is the combination of single-ended open source interface.
28*4882a593Smuzhiyun  */
29*4882a593Smuzhiyun #define GPIO_OPEN_DRAIN (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_DRAIN)
30*4882a593Smuzhiyun #define GPIO_OPEN_SOURCE (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_SOURCE)
31*4882a593Smuzhiyun 
32*4882a593Smuzhiyun /* Bit 3 express GPIO suspend/resume and reset persistence */
33*4882a593Smuzhiyun #define GPIO_PERSISTENT 0
34*4882a593Smuzhiyun #define GPIO_TRANSITORY 8
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun /* Bit 4 express pull up */
37*4882a593Smuzhiyun #define GPIO_PULL_UP 16
38*4882a593Smuzhiyun 
39*4882a593Smuzhiyun /* Bit 5 express pull down */
40*4882a593Smuzhiyun #define GPIO_PULL_DOWN 32
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun #endif
43