blob: edbd250809cb6d415e893a2d26a9d6db302925fd [file] [log] [blame]
Simon Glassb37e8152014-06-02 22:04:55 -06001/*
2 * This header provides constants for OMAP pinctrl bindings.
3 *
4 * Copyright (C) 2009 Nokia
5 * Copyright (C) 2009-2010 Texas Instruments
6 */
7
8#ifndef _DT_BINDINGS_PINCTRL_OMAP_H
9#define _DT_BINDINGS_PINCTRL_OMAP_H
10
11/* 34xx mux mode options for each pin. See TRM for options */
12#define MUX_MODE0 0
13#define MUX_MODE1 1
14#define MUX_MODE2 2
15#define MUX_MODE3 3
16#define MUX_MODE4 4
17#define MUX_MODE5 5
18#define MUX_MODE6 6
19#define MUX_MODE7 7
20
21/* 24xx/34xx mux bit defines */
22#define PULL_ENA (1 << 3)
23#define PULL_UP (1 << 4)
24#define ALTELECTRICALSEL (1 << 5)
25
26/* 34xx specific mux bit defines */
27#define INPUT_EN (1 << 8)
28#define OFF_EN (1 << 9)
29#define OFFOUT_EN (1 << 10)
30#define OFFOUT_VAL (1 << 11)
31#define OFF_PULL_EN (1 << 12)
32#define OFF_PULL_UP (1 << 13)
33#define WAKEUP_EN (1 << 14)
34
35/* 44xx specific mux bit defines */
36#define WAKEUP_EVENT (1 << 15)
37
38/* Active pin states */
39#define PIN_OUTPUT 0
40#define PIN_OUTPUT_PULLUP (PIN_OUTPUT | PULL_ENA | PULL_UP)
41#define PIN_OUTPUT_PULLDOWN (PIN_OUTPUT | PULL_ENA)
42#define PIN_INPUT INPUT_EN
43#define PIN_INPUT_PULLUP (PULL_ENA | INPUT_EN | PULL_UP)
44#define PIN_INPUT_PULLDOWN (PULL_ENA | INPUT_EN)
45
46/* Off mode states */
47#define PIN_OFF_NONE 0
48#define PIN_OFF_OUTPUT_HIGH (OFF_EN | OFFOUT_EN | OFFOUT_VAL)
49#define PIN_OFF_OUTPUT_LOW (OFF_EN | OFFOUT_EN)
50#define PIN_OFF_INPUT_PULLUP (OFF_EN | OFF_PULL_EN | OFF_PULL_UP)
51#define PIN_OFF_INPUT_PULLDOWN (OFF_EN | OFF_PULL_EN)
52#define PIN_OFF_WAKEUPENABLE WAKEUP_EN
53
54#endif
55