1 /* $NetBSD: tegra186-gpio.h,v 1.1.1.2.6.1 2019/06/10 22:08:55 christos Exp $ */ 2 3 /* SPDX-License-Identifier: GPL-2.0 */ 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_TEGRA_GPIO_H 14 #define _DT_BINDINGS_GPIO_TEGRA_GPIO_H 15 16 #include <dt-bindings/gpio/gpio.h> 17 18 /* GPIOs implemented by main GPIO controller */ 19 #define TEGRA186_MAIN_GPIO_PORT_A 0 20 #define TEGRA186_MAIN_GPIO_PORT_B 1 21 #define TEGRA186_MAIN_GPIO_PORT_C 2 22 #define TEGRA186_MAIN_GPIO_PORT_D 3 23 #define TEGRA186_MAIN_GPIO_PORT_E 4 24 #define TEGRA186_MAIN_GPIO_PORT_F 5 25 #define TEGRA186_MAIN_GPIO_PORT_G 6 26 #define TEGRA186_MAIN_GPIO_PORT_H 7 27 #define TEGRA186_MAIN_GPIO_PORT_I 8 28 #define TEGRA186_MAIN_GPIO_PORT_J 9 29 #define TEGRA186_MAIN_GPIO_PORT_K 10 30 #define TEGRA186_MAIN_GPIO_PORT_L 11 31 #define TEGRA186_MAIN_GPIO_PORT_M 12 32 #define TEGRA186_MAIN_GPIO_PORT_N 13 33 #define TEGRA186_MAIN_GPIO_PORT_O 14 34 #define TEGRA186_MAIN_GPIO_PORT_P 15 35 #define TEGRA186_MAIN_GPIO_PORT_Q 16 36 #define TEGRA186_MAIN_GPIO_PORT_R 17 37 #define TEGRA186_MAIN_GPIO_PORT_T 18 38 #define TEGRA186_MAIN_GPIO_PORT_X 19 39 #define TEGRA186_MAIN_GPIO_PORT_Y 20 40 #define TEGRA186_MAIN_GPIO_PORT_BB 21 41 #define TEGRA186_MAIN_GPIO_PORT_CC 22 42 43 #define TEGRA186_MAIN_GPIO(port, offset) \ 44 ((TEGRA186_MAIN_GPIO_PORT_##port * 8) + offset) 45 46 /* need to keep these for backwards-compatibility */ 47 #define TEGRA_MAIN_GPIO_PORT_A 0 48 #define TEGRA_MAIN_GPIO_PORT_B 1 49 #define TEGRA_MAIN_GPIO_PORT_C 2 50 #define TEGRA_MAIN_GPIO_PORT_D 3 51 #define TEGRA_MAIN_GPIO_PORT_E 4 52 #define TEGRA_MAIN_GPIO_PORT_F 5 53 #define TEGRA_MAIN_GPIO_PORT_G 6 54 #define TEGRA_MAIN_GPIO_PORT_H 7 55 #define TEGRA_MAIN_GPIO_PORT_I 8 56 #define TEGRA_MAIN_GPIO_PORT_J 9 57 #define TEGRA_MAIN_GPIO_PORT_K 10 58 #define TEGRA_MAIN_GPIO_PORT_L 11 59 #define TEGRA_MAIN_GPIO_PORT_M 12 60 #define TEGRA_MAIN_GPIO_PORT_N 13 61 #define TEGRA_MAIN_GPIO_PORT_O 14 62 #define TEGRA_MAIN_GPIO_PORT_P 15 63 #define TEGRA_MAIN_GPIO_PORT_Q 16 64 #define TEGRA_MAIN_GPIO_PORT_R 17 65 #define TEGRA_MAIN_GPIO_PORT_T 18 66 #define TEGRA_MAIN_GPIO_PORT_X 19 67 #define TEGRA_MAIN_GPIO_PORT_Y 20 68 #define TEGRA_MAIN_GPIO_PORT_BB 21 69 #define TEGRA_MAIN_GPIO_PORT_CC 22 70 71 #define TEGRA_MAIN_GPIO(port, offset) \ 72 ((TEGRA_MAIN_GPIO_PORT_##port * 8) + offset) 73 74 /* GPIOs implemented by AON GPIO controller */ 75 #define TEGRA186_AON_GPIO_PORT_S 0 76 #define TEGRA186_AON_GPIO_PORT_U 1 77 #define TEGRA186_AON_GPIO_PORT_V 2 78 #define TEGRA186_AON_GPIO_PORT_W 3 79 #define TEGRA186_AON_GPIO_PORT_Z 4 80 #define TEGRA186_AON_GPIO_PORT_AA 5 81 #define TEGRA186_AON_GPIO_PORT_EE 6 82 #define TEGRA186_AON_GPIO_PORT_FF 7 83 84 #define TEGRA186_AON_GPIO(port, offset) \ 85 ((TEGRA186_AON_GPIO_PORT_##port * 8) + offset) 86 87 /* need to keep these for backwards-compatibility */ 88 #define TEGRA_AON_GPIO_PORT_S 0 89 #define TEGRA_AON_GPIO_PORT_U 1 90 #define TEGRA_AON_GPIO_PORT_V 2 91 #define TEGRA_AON_GPIO_PORT_W 3 92 #define TEGRA_AON_GPIO_PORT_Z 4 93 #define TEGRA_AON_GPIO_PORT_AA 5 94 #define TEGRA_AON_GPIO_PORT_EE 6 95 #define TEGRA_AON_GPIO_PORT_FF 7 96 97 #define TEGRA_AON_GPIO(port, offset) \ 98 ((TEGRA_AON_GPIO_PORT_##port * 8) + offset) 99 100 #endif 101