/* * Copyright (c) 2010-2012, NVIDIA CORPORATION. All rights reserved. * * SPDX-License-Identifier: GPL-2.0 */ #ifndef _TEGRA30_GPIO_H_ #define _TEGRA30_GPIO_H_ /* * The Tegra 3x GPIO controller has 246 GPIOS in 8 banks of 4 ports, * each with 8 GPIOs. */ #define TEGRA_GPIO_PORTS 4 /* number of ports per bank */ #define TEGRA_GPIO_BANKS 8 /* number of banks */ #include /* GPIO Controller registers for a single bank */ struct gpio_ctlr_bank { uint gpio_config[TEGRA_GPIO_PORTS]; uint gpio_dir_out[TEGRA_GPIO_PORTS]; uint gpio_out[TEGRA_GPIO_PORTS]; uint gpio_in[TEGRA_GPIO_PORTS]; uint gpio_int_status[TEGRA_GPIO_PORTS]; uint gpio_int_enable[TEGRA_GPIO_PORTS]; uint gpio_int_level[TEGRA_GPIO_PORTS]; uint gpio_int_clear[TEGRA_GPIO_PORTS]; uint gpio_masked_config[TEGRA_GPIO_PORTS]; uint gpio_masked_dir_out[TEGRA_GPIO_PORTS]; uint gpio_masked_out[TEGRA_GPIO_PORTS]; uint gpio_masked_in[TEGRA_GPIO_PORTS]; uint gpio_masked_int_status[TEGRA_GPIO_PORTS]; uint gpio_masked_int_enable[TEGRA_GPIO_PORTS]; uint gpio_masked_int_level[TEGRA_GPIO_PORTS]; uint gpio_masked_int_clear[TEGRA_GPIO_PORTS]; }; struct gpio_ctlr { struct gpio_ctlr_bank gpio_bank[TEGRA_GPIO_BANKS]; }; enum gpio_pin { GPIO_PA0 = 0, /* pin 0 */ GPIO_PA1, GPIO_PA2, GPIO_PA3, GPIO_PA4, GPIO_PA5, GPIO_PA6, GPIO_PA7, GPIO_PB0, /* pin 8 */ GPIO_PB1, GPIO_PB2, GPIO_PB3, GPIO_PB4, GPIO_PB5, GPIO_PB6, GPIO_PB7, GPIO_PC0, /* pin 16 */ GPIO_PC1, GPIO_PC2, GPIO_PC3, GPIO_PC4, GPIO_PC5, GPIO_PC6, GPIO_PC7, GPIO_PD0, /* pin 24 */ GPIO_PD1, GPIO_PD2, GPIO_PD3, GPIO_PD4, GPIO_PD5, GPIO_PD6, GPIO_PD7, GPIO_PE0, /* pin 32 */ GPIO_PE1, GPIO_PE2, GPIO_PE3, GPIO_PE4, GPIO_PE5, GPIO_PE6, GPIO_PE7, GPIO_PF0, /* pin 40 */ GPIO_PF1, GPIO_PF2, GPIO_PF3, GPIO_PF4, GPIO_PF5, GPIO_PF6, GPIO_PF7, GPIO_PG0, /* pin 48 */ GPIO_PG1, GPIO_PG2, GPIO_PG3, GPIO_PG4, GPIO_PG5, GPIO_PG6, GPIO_PG7, GPIO_PH0, /* pin 56 */ GPIO_PH1, GPIO_PH2, GPIO_PH3, GPIO_PH4, GPIO_PH5, GPIO_PH6, GPIO_PH7, GPIO_PI0, /* pin 64 */ GPIO_PI1, GPIO_PI2, GPIO_PI3, GPIO_PI4, GPIO_PI5, GPIO_PI6, GPIO_PI7, GPIO_PJ0, /* pin 72 */ GPIO_PJ1, GPIO_PJ2, GPIO_PJ3, GPIO_PJ4, GPIO_PJ5, GPIO_PJ6, GPIO_PJ7, GPIO_PK0, /* pin 80 */ GPIO_PK1, GPIO_PK2, GPIO_PK3, GPIO_PK4, GPIO_PK5, GPIO_PK6, GPIO_PK7, GPIO_PL0, /* pin 88 */ GPIO_PL1, GPIO_PL2, GPIO_PL3, GPIO_PL4, GPIO_PL5, GPIO_PL6, GPIO_PL7, GPIO_PM0, /* pin 96 */ GPIO_PM1, GPIO_PM2, GPIO_PM3, GPIO_PM4, GPIO_PM5, GPIO_PM6, GPIO_PM7, GPIO_PN0, /* pin 104 */ GPIO_PN1, GPIO_PN2, GPIO_PN3, GPIO_PN4, GPIO_PN5, GPIO_PN6, GPIO_PN7, GPIO_PO0, /* pin 112 */ GPIO_PO1, GPIO_PO2, GPIO_PO3, GPIO_PO4, GPIO_PO5, GPIO_PO6, GPIO_PO7, GPIO_PP0, /* pin 120 */ GPIO_PP1, GPIO_PP2, GPIO_PP3, GPIO_PP4, GPIO_PP5, GPIO_PP6, GPIO_PP7, GPIO_PQ0, /* pin 128 */ GPIO_PQ1, GPIO_PQ2, GPIO_PQ3, GPIO_PQ4, GPIO_PQ5, GPIO_PQ6, GPIO_PQ7, GPIO_PR0, /* pin 136 */ GPIO_PR1, GPIO_PR2, GPIO_PR3, GPIO_PR4, GPIO_PR5, GPIO_PR6, GPIO_PR7, GPIO_PS0, /* pin 144 */ GPIO_PS1, GPIO_PS2, GPIO_PS3, GPIO_PS4, GPIO_PS5, GPIO_PS6, GPIO_PS7, GPIO_PT0, /* pin 152 */ GPIO_PT1, GPIO_PT2, GPIO_PT3, GPIO_PT4, GPIO_PT5, GPIO_PT6, GPIO_PT7, GPIO_PU0, /* pin 160 */ GPIO_PU1, GPIO_PU2, GPIO_PU3, GPIO_PU4, GPIO_PU5, GPIO_PU6, GPIO_PU7, GPIO_PV0, /* pin 168 */ GPIO_PV1, GPIO_PV2, GPIO_PV3, GPIO_PV4, GPIO_PV5, GPIO_PV6, GPIO_PV7, GPIO_PW0, /* pin 176 */ GPIO_PW1, GPIO_PW2, GPIO_PW3, GPIO_PW4, GPIO_PW5, GPIO_PW6, GPIO_PW7, GPIO_PX0, /* pin 184 */ GPIO_PX1, GPIO_PX2, GPIO_PX3, GPIO_PX4, GPIO_PX5, GPIO_PX6, GPIO_PX7, GPIO_PY0, /* pin 192 */ GPIO_PY1, GPIO_PY2, GPIO_PY3, GPIO_PY4, GPIO_PY5, GPIO_PY6, GPIO_PY7, GPIO_PZ0, /* pin 200 */ GPIO_PZ1, GPIO_PZ2, GPIO_PZ3, GPIO_PZ4, GPIO_PZ5, GPIO_PZ6, GPIO_PZ7, GPIO_PAA0, /* pin 208 */ GPIO_PAA1, GPIO_PAA2, GPIO_PAA3, GPIO_PAA4, GPIO_PAA5, GPIO_PAA6, GPIO_PAA7, GPIO_PBB0, /* pin 216 */ GPIO_PBB1, GPIO_PBB2, GPIO_PBB3, GPIO_PBB4, GPIO_PBB5, GPIO_PBB6, GPIO_PBB7, GPIO_PCC0, /* pin 224 */ GPIO_PCC1, GPIO_PCC2, GPIO_PCC3, GPIO_PCC4, GPIO_PCC5, GPIO_PCC6, GPIO_PCC7, GPIO_PDD0, /* pin 232 */ GPIO_PDD1, GPIO_PDD2, GPIO_PDD3, GPIO_PDD4, GPIO_PDD5, GPIO_PDD6, GPIO_PDD7, GPIO_PEE0, /* pin 240 */ GPIO_PEE1, GPIO_PEE2, GPIO_PEE3, GPIO_PEE4, GPIO_PEE5, GPIO_PEE6, GPIO_PEE7, /* pin 247 */ }; #endif /* _TEGRA30_GPIO_H_ */