uboot/arch/arm/include/asm/arch-tegra30/gpio.h
<<
>>
Prefs
   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 */
  20struct 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
  39struct gpio_ctlr {
  40        struct gpio_ctlr_bank gpio_bank[TEGRA_GPIO_BANKS];
  41};
  42
  43enum 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