1 /* 2 * Copyright (c) 2010-2012, NVIDIA CORPORATION. All rights reserved. 3 * 4 * SPDX-License-Identifier: GPL-2.0 5 */ 6 7 #ifndef _TEGRA30_GPIO_H_ 8 #define _TEGRA30_GPIO_H_ 9 10 /* 11 * The Tegra 3x GPIO controller has 246 GPIOS in 8 banks of 4 ports, 12 * each with 8 GPIOs. 13 */ 14 #define TEGRA_GPIO_PORTS 4 /* number of ports per bank */ 15 #define TEGRA_GPIO_BANKS 8 /* number of banks */ 16 17 #include <asm/arch-tegra/gpio.h> 18 19 /* GPIO Controller registers for a single bank */ 20 struct gpio_ctlr_bank { 21 uint gpio_config[TEGRA_GPIO_PORTS]; 22 uint gpio_dir_out[TEGRA_GPIO_PORTS]; 23 uint gpio_out[TEGRA_GPIO_PORTS]; 24 uint gpio_in[TEGRA_GPIO_PORTS]; 25 uint gpio_int_status[TEGRA_GPIO_PORTS]; 26 uint gpio_int_enable[TEGRA_GPIO_PORTS]; 27 uint gpio_int_level[TEGRA_GPIO_PORTS]; 28 uint gpio_int_clear[TEGRA_GPIO_PORTS]; 29 uint gpio_masked_config[TEGRA_GPIO_PORTS]; 30 uint gpio_masked_dir_out[TEGRA_GPIO_PORTS]; 31 uint gpio_masked_out[TEGRA_GPIO_PORTS]; 32 uint gpio_masked_in[TEGRA_GPIO_PORTS]; 33 uint gpio_masked_int_status[TEGRA_GPIO_PORTS]; 34 uint gpio_masked_int_enable[TEGRA_GPIO_PORTS]; 35 uint gpio_masked_int_level[TEGRA_GPIO_PORTS]; 36 uint gpio_masked_int_clear[TEGRA_GPIO_PORTS]; 37 }; 38 39 struct gpio_ctlr { 40 struct gpio_ctlr_bank gpio_bank[TEGRA_GPIO_BANKS]; 41 }; 42 43 enum gpio_pin { 44 GPIO_PA0 = 0, /* pin 0 */ 45 GPIO_PA1, 46 GPIO_PA2, 47 GPIO_PA3, 48 GPIO_PA4, 49 GPIO_PA5, 50 GPIO_PA6, 51 GPIO_PA7, 52 GPIO_PB0, /* pin 8 */ 53 GPIO_PB1, 54 GPIO_PB2, 55 GPIO_PB3, 56 GPIO_PB4, 57 GPIO_PB5, 58 GPIO_PB6, 59 GPIO_PB7, 60 GPIO_PC0, /* pin 16 */ 61 GPIO_PC1, 62 GPIO_PC2, 63 GPIO_PC3, 64 GPIO_PC4, 65 GPIO_PC5, 66 GPIO_PC6, 67 GPIO_PC7, 68 GPIO_PD0, /* pin 24 */ 69 GPIO_PD1, 70 GPIO_PD2, 71 GPIO_PD3, 72 GPIO_PD4, 73 GPIO_PD5, 74 GPIO_PD6, 75 GPIO_PD7, 76 GPIO_PE0, /* pin 32 */ 77 GPIO_PE1, 78 GPIO_PE2, 79 GPIO_PE3, 80 GPIO_PE4, 81 GPIO_PE5, 82 GPIO_PE6, 83 GPIO_PE7, 84 GPIO_PF0, /* pin 40 */ 85 GPIO_PF1, 86 GPIO_PF2, 87 GPIO_PF3, 88 GPIO_PF4, 89 GPIO_PF5, 90 GPIO_PF6, 91 GPIO_PF7, 92 GPIO_PG0, /* pin 48 */ 93 GPIO_PG1, 94 GPIO_PG2, 95 GPIO_PG3, 96 GPIO_PG4, 97 GPIO_PG5, 98 GPIO_PG6, 99 GPIO_PG7, 100 GPIO_PH0, /* pin 56 */ 101 GPIO_PH1, 102 GPIO_PH2, 103 GPIO_PH3, 104 GPIO_PH4, 105 GPIO_PH5, 106 GPIO_PH6, 107 GPIO_PH7, 108 GPIO_PI0, /* pin 64 */ 109 GPIO_PI1, 110 GPIO_PI2, 111 GPIO_PI3, 112 GPIO_PI4, 113 GPIO_PI5, 114 GPIO_PI6, 115 GPIO_PI7, 116 GPIO_PJ0, /* pin 72 */ 117 GPIO_PJ1, 118 GPIO_PJ2, 119 GPIO_PJ3, 120 GPIO_PJ4, 121 GPIO_PJ5, 122 GPIO_PJ6, 123 GPIO_PJ7, 124 GPIO_PK0, /* pin 80 */ 125 GPIO_PK1, 126 GPIO_PK2, 127 GPIO_PK3, 128 GPIO_PK4, 129 GPIO_PK5, 130 GPIO_PK6, 131 GPIO_PK7, 132 GPIO_PL0, /* pin 88 */ 133 GPIO_PL1, 134 GPIO_PL2, 135 GPIO_PL3, 136 GPIO_PL4, 137 GPIO_PL5, 138 GPIO_PL6, 139 GPIO_PL7, 140 GPIO_PM0, /* pin 96 */ 141 GPIO_PM1, 142 GPIO_PM2, 143 GPIO_PM3, 144 GPIO_PM4, 145 GPIO_PM5, 146 GPIO_PM6, 147 GPIO_PM7, 148 GPIO_PN0, /* pin 104 */ 149 GPIO_PN1, 150 GPIO_PN2, 151 GPIO_PN3, 152 GPIO_PN4, 153 GPIO_PN5, 154 GPIO_PN6, 155 GPIO_PN7, 156 GPIO_PO0, /* pin 112 */ 157 GPIO_PO1, 158 GPIO_PO2, 159 GPIO_PO3, 160 GPIO_PO4, 161 GPIO_PO5, 162 GPIO_PO6, 163 GPIO_PO7, 164 GPIO_PP0, /* pin 120 */ 165 GPIO_PP1, 166 GPIO_PP2, 167 GPIO_PP3, 168 GPIO_PP4, 169 GPIO_PP5, 170 GPIO_PP6, 171 GPIO_PP7, 172 GPIO_PQ0, /* pin 128 */ 173 GPIO_PQ1, 174 GPIO_PQ2, 175 GPIO_PQ3, 176 GPIO_PQ4, 177 GPIO_PQ5, 178 GPIO_PQ6, 179 GPIO_PQ7, 180 GPIO_PR0, /* pin 136 */ 181 GPIO_PR1, 182 GPIO_PR2, 183 GPIO_PR3, 184 GPIO_PR4, 185 GPIO_PR5, 186 GPIO_PR6, 187 GPIO_PR7, 188 GPIO_PS0, /* pin 144 */ 189 GPIO_PS1, 190 GPIO_PS2, 191 GPIO_PS3, 192 GPIO_PS4, 193 GPIO_PS5, 194 GPIO_PS6, 195 GPIO_PS7, 196 GPIO_PT0, /* pin 152 */ 197 GPIO_PT1, 198 GPIO_PT2, 199 GPIO_PT3, 200 GPIO_PT4, 201 GPIO_PT5, 202 GPIO_PT6, 203 GPIO_PT7, 204 GPIO_PU0, /* pin 160 */ 205 GPIO_PU1, 206 GPIO_PU2, 207 GPIO_PU3, 208 GPIO_PU4, 209 GPIO_PU5, 210 GPIO_PU6, 211 GPIO_PU7, 212 GPIO_PV0, /* pin 168 */ 213 GPIO_PV1, 214 GPIO_PV2, 215 GPIO_PV3, 216 GPIO_PV4, 217 GPIO_PV5, 218 GPIO_PV6, 219 GPIO_PV7, 220 GPIO_PW0, /* pin 176 */ 221 GPIO_PW1, 222 GPIO_PW2, 223 GPIO_PW3, 224 GPIO_PW4, 225 GPIO_PW5, 226 GPIO_PW6, 227 GPIO_PW7, 228 GPIO_PX0, /* pin 184 */ 229 GPIO_PX1, 230 GPIO_PX2, 231 GPIO_PX3, 232 GPIO_PX4, 233 GPIO_PX5, 234 GPIO_PX6, 235 GPIO_PX7, 236 GPIO_PY0, /* pin 192 */ 237 GPIO_PY1, 238 GPIO_PY2, 239 GPIO_PY3, 240 GPIO_PY4, 241 GPIO_PY5, 242 GPIO_PY6, 243 GPIO_PY7, 244 GPIO_PZ0, /* pin 200 */ 245 GPIO_PZ1, 246 GPIO_PZ2, 247 GPIO_PZ3, 248 GPIO_PZ4, 249 GPIO_PZ5, 250 GPIO_PZ6, 251 GPIO_PZ7, 252 GPIO_PAA0, /* pin 208 */ 253 GPIO_PAA1, 254 GPIO_PAA2, 255 GPIO_PAA3, 256 GPIO_PAA4, 257 GPIO_PAA5, 258 GPIO_PAA6, 259 GPIO_PAA7, 260 GPIO_PBB0, /* pin 216 */ 261 GPIO_PBB1, 262 GPIO_PBB2, 263 GPIO_PBB3, 264 GPIO_PBB4, 265 GPIO_PBB5, 266 GPIO_PBB6, 267 GPIO_PBB7, 268 GPIO_PCC0, /* pin 224 */ 269 GPIO_PCC1, 270 GPIO_PCC2, 271 GPIO_PCC3, 272 GPIO_PCC4, 273 GPIO_PCC5, 274 GPIO_PCC6, 275 GPIO_PCC7, 276 GPIO_PDD0, /* pin 232 */ 277 GPIO_PDD1, 278 GPIO_PDD2, 279 GPIO_PDD3, 280 GPIO_PDD4, 281 GPIO_PDD5, 282 GPIO_PDD6, 283 GPIO_PDD7, 284 GPIO_PEE0, /* pin 240 */ 285 GPIO_PEE1, 286 GPIO_PEE2, 287 GPIO_PEE3, 288 GPIO_PEE4, 289 GPIO_PEE5, 290 GPIO_PEE6, 291 GPIO_PEE7, /* pin 247 */ 292 }; 293 294 #endif /* _TEGRA30_GPIO_H_ */ 295