blob: 370df3f376cbb86ba374e4d48599332134a123bf [file] [log] [blame]
Florian Vaussard10a34722013-05-31 14:32:58 +02001/*
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/* 34xx mux mode options for each pin. See TRM for options */
9#define MUX_MODE0 0
10#define MUX_MODE1 1
11#define MUX_MODE2 2
12#define MUX_MODE3 3
13#define MUX_MODE4 4
14#define MUX_MODE5 5
15#define MUX_MODE6 6
16#define MUX_MODE7 7
17
18/* 24xx/34xx mux bit defines */
19#define PULL_ENA (1 << 3)
20#define PULL_UP (1 << 4)
21#define ALTELECTRICALSEL (1 << 5)
22
23/* 34xx specific mux bit defines */
24#define INPUT_EN (1 << 8)
25#define OFF_EN (1 << 9)
26#define OFFOUT_EN (1 << 10)
27#define OFFOUT_VAL (1 << 11)
28#define OFF_PULL_EN (1 << 12)
29#define OFF_PULL_UP (1 << 13)
30#define WAKEUP_EN (1 << 14)
31
32/* 44xx specific mux bit defines */
33#define WAKEUP_EVENT (1 << 15)
34
35/* Active pin states */
36#define PIN_OUTPUT 0
37#define PIN_OUTPUT_PULLUP (PIN_OUTPUT | PULL_ENA | PULL_UP)
38#define PIN_OUTPUT_PULLDOWN (PIN_OUTPUT | PULL_ENA)
39#define PIN_INPUT INPUT_EN
40#define PIN_INPUT_PULLUP (PULL_ENA | INPUT_EN | PULL_UP)
41#define PIN_INPUT_PULLDOWN (PULL_ENA | INPUT_EN)
42
43/* Off mode states */
44#define PIN_OFF_NONE 0
45#define PIN_OFF_OUTPUT_HIGH (OFF_EN | OFFOUT_EN | OFFOUT_VAL)
46#define PIN_OFF_OUTPUT_LOW (OFF_EN | OFFOUT_EN)
47#define PIN_OFF_INPUT_PULLUP (OFF_EN | OFF_PULL_EN | OFF_PULL_UP)
48#define PIN_OFF_INPUT_PULLDOWN (OFF_EN | OFF_PULL_EN)
49#define PIN_OFF_WAKEUPENABLE WAKEUP_EN
50