112941fdcSEtienne Carriere /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */ 212941fdcSEtienne Carriere /* 312941fdcSEtienne Carriere * This header provides constants for most GPIO bindings. 412941fdcSEtienne Carriere * 512941fdcSEtienne Carriere * Most GPIO bindings include a flags cell as part of the GPIO specifier. 612941fdcSEtienne Carriere * In most cases, the format of the flags cell uses the standard values 712941fdcSEtienne Carriere * defined in this header. 812941fdcSEtienne Carriere */ 912941fdcSEtienne Carriere 1012941fdcSEtienne Carriere #ifndef _DT_BINDINGS_GPIO_GPIO_H 1112941fdcSEtienne Carriere #define _DT_BINDINGS_GPIO_GPIO_H 1212941fdcSEtienne Carriere 1312941fdcSEtienne Carriere /* Bit 0 express polarity */ 1412941fdcSEtienne Carriere #define GPIO_ACTIVE_HIGH 0 1512941fdcSEtienne Carriere #define GPIO_ACTIVE_LOW 1 1612941fdcSEtienne Carriere 1712941fdcSEtienne Carriere /* Bit 1 express single-endedness */ 1812941fdcSEtienne Carriere #define GPIO_PUSH_PULL 0 1912941fdcSEtienne Carriere #define GPIO_SINGLE_ENDED 2 2012941fdcSEtienne Carriere 2112941fdcSEtienne Carriere /* Bit 2 express Open drain or open source */ 2212941fdcSEtienne Carriere #define GPIO_LINE_OPEN_SOURCE 0 2312941fdcSEtienne Carriere #define GPIO_LINE_OPEN_DRAIN 4 2412941fdcSEtienne Carriere 2512941fdcSEtienne Carriere /* 2612941fdcSEtienne Carriere * Open Drain/Collector is the combination of single-ended open drain interface. 2712941fdcSEtienne Carriere * Open Source/Emitter is the combination of single-ended open source interface. 2812941fdcSEtienne Carriere */ 2912941fdcSEtienne Carriere #define GPIO_OPEN_DRAIN (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_DRAIN) 3012941fdcSEtienne Carriere #define GPIO_OPEN_SOURCE (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_SOURCE) 3112941fdcSEtienne Carriere 3212941fdcSEtienne Carriere /* Bit 3 express GPIO suspend/resume and reset persistence */ 3312941fdcSEtienne Carriere #define GPIO_PERSISTENT 0 3412941fdcSEtienne Carriere #define GPIO_TRANSITORY 8 3512941fdcSEtienne Carriere 36*c30ae302SJohann Neuhauser /* Bit 4 express pull up */ 37*c30ae302SJohann Neuhauser #define GPIO_PULL_UP 16 38*c30ae302SJohann Neuhauser 39*c30ae302SJohann Neuhauser /* Bit 5 express pull down */ 40*c30ae302SJohann Neuhauser #define GPIO_PULL_DOWN 32 41*c30ae302SJohann Neuhauser 4212941fdcSEtienne Carriere #endif 43