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