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 
45