Linux-libre 4.9.86-gnu
[librecmc/linux-libre.git] / include / dt-bindings / gpio / tegra186-gpio.h
1 /*
2  * This header provides constants for binding nvidia,tegra186-gpio*.
3  *
4  * The first cell in Tegra's GPIO specifier is the GPIO ID. The macros below
5  * provide names for this.
6  *
7  * The second cell contains standard flag values specified in gpio.h.
8  */
9
10 #ifndef _DT_BINDINGS_GPIO_TEGRA_GPIO_H
11 #define _DT_BINDINGS_GPIO_TEGRA_GPIO_H
12
13 #include <dt-bindings/gpio/gpio.h>
14
15 /* GPIOs implemented by main GPIO controller */
16 #define TEGRA_MAIN_GPIO_PORT_A 0
17 #define TEGRA_MAIN_GPIO_PORT_B 1
18 #define TEGRA_MAIN_GPIO_PORT_C 2
19 #define TEGRA_MAIN_GPIO_PORT_D 3
20 #define TEGRA_MAIN_GPIO_PORT_E 4
21 #define TEGRA_MAIN_GPIO_PORT_F 5
22 #define TEGRA_MAIN_GPIO_PORT_G 6
23 #define TEGRA_MAIN_GPIO_PORT_H 7
24 #define TEGRA_MAIN_GPIO_PORT_I 8
25 #define TEGRA_MAIN_GPIO_PORT_J 9
26 #define TEGRA_MAIN_GPIO_PORT_K 10
27 #define TEGRA_MAIN_GPIO_PORT_L 11
28 #define TEGRA_MAIN_GPIO_PORT_M 12
29 #define TEGRA_MAIN_GPIO_PORT_N 13
30 #define TEGRA_MAIN_GPIO_PORT_O 14
31 #define TEGRA_MAIN_GPIO_PORT_P 15
32 #define TEGRA_MAIN_GPIO_PORT_Q 16
33 #define TEGRA_MAIN_GPIO_PORT_R 17
34 #define TEGRA_MAIN_GPIO_PORT_T 18
35 #define TEGRA_MAIN_GPIO_PORT_X 19
36 #define TEGRA_MAIN_GPIO_PORT_Y 20
37 #define TEGRA_MAIN_GPIO_PORT_BB 21
38 #define TEGRA_MAIN_GPIO_PORT_CC 22
39
40 #define TEGRA_MAIN_GPIO(port, offset) \
41         ((TEGRA_MAIN_GPIO_PORT_##port * 8) + offset)
42
43 /* GPIOs implemented by AON GPIO controller */
44 #define TEGRA_AON_GPIO_PORT_S 0
45 #define TEGRA_AON_GPIO_PORT_U 1
46 #define TEGRA_AON_GPIO_PORT_V 2
47 #define TEGRA_AON_GPIO_PORT_W 3
48 #define TEGRA_AON_GPIO_PORT_Z 4
49 #define TEGRA_AON_GPIO_PORT_AA 5
50 #define TEGRA_AON_GPIO_PORT_EE 6
51 #define TEGRA_AON_GPIO_PORT_FF 7
52
53 #define TEGRA_AON_GPIO(port, offset) \
54         ((TEGRA_AON_GPIO_PORT_##port * 8) + offset)
55
56 #endif