blob: 344bd1eb3386bad14425861485a66dc25927cd54 [file] [log] [blame]
Mugunthan V Ne54686e2013-10-11 00:44:54 +05301/*
2 * This header provides constants specific to AM43XX pinctrl bindings.
3 */
4
5#ifndef _DT_BINDINGS_PINCTRL_AM43XX_H
6#define _DT_BINDINGS_PINCTRL_AM43XX_H
7
8#define MUX_MODE0 0
9#define MUX_MODE1 1
10#define MUX_MODE2 2
11#define MUX_MODE3 3
12#define MUX_MODE4 4
13#define MUX_MODE5 5
14#define MUX_MODE6 6
15#define MUX_MODE7 7
Darren Etheridgedfc9d3f2013-12-19 18:03:35 +053016#define MUX_MODE8 8
Dave Gerlach92814c42015-08-04 18:34:58 +030017#define MUX_MODE9 9
Mugunthan V Ne54686e2013-10-11 00:44:54 +053018
19#define PULL_DISABLE (1 << 16)
20#define PULL_UP (1 << 17)
21#define INPUT_EN (1 << 18)
Dave Gerlach10b21852015-02-27 19:10:27 -060022#define SLEWCTRL_SLOW (1 << 19)
23#define SLEWCTRL_FAST 0
Mugunthan V Ne54686e2013-10-11 00:44:54 +053024#define DS0_PULL_UP_DOWN_EN (1 << 27)
Eyal Reizerb6bbf592015-05-04 15:24:24 +030025#define WAKEUP_ENABLE (1 << 29)
Mugunthan V Ne54686e2013-10-11 00:44:54 +053026
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
Javier Martinez Canillasfc63efd2015-11-13 01:53:39 -030034/*
35 * Macro to allow using the absolute physical address instead of the
36 * padconf registers instead of the offset from padconf base.
37 */
38#define AM4372_IOPAD(pa, val) (((pa) & 0xffff) - 0x0800) (val)
39
Mugunthan V Ne54686e2013-10-11 00:44:54 +053040#endif
41