blob: 2fbc804e1a45cea943c9241309601f941abd5d14 [file] [log] [blame]
Simon Glassb37e8152014-06-02 22:04: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_FAST (1 << 6)
17
18/* update macro depending on INPUT_EN and PULL_ENA */
19#undef PIN_OUTPUT
20#undef PIN_OUTPUT_PULLUP
21#undef PIN_OUTPUT_PULLDOWN
22#undef PIN_INPUT
23#undef PIN_INPUT_PULLUP
24#undef PIN_INPUT_PULLDOWN
25
26#define PIN_OUTPUT (PULL_DISABLE)
27#define PIN_OUTPUT_PULLUP (PULL_UP)
28#define PIN_OUTPUT_PULLDOWN 0
29#define PIN_INPUT (INPUT_EN | PULL_DISABLE)
30#define PIN_INPUT_PULLUP (INPUT_EN | PULL_UP)
31#define PIN_INPUT_PULLDOWN (INPUT_EN)
32
33/* undef non-existing modes */
34#undef PIN_OFF_NONE
35#undef PIN_OFF_OUTPUT_HIGH
36#undef PIN_OFF_OUTPUT_LOW
37#undef PIN_OFF_INPUT_PULLUP
38#undef PIN_OFF_INPUT_PULLDOWN
39#undef PIN_OFF_WAKEUPENABLE
40
41#endif
42