1*c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0 */ 2*c66ec88fSEmmanuel Vadot /* Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved. */ 3*c66ec88fSEmmanuel Vadot 4*c66ec88fSEmmanuel Vadot /* 5*c66ec88fSEmmanuel Vadot * This header provides constants for binding nvidia,tegra194-gpio*. 6*c66ec88fSEmmanuel Vadot * 7*c66ec88fSEmmanuel Vadot * The first cell in Tegra's GPIO specifier is the GPIO ID. The macros below 8*c66ec88fSEmmanuel Vadot * provide names for this. 9*c66ec88fSEmmanuel Vadot * 10*c66ec88fSEmmanuel Vadot * The second cell contains standard flag values specified in gpio.h. 11*c66ec88fSEmmanuel Vadot */ 12*c66ec88fSEmmanuel Vadot 13*c66ec88fSEmmanuel Vadot #ifndef _DT_BINDINGS_GPIO_TEGRA194_GPIO_H 14*c66ec88fSEmmanuel Vadot #define _DT_BINDINGS_GPIO_TEGRA194_GPIO_H 15*c66ec88fSEmmanuel Vadot 16*c66ec88fSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel Vadot /* GPIOs implemented by main GPIO controller */ 19*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_A 0 20*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_B 1 21*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_C 2 22*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_D 3 23*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_E 4 24*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_F 5 25*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_G 6 26*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_H 7 27*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_I 8 28*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_J 9 29*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_K 10 30*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_L 11 31*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_M 12 32*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_N 13 33*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_O 14 34*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_P 15 35*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_Q 16 36*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_R 17 37*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_S 18 38*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_T 19 39*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_U 20 40*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_V 21 41*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_W 22 42*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_X 23 43*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_Y 24 44*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_Z 25 45*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_FF 26 46*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO_PORT_GG 27 47*c66ec88fSEmmanuel Vadot 48*c66ec88fSEmmanuel Vadot #define TEGRA194_MAIN_GPIO(port, offset) \ 49*c66ec88fSEmmanuel Vadot ((TEGRA194_MAIN_GPIO_PORT_##port * 8) + offset) 50*c66ec88fSEmmanuel Vadot 51*c66ec88fSEmmanuel Vadot /* GPIOs implemented by AON GPIO controller */ 52*c66ec88fSEmmanuel Vadot #define TEGRA194_AON_GPIO_PORT_AA 0 53*c66ec88fSEmmanuel Vadot #define TEGRA194_AON_GPIO_PORT_BB 1 54*c66ec88fSEmmanuel Vadot #define TEGRA194_AON_GPIO_PORT_CC 2 55*c66ec88fSEmmanuel Vadot #define TEGRA194_AON_GPIO_PORT_DD 3 56*c66ec88fSEmmanuel Vadot #define TEGRA194_AON_GPIO_PORT_EE 4 57*c66ec88fSEmmanuel Vadot 58*c66ec88fSEmmanuel Vadot #define TEGRA194_AON_GPIO(port, offset) \ 59*c66ec88fSEmmanuel Vadot ((TEGRA194_AON_GPIO_PORT_##port * 8) + offset) 60*c66ec88fSEmmanuel Vadot 61*c66ec88fSEmmanuel Vadot #endif 62