264 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			264 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C
		
	
	
	
/*
 | 
						|
 * Copyright (c) 2011, Google Inc. All rights reserved.
 | 
						|
 * Portions Copyright 2011-2012 NVIDIA Corporation
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier:	GPL-2.0+
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef _TEGRA20_GPIO_H_
 | 
						|
#define _TEGRA20_GPIO_H_
 | 
						|
 | 
						|
/*
 | 
						|
 * The Tegra 2x GPIO controller has 224 GPIOs arranged in 7 banks of 4 ports,
 | 
						|
 * each with 8 GPIOs.
 | 
						|
 */
 | 
						|
#define TEGRA_GPIO_PORTS	4	/* number of ports per bank */
 | 
						|
#define TEGRA_GPIO_BANKS	7	/* 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];
 | 
						|
};
 | 
						|
 | 
						|
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,	/* pin 223 */
 | 
						|
};
 | 
						|
 | 
						|
#endif	/* TEGRA20_GPIO_H_ */
 |