1*323b8d0dSEtienne Carriere /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */ 271fab21fSStephen Warren /* 371fab21fSStephen Warren * This header provides constants for most GPIO bindings. 471fab21fSStephen Warren * 571fab21fSStephen Warren * Most GPIO bindings include a flags cell as part of the GPIO specifier. 671fab21fSStephen Warren * In most cases, the format of the flags cell uses the standard values 771fab21fSStephen Warren * defined in this header. 871fab21fSStephen Warren */ 971fab21fSStephen Warren 1071fab21fSStephen Warren #ifndef _DT_BINDINGS_GPIO_GPIO_H 1171fab21fSStephen Warren #define _DT_BINDINGS_GPIO_GPIO_H 1271fab21fSStephen Warren 1369d301fdSLinus Walleij /* Bit 0 express polarity */ 1471fab21fSStephen Warren #define GPIO_ACTIVE_HIGH 0 1571fab21fSStephen Warren #define GPIO_ACTIVE_LOW 1 1671fab21fSStephen Warren 1769d301fdSLinus Walleij /* Bit 1 express single-endedness */ 1869d301fdSLinus Walleij #define GPIO_PUSH_PULL 0 1969d301fdSLinus Walleij #define GPIO_SINGLE_ENDED 2 2069d301fdSLinus Walleij 214c0facddSLaxman Dewangan /* Bit 2 express Open drain or open source */ 224c0facddSLaxman Dewangan #define GPIO_LINE_OPEN_SOURCE 0 234c0facddSLaxman Dewangan #define GPIO_LINE_OPEN_DRAIN 4 244c0facddSLaxman Dewangan 2569d301fdSLinus Walleij /* 264c0facddSLaxman Dewangan * Open Drain/Collector is the combination of single-ended open drain interface. 274c0facddSLaxman Dewangan * Open Source/Emitter is the combination of single-ended open source interface. 2869d301fdSLinus Walleij */ 294c0facddSLaxman Dewangan #define GPIO_OPEN_DRAIN (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_DRAIN) 304c0facddSLaxman Dewangan #define GPIO_OPEN_SOURCE (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_SOURCE) 3169d301fdSLinus Walleij 32e10f72bfSAndrew Jeffery /* Bit 3 express GPIO suspend/resume and reset persistence */ 33e10f72bfSAndrew Jeffery #define GPIO_PERSISTENT 0 34e10f72bfSAndrew Jeffery #define GPIO_TRANSITORY 8 3505f479bfSCharles Keepax 36ede033e1SThomas Petazzoni /* Bit 4 express pull up */ 37ede033e1SThomas Petazzoni #define GPIO_PULL_UP 16 38ede033e1SThomas Petazzoni 39ede033e1SThomas Petazzoni /* Bit 5 express pull down */ 40ede033e1SThomas Petazzoni #define GPIO_PULL_DOWN 32 41ede033e1SThomas Petazzoni 42d042656aSNuno Sá /* Bit 6 express pull disable */ 43d042656aSNuno Sá #define GPIO_PULL_DISABLE 64 44d042656aSNuno Sá 4571fab21fSStephen Warren #endif 46