blob: 38001c7023f1024af59bd698b0bb53082a768ac4 [file] [log] [blame]
Stephen Warrenec6b9252016-04-12 11:46:37 -06001/*
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