1 1.1 jmcneill /* $NetBSD: tegra186-gpio.h,v 1.1.1.5 2021/11/07 16:49:57 jmcneill Exp $ */ 2 1.1 jmcneill 3 1.1.1.2 jmcneill /* SPDX-License-Identifier: GPL-2.0 */ 4 1.1 jmcneill /* 5 1.1 jmcneill * This header provides constants for binding nvidia,tegra186-gpio*. 6 1.1 jmcneill * 7 1.1 jmcneill * The first cell in Tegra's GPIO specifier is the GPIO ID. The macros below 8 1.1 jmcneill * provide names for this. 9 1.1 jmcneill * 10 1.1 jmcneill * The second cell contains standard flag values specified in gpio.h. 11 1.1 jmcneill */ 12 1.1 jmcneill 13 1.1.1.5 jmcneill #ifndef _DT_BINDINGS_GPIO_TEGRA186_GPIO_H 14 1.1.1.5 jmcneill #define _DT_BINDINGS_GPIO_TEGRA186_GPIO_H 15 1.1 jmcneill 16 1.1 jmcneill #include <dt-bindings/gpio/gpio.h> 17 1.1 jmcneill 18 1.1 jmcneill /* GPIOs implemented by main GPIO controller */ 19 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_A 0 20 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_B 1 21 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_C 2 22 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_D 3 23 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_E 4 24 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_F 5 25 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_G 6 26 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_H 7 27 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_I 8 28 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_J 9 29 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_K 10 30 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_L 11 31 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_M 12 32 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_N 13 33 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_O 14 34 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_P 15 35 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_Q 16 36 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_R 17 37 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_T 18 38 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_X 19 39 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_Y 20 40 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_BB 21 41 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO_PORT_CC 22 42 1.1.1.3 jmcneill 43 1.1.1.3 jmcneill #define TEGRA186_MAIN_GPIO(port, offset) \ 44 1.1.1.3 jmcneill ((TEGRA186_MAIN_GPIO_PORT_##port * 8) + offset) 45 1.1.1.3 jmcneill 46 1.1 jmcneill /* GPIOs implemented by AON GPIO controller */ 47 1.1.1.3 jmcneill #define TEGRA186_AON_GPIO_PORT_S 0 48 1.1.1.3 jmcneill #define TEGRA186_AON_GPIO_PORT_U 1 49 1.1.1.3 jmcneill #define TEGRA186_AON_GPIO_PORT_V 2 50 1.1.1.3 jmcneill #define TEGRA186_AON_GPIO_PORT_W 3 51 1.1.1.3 jmcneill #define TEGRA186_AON_GPIO_PORT_Z 4 52 1.1.1.3 jmcneill #define TEGRA186_AON_GPIO_PORT_AA 5 53 1.1.1.3 jmcneill #define TEGRA186_AON_GPIO_PORT_EE 6 54 1.1.1.3 jmcneill #define TEGRA186_AON_GPIO_PORT_FF 7 55 1.1.1.3 jmcneill 56 1.1.1.3 jmcneill #define TEGRA186_AON_GPIO(port, offset) \ 57 1.1.1.3 jmcneill ((TEGRA186_AON_GPIO_PORT_##port * 8) + offset) 58 1.1.1.3 jmcneill 59 1.1 jmcneill #endif 60