mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-13 23:02:59 +00:00
999c6baf79
These headers define the Tegra124 hardware. Add them to the usual place. Add Tegra124 chip ID/SKU ID definitions to common headers. There's no real HW change on Tegra124 for 90% of the toys, so it might make sense for a future patch to unify some of the content of these files in a common location. Signed-off-by: Tom Warren <twarren@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com> Tested-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
303 lines
4.5 KiB
C
303 lines
4.5 KiB
C
/*
|
|
* (C) Copyright 2013
|
|
* NVIDIA Corporation <www.nvidia.com>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef _TEGRA124_GPIO_H_
|
|
#define _TEGRA124_GPIO_H_
|
|
|
|
/*
|
|
* The Tegra124 GPIO controller has 256 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,
|
|
GPIO_PFF0, /* pin 248 */
|
|
GPIO_PFF1,
|
|
GPIO_PFF2,
|
|
GPIO_PFF3,
|
|
GPIO_PFF4,
|
|
GPIO_PFF5,
|
|
GPIO_PFF6,
|
|
GPIO_PFF7, /* pin 255 */
|
|
};
|
|
|
|
#endif /* _TEGRA124_GPIO_H_ */
|