1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * This header provides constants for binding nvidia,tegra186-gpio*.
4  *
5  * The first cell in Tegra's GPIO specifier is the GPIO ID. The macros below
6  * provide names for this.
7  *
8  * The second cell contains standard flag values specified in gpio.h.
9  */
10 
11 #ifndef _DT_BINDINGS_GPIO_TEGRA186_GPIO_H
12 #define _DT_BINDINGS_GPIO_TEGRA186_GPIO_H
13 
14 #include <dt-bindings/gpio/gpio.h>
15 
16 /* GPIOs implemented by main GPIO controller */
17 #define TEGRA186_MAIN_GPIO_PORT_A 0
18 #define TEGRA186_MAIN_GPIO_PORT_B 1
19 #define TEGRA186_MAIN_GPIO_PORT_C 2
20 #define TEGRA186_MAIN_GPIO_PORT_D 3
21 #define TEGRA186_MAIN_GPIO_PORT_E 4
22 #define TEGRA186_MAIN_GPIO_PORT_F 5
23 #define TEGRA186_MAIN_GPIO_PORT_G 6
24 #define TEGRA186_MAIN_GPIO_PORT_H 7
25 #define TEGRA186_MAIN_GPIO_PORT_I 8
26 #define TEGRA186_MAIN_GPIO_PORT_J 9
27 #define TEGRA186_MAIN_GPIO_PORT_K 10
28 #define TEGRA186_MAIN_GPIO_PORT_L 11
29 #define TEGRA186_MAIN_GPIO_PORT_M 12
30 #define TEGRA186_MAIN_GPIO_PORT_N 13
31 #define TEGRA186_MAIN_GPIO_PORT_O 14
32 #define TEGRA186_MAIN_GPIO_PORT_P 15
33 #define TEGRA186_MAIN_GPIO_PORT_Q 16
34 #define TEGRA186_MAIN_GPIO_PORT_R 17
35 #define TEGRA186_MAIN_GPIO_PORT_T 18
36 #define TEGRA186_MAIN_GPIO_PORT_X 19
37 #define TEGRA186_MAIN_GPIO_PORT_Y 20
38 #define TEGRA186_MAIN_GPIO_PORT_BB 21
39 #define TEGRA186_MAIN_GPIO_PORT_CC 22
40 
41 #define TEGRA186_MAIN_GPIO(port, offset) \
42 	((TEGRA186_MAIN_GPIO_PORT_##port * 8) + offset)
43 
44 /* GPIOs implemented by AON GPIO controller */
45 #define TEGRA186_AON_GPIO_PORT_S 0
46 #define TEGRA186_AON_GPIO_PORT_U 1
47 #define TEGRA186_AON_GPIO_PORT_V 2
48 #define TEGRA186_AON_GPIO_PORT_W 3
49 #define TEGRA186_AON_GPIO_PORT_Z 4
50 #define TEGRA186_AON_GPIO_PORT_AA 5
51 #define TEGRA186_AON_GPIO_PORT_EE 6
52 #define TEGRA186_AON_GPIO_PORT_FF 7
53 
54 #define TEGRA186_AON_GPIO(port, offset) \
55 	((TEGRA186_AON_GPIO_PORT_##port * 8) + offset)
56 
57 #endif
58