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_TEGRA_GPIO_H 12 #define _DT_BINDINGS_GPIO_TEGRA_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 /* need to keep these for backwards-compatibility */ 45 #define TEGRA_MAIN_GPIO_PORT_A 0 46 #define TEGRA_MAIN_GPIO_PORT_B 1 47 #define TEGRA_MAIN_GPIO_PORT_C 2 48 #define TEGRA_MAIN_GPIO_PORT_D 3 49 #define TEGRA_MAIN_GPIO_PORT_E 4 50 #define TEGRA_MAIN_GPIO_PORT_F 5 51 #define TEGRA_MAIN_GPIO_PORT_G 6 52 #define TEGRA_MAIN_GPIO_PORT_H 7 53 #define TEGRA_MAIN_GPIO_PORT_I 8 54 #define TEGRA_MAIN_GPIO_PORT_J 9 55 #define TEGRA_MAIN_GPIO_PORT_K 10 56 #define TEGRA_MAIN_GPIO_PORT_L 11 57 #define TEGRA_MAIN_GPIO_PORT_M 12 58 #define TEGRA_MAIN_GPIO_PORT_N 13 59 #define TEGRA_MAIN_GPIO_PORT_O 14 60 #define TEGRA_MAIN_GPIO_PORT_P 15 61 #define TEGRA_MAIN_GPIO_PORT_Q 16 62 #define TEGRA_MAIN_GPIO_PORT_R 17 63 #define TEGRA_MAIN_GPIO_PORT_T 18 64 #define TEGRA_MAIN_GPIO_PORT_X 19 65 #define TEGRA_MAIN_GPIO_PORT_Y 20 66 #define TEGRA_MAIN_GPIO_PORT_BB 21 67 #define TEGRA_MAIN_GPIO_PORT_CC 22 68 69 #define TEGRA_MAIN_GPIO(port, offset) \ 70 ((TEGRA_MAIN_GPIO_PORT_##port * 8) + offset) 71 72 /* GPIOs implemented by AON GPIO controller */ 73 #define TEGRA186_AON_GPIO_PORT_S 0 74 #define TEGRA186_AON_GPIO_PORT_U 1 75 #define TEGRA186_AON_GPIO_PORT_V 2 76 #define TEGRA186_AON_GPIO_PORT_W 3 77 #define TEGRA186_AON_GPIO_PORT_Z 4 78 #define TEGRA186_AON_GPIO_PORT_AA 5 79 #define TEGRA186_AON_GPIO_PORT_EE 6 80 #define TEGRA186_AON_GPIO_PORT_FF 7 81 82 #define TEGRA186_AON_GPIO(port, offset) \ 83 ((TEGRA186_AON_GPIO_PORT_##port * 8) + offset) 84 85 /* need to keep these for backwards-compatibility */ 86 #define TEGRA_AON_GPIO_PORT_S 0 87 #define TEGRA_AON_GPIO_PORT_U 1 88 #define TEGRA_AON_GPIO_PORT_V 2 89 #define TEGRA_AON_GPIO_PORT_W 3 90 #define TEGRA_AON_GPIO_PORT_Z 4 91 #define TEGRA_AON_GPIO_PORT_AA 5 92 #define TEGRA_AON_GPIO_PORT_EE 6 93 #define TEGRA_AON_GPIO_PORT_FF 7 94 95 #define TEGRA_AON_GPIO(port, offset) \ 96 ((TEGRA_AON_GPIO_PORT_##port * 8) + offset) 97 98 #endif 99