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