1/****************************************************************************/ 2/* 3 * linux/include/asm-arm/arch-l7200/gpio.h 4 * 5 * Registers and helper functions for the L7200 Link-Up Systems 6 * GPIO. 7 * 8 * (C) Copyright 2000, S A McConnell (samcconn@cotw.com) 9 * 10 * This file is subject to the terms and conditions of the GNU General Public 11 * License. See the file COPYING in the main directory of this archive for 12 * more details. 13 */ 14 15/****************************************************************************/ 16 17#define GPIO_OFF 0x00005000 /* Offset from IO_START to the GPIO reg's. */ 18 19/* IO_START and IO_BASE are defined in hardware.h */ 20 21#define GPIO_START (IO_START_2 + GPIO_OFF) /* Physical addr of the GPIO reg. */ 22#define GPIO_BASE (IO_BASE_2 + GPIO_OFF) /* Virtual addr of the GPIO reg. */ 23 24/* Offsets from the start of the GPIO for all the registers. */ 25#define PADR_OFF 0x000 26#define PADDR_OFF 0x004 27#define PASBSR_OFF 0x008 28#define PAEENR_OFF 0x00c 29#define PAESNR_OFF 0x010 30#define PAESTR_OFF 0x014 31#define PAIMR_OFF 0x018 32#define PAINT_OFF 0x01c 33 34#define PBDR_OFF 0x020 35#define PBDDR_OFF 0x024 36#define PBSBSR_OFF 0x028 37#define PBIMR_OFF 0x038 38#define PBINT_OFF 0x03c 39 40#define PCDR_OFF 0x040 41#define PCDDR_OFF 0x044 42#define PCSBSR_OFF 0x048 43#define PCIMR_OFF 0x058 44#define PCINT_OFF 0x05c 45 46#define PDDR_OFF 0x060 47#define PDDDR_OFF 0x064 48#define PDSBSR_OFF 0x068 49#define PDEENR_OFF 0x06c 50#define PDESNR_OFF 0x070 51#define PDESTR_OFF 0x074 52#define PDIMR_OFF 0x078 53#define PDINT_OFF 0x07c 54 55#define PEDR_OFF 0x080 56#define PEDDR_OFF 0x084 57#define PESBSR_OFF 0x088 58#define PEEENR_OFF 0x08c 59#define PEESNR_OFF 0x090 60#define PEESTR_OFF 0x094 61#define PEIMR_OFF 0x098 62#define PEINT_OFF 0x09c 63 64/* Define the GPIO registers for use by device drivers and the kernel. */ 65#define PADR (*(volatile unsigned long *)(GPIO_BASE+PADR_OFF)) 66#define PADDR (*(volatile unsigned long *)(GPIO_BASE+PADDR_OFF)) 67#define PASBSR (*(volatile unsigned long *)(GPIO_BASE+PASBSR_OFF)) 68#define PAEENR (*(volatile unsigned long *)(GPIO_BASE+PAEENR_OFF)) 69#define PAESNR (*(volatile unsigned long *)(GPIO_BASE+PAESNR_OFF)) 70#define PAESTR (*(volatile unsigned long *)(GPIO_BASE+PAESTR_OFF)) 71#define PAIMR (*(volatile unsigned long *)(GPIO_BASE+PAIMR_OFF)) 72#define PAINT (*(volatile unsigned long *)(GPIO_BASE+PAINT_OFF)) 73 74#define PBDR (*(volatile unsigned long *)(GPIO_BASE+PBDR_OFF)) 75#define PBDDR (*(volatile unsigned long *)(GPIO_BASE+PBDDR_OFF)) 76#define PBSBSR (*(volatile unsigned long *)(GPIO_BASE+PBSBSR_OFF)) 77#define PBIMR (*(volatile unsigned long *)(GPIO_BASE+PBIMR_OFF)) 78#define PBINT (*(volatile unsigned long *)(GPIO_BASE+PBINT_OFF)) 79 80#define PCDR (*(volatile unsigned long *)(GPIO_BASE+PCDR_OFF)) 81#define PCDDR (*(volatile unsigned long *)(GPIO_BASE+PCDDR_OFF)) 82#define PCSBSR (*(volatile unsigned long *)(GPIO_BASE+PCSBSR_OFF)) 83#define PCIMR (*(volatile unsigned long *)(GPIO_BASE+PCIMR_OFF)) 84#define PCINT (*(volatile unsigned long *)(GPIO_BASE+PCINT_OFF)) 85 86#define PDDR (*(volatile unsigned long *)(GPIO_BASE+PDDR_OFF)) 87#define PDDDR (*(volatile unsigned long *)(GPIO_BASE+PDDDR_OFF)) 88#define PDSBSR (*(volatile unsigned long *)(GPIO_BASE+PDSBSR_OFF)) 89#define PDEENR (*(volatile unsigned long *)(GPIO_BASE+PDEENR_OFF)) 90#define PDESNR (*(volatile unsigned long *)(GPIO_BASE+PDESNR_OFF)) 91#define PDESTR (*(volatile unsigned long *)(GPIO_BASE+PDESTR_OFF)) 92#define PDIMR (*(volatile unsigned long *)(GPIO_BASE+PDIMR_OFF)) 93#define PDINT (*(volatile unsigned long *)(GPIO_BASE+PDINT_OFF)) 94 95#define PEDR (*(volatile unsigned long *)(GPIO_BASE+PEDR_OFF)) 96#define PEDDR (*(volatile unsigned long *)(GPIO_BASE+PEDDR_OFF)) 97#define PESBSR (*(volatile unsigned long *)(GPIO_BASE+PESBSR_OFF)) 98#define PEEENR (*(volatile unsigned long *)(GPIO_BASE+PEEENR_OFF)) 99#define PEESNR (*(volatile unsigned long *)(GPIO_BASE+PEESNR_OFF)) 100#define PEESTR (*(volatile unsigned long *)(GPIO_BASE+PEESTR_OFF)) 101#define PEIMR (*(volatile unsigned long *)(GPIO_BASE+PEIMR_OFF)) 102#define PEINT (*(volatile unsigned long *)(GPIO_BASE+PEINT_OFF)) 103 104#define VEE_EN 0x02 105#define BACKLIGHT_EN 0x04 106