mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 00:49:43 +00:00
dc89ad1438
Common Tegra files are in arch-tegra, shared between T20 and T30. Tegra30-specific headers are in arch-tegra30. Note that some of these will be filled in as more T30 support is added (drivers, WB/LP0 support, etc.). A couple of Tegra20 files were changed to support common headers in arch-tegra, also. Signed-off-by: Tom Warren <twarren@nvidia.com> Reviewed-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
304 lines
4.9 KiB
C
304 lines
4.9 KiB
C
/*
|
|
* Copyright (c) 2010-2012, NVIDIA CORPORATION. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms and conditions of the GNU General Public License,
|
|
* version 2, as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
* more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#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 <asm/arch-tegra/gpio.h>
|
|
|
|
/* 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_ */
|