blob: 226f77246a70c689f34c6720f1796cf59b4b8a3b [file] [log] [blame]
Kyle Swenson8d8f6542021-03-15 11:02:55 -06001/*
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