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

source code of linux/include/dt-bindings/gpio/tegra186-gpio.h