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