GNU Linux-libre 4.19.263-gnu1
[releases.git] / include / dt-bindings / pinctrl / am33xx.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * This header provides constants specific to AM33XX pinctrl bindings.
4  */
5
6 #ifndef _DT_BINDINGS_PINCTRL_AM33XX_H
7 #define _DT_BINDINGS_PINCTRL_AM33XX_H
8
9 #include <dt-bindings/pinctrl/omap.h>
10
11 /* am33xx specific mux bit defines */
12 #undef PULL_ENA
13 #undef INPUT_EN
14
15 #define PULL_DISABLE            (1 << 3)
16 #define INPUT_EN                (1 << 5)
17 #define SLEWCTRL_SLOW           (1 << 6)
18 #define SLEWCTRL_FAST           0
19
20 /* update macro depending on INPUT_EN and PULL_ENA */
21 #undef PIN_OUTPUT
22 #undef PIN_OUTPUT_PULLUP
23 #undef PIN_OUTPUT_PULLDOWN
24 #undef PIN_INPUT
25 #undef PIN_INPUT_PULLUP
26 #undef PIN_INPUT_PULLDOWN
27
28 #define PIN_OUTPUT              (PULL_DISABLE)
29 #define PIN_OUTPUT_PULLUP       (PULL_UP)
30 #define PIN_OUTPUT_PULLDOWN     0
31 #define PIN_INPUT               (INPUT_EN | PULL_DISABLE)
32 #define PIN_INPUT_PULLUP        (INPUT_EN | PULL_UP)
33 #define PIN_INPUT_PULLDOWN      (INPUT_EN)
34
35 /* undef non-existing modes */
36 #undef PIN_OFF_NONE
37 #undef PIN_OFF_OUTPUT_HIGH
38 #undef PIN_OFF_OUTPUT_LOW
39 #undef PIN_OFF_INPUT_PULLUP
40 #undef PIN_OFF_INPUT_PULLDOWN
41 #undef PIN_OFF_WAKEUPENABLE
42
43 #endif
44