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