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