xref: /optee_os/core/include/dt-bindings/gpio/gpio.h (revision c30ae302545a6ea051918c0cdf9c69bd3327c334)
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