1 1.1 hamajima /* $NetBSD: epgpioreg.h,v 1.1 2005/11/12 05:33:23 hamajima Exp $ */ 2 1.1 hamajima 3 1.1 hamajima /* 4 1.1 hamajima * Copyright (c) 2005 HAMAJIMA Katsuomi. All rights reserved. 5 1.1 hamajima * 6 1.1 hamajima * Redistribution and use in source and binary forms, with or without 7 1.1 hamajima * modification, are permitted provided that the following conditions 8 1.1 hamajima * are met: 9 1.1 hamajima * 1. Redistributions of source code must retain the above copyright 10 1.1 hamajima * notice, this list of conditions and the following disclaimer. 11 1.1 hamajima * 2. Redistributions in binary form must reproduce the above copyright 12 1.1 hamajima * notice, this list of conditions and the following disclaimer in the 13 1.1 hamajima * documentation and/or other materials provided with the distribution. 14 1.1 hamajima * 15 1.1 hamajima * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 1.1 hamajima * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 1.1 hamajima * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 1.1 hamajima * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 1.1 hamajima * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 1.1 hamajima * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 1.1 hamajima * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 1.1 hamajima * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 1.1 hamajima * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 1.1 hamajima * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 1.1 hamajima * SUCH DAMAGE. 26 1.1 hamajima */ 27 1.1 hamajima 28 1.1 hamajima /* Cirrus Logic EP9315 29 1.1 hamajima GPIO Interface register 30 1.1 hamajima http://www.cirrus.com/jp/pubs/manual/EP9315_Users_Guide.pdf */ 31 1.1 hamajima 32 1.1 hamajima #ifndef _EPGPIOREG_H_ 33 1.1 hamajima #define _EPGPIOREG_H_ 34 1.1 hamajima 35 1.1 hamajima /* Port A 36 1.1 hamajima 7:0 EGPIO[7:0] 37 1.1 hamajima 6 I2S port 2 SDO2 38 1.1 hamajima 5 I2S port 1 SDI1 39 1.1 hamajima 4 I2S port 1 SDO1 40 1.1 hamajima 3 HDLC clock or TENn 41 1.1 hamajima 2 DMARQ 42 1.1 hamajima 1 RTC 32.768kHz reference clock 43 1.1 hamajima 0 Modem Ring Indicator */ 44 1.1 hamajima #define EP93XX_GPIO_PADR 0x00 /* Data (R/W) */ 45 1.1 hamajima #define EP93XX_GPIO_PADDR 0x10 /* Data Direction (R/W) */ 46 1.1 hamajima #define EP93XX_GPIO_AIntEn 0x9c /* Interrupt Enable (R/W) */ 47 1.1 hamajima #define EP93XX_GPIO_AIntType1 0x90 /* Interrupt edge or level (R/W) */ 48 1.1 hamajima #define EP93XX_GPIO_AIntType2 0x94 /* rising/falling edge, high/low level (R/W) */ 49 1.1 hamajima #define EP93XX_GPIO_AEOI 0x98 /* clear interrupt (W) */ 50 1.1 hamajima #define EP93XX_GPIO_ADB 0xa8 /* Interrupt debounce enable (R/W) */ 51 1.1 hamajima #define EP93XX_GPIO_RawIntStsA 0xa4 /* Raw Interrupt Status (R) */ 52 1.1 hamajima #define EP93XX_GPIO_IntStsA 0xa0 /* Masked interrupt Status (R) */ 53 1.1 hamajima 54 1.1 hamajima /* Port B 55 1.1 hamajima 7:0 EGPIO[15:8] 56 1.1 hamajima 7 DASPn 57 1.1 hamajima 5 I2S port 2 SDI2 */ 58 1.1 hamajima #define EP93XX_GPIO_PBDR 0x04 /* Data (R/W) */ 59 1.1 hamajima #define EP93XX_GPIO_PBDDR 0x14 /* Data Direction (R/W) */ 60 1.1 hamajima #define EP93XX_GPIO_BIntEn 0xb8 /* Interrupt Enable (R/W) */ 61 1.1 hamajima #define EP93XX_GPIO_BIntType1 0xac /* Interrupt edge or level (R/W) */ 62 1.1 hamajima #define EP93XX_GPIO_BIntType2 0xb0 /* rising/falling edge, high/low level (R/W) */ 63 1.1 hamajima #define EP93XX_GPIO_BEOI 0xb4 /* clear interrupt (W) */ 64 1.1 hamajima #define EP93XX_GPIO_BDB 0xc4 /* Interrupt debounce enable (R/W) */ 65 1.1 hamajima #define EP93XX_GPIO_RawIntStsB 0xc0 /* Raw Interrupt Status (R) */ 66 1.1 hamajima #define EP93XX_GPIO_IntStsB 0xbc /* Masked interrupt Status (R) */ 67 1.1 hamajima 68 1.1 hamajima /* Port C 69 1.1 hamajima 7:0 ROW[7:0] Key Matrix row pin */ 70 1.1 hamajima #define EP93XX_GPIO_PCDR 0x08 /* Data (R/W) */ 71 1.1 hamajima #define EP93XX_GPIO_PCDDR 0x18 /* Data Direction (R/W) */ 72 1.1 hamajima 73 1.1 hamajima /* Port D 74 1.1 hamajima 7:0 COL[7:0] Key Matrix column pin */ 75 1.1 hamajima #define EP93XX_GPIO_PDDR 0x0c /* Data (R/W) */ 76 1.1 hamajima #define EP93XX_GPIO_PDDDR 0x1c /* Data Direction (R/W) */ 77 1.1 hamajima 78 1.1 hamajima /* Port E 79 1.1 hamajima 7:5 IDEDA[2:0] IDE control pin 80 1.1 hamajima 4 IDECS1n IDE control pin 81 1.1 hamajima 3 IDECS0n IDE control pin 82 1.1 hamajima 2 DIORn IDE control pin 83 1.1 hamajima 1 RDLED Red LED pin 84 1.1 hamajima 0 GRLED Green LED pin */ 85 1.1 hamajima #define EP93XX_GPIO_PEDR 0x20 /* Data (R/W) */ 86 1.1 hamajima #define EP93XX_GPIO_PEDDR 0x24 /* Data Direction (R/W) */ 87 1.1 hamajima 88 1.1 hamajima /* Port F 89 1.1 hamajima 7 VS2 PCMCIA pin 90 1.1 hamajima 6 READY PCMCIA pin 91 1.1 hamajima 5 VS1 PCMCIA pin 92 1.1 hamajima 4 MCBVD2 PCMCIA pin 93 1.1 hamajima 3 MCBVD1 PCMCIA pin 94 1.1 hamajima 2 MCCD2 PCMCIA pin 95 1.1 hamajima 1 MCCD1 PCMCIA pin 96 1.1 hamajima 0 WP PCMCIA pin */ 97 1.1 hamajima #define EP93XX_GPIO_PFDR 0x30 /* Data (R/W) */ 98 1.1 hamajima #define EP93XX_GPIO_PFDDR 0x34 /* Data Direction (R/W) */ 99 1.1 hamajima #define EP93XX_GPIO_FIntEn 0x58 /* Interrupt Enable (R/W) */ 100 1.1 hamajima #define EP93XX_GPIO_FIntType1 0x4c /* Interrupt edge or level (R/W) */ 101 1.1 hamajima #define EP93XX_GPIO_FIntType2 0x50 /* rising/falling edge, high/low level (R/W) */ 102 1.1 hamajima #define EP93XX_GPIO_FEOI 0x54 /* clear interrupt (W) */ 103 1.1 hamajima #define EP93XX_GPIO_FDB 0x64 /* Interrupt debounce enable (R/W) */ 104 1.1 hamajima #define EP93XX_GPIO_RawIntStsF 0x60 /* Raw Interrupt Status (R) */ 105 1.1 hamajima #define EP93XX_GPIO_IntStsF 0x5c /* Masked interrupt Status (R) */ 106 1.1 hamajima 107 1.1 hamajima /* Port G 108 1.1 hamajima 7:4 DD[15:12] IDE data pin 109 1.1 hamajima 3:2 SLA[1:0] PCMCIA voltage control pin 110 1.1 hamajima 1 EEDAT EEPROM data pin 111 1.1 hamajima 0 EECLK EEPROM clock pin */ 112 1.1 hamajima #define EP93XX_GPIO_PGDR 0x38 /* Data (R/W) */ 113 1.1 hamajima #define EP93XX_GPIO_PGDDR 0x3c /* Data Direction (R/W) */ 114 1.1 hamajima 115 1.1 hamajima /* Port H 116 1.1 hamajima 7:0 DD[7:0] IDE data pin */ 117 1.1 hamajima #define EP93XX_GPIO_PHDR 0x40 /* Data (R/W) */ 118 1.1 hamajima #define EP93XX_GPIO_PHDDR 0x44 /* Data Direction (R/W) */ 119 1.1 hamajima 120 1.1 hamajima /* EEPROM interface pin drive type (R/W) */ 121 1.1 hamajima #define EP93XX_GPIO_EEDrive 0xc8 122 1.1 hamajima #define EP93XX_GPIO_DATOD (1<<1) /* EEDAT pin */ 123 1.1 hamajima #define EP93XX_GPIO_CLKOD (1<<0) /* EECLK pin */ 124 1.1 hamajima 125 1.1 hamajima /* Interrupt */ 126 1.1 hamajima #define EP93XX_GPIO0_INTR 19 /* Port F bit 0 */ 127 1.1 hamajima #define EP93XX_GPIO1_INTR 20 /* Port F bit 1 */ 128 1.1 hamajima #define EP93XX_GPIO2_INTR 21 /* Port F bit 2 */ 129 1.1 hamajima #define EP93XX_GPIO3_INTR 22 /* Port F bit 3 */ 130 1.1 hamajima #define EP93XX_GPIO4_INTR 47 /* Port F bit 4 */ 131 1.1 hamajima #define EP93XX_GPIO5_INTR 48 /* Port F bit 5 */ 132 1.1 hamajima #define EP93XX_GPIO6_INTR 49 /* Port F bit 6 */ 133 1.1 hamajima #define EP93XX_GPIO7_INTR 50 /* Port F bit 7 */ 134 1.1 hamajima #define EP93XX_GPIO_INTR 59 /* Port A or B */ 135 1.1 hamajima 136 1.1 hamajima #endif /* _EPGPIOREG_H_ */ 137