1 /* 2 Mantis PCI bridge driver 3 4 Copyright (C) Manu Abraham (abraham.manu@gmail.com) 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software 18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 */ 20 21 #ifndef __MANTIS_REG_H 22 #define __MANTIS_REG_H 23 24 /* Interrupts */ 25 #define MANTIS_INT_STAT 0x00 26 #define MANTIS_INT_MASK 0x04 27 28 #define MANTIS_INT_RISCSTAT (0x0f << 28) 29 #define MANTIS_INT_RISCEN (0x01 << 27) 30 #define MANTIS_INT_I2CRACK (0x01 << 26) 31 32 /* #define MANTIS_INT_GPIF (0xff << 12) */ 33 34 #define MANTIS_INT_PCMCIA7 (0x01 << 19) 35 #define MANTIS_INT_PCMCIA6 (0x01 << 18) 36 #define MANTIS_INT_PCMCIA5 (0x01 << 17) 37 #define MANTIS_INT_PCMCIA4 (0x01 << 16) 38 #define MANTIS_INT_PCMCIA3 (0x01 << 15) 39 #define MANTIS_INT_PCMCIA2 (0x01 << 14) 40 #define MANTIS_INT_PCMCIA1 (0x01 << 13) 41 #define MANTIS_INT_PCMCIA0 (0x01 << 12) 42 #define MANTIS_INT_IRQ1 (0x01 << 11) 43 #define MANTIS_INT_IRQ0 (0x01 << 10) 44 #define MANTIS_INT_OCERR (0x01 << 8) 45 #define MANTIS_INT_PABORT (0x01 << 7) 46 #define MANTIS_INT_RIPERR (0x01 << 6) 47 #define MANTIS_INT_PPERR (0x01 << 5) 48 #define MANTIS_INT_FTRGT (0x01 << 3) 49 #define MANTIS_INT_RISCI (0x01 << 1) 50 #define MANTIS_INT_I2CDONE (0x01 << 0) 51 52 /* DMA */ 53 #define MANTIS_DMA_CTL 0x08 54 #define MANTIS_GPIF_RD (0xff << 24) 55 #define MANTIS_GPIF_WR (0xff << 16) 56 #define MANTIS_CPU_DO (0x01 << 10) 57 #define MANTIS_DRV_DO (0x01 << 9) 58 #define MANTIS_I2C_RD (0x01 << 7) 59 #define MANTIS_I2C_WR (0x01 << 6) 60 #define MANTIS_DCAP_MODE (0x01 << 5) 61 #define MANTIS_FIFO_TP_4 (0x00 << 3) 62 #define MANTIS_FIFO_TP_8 (0x01 << 3) 63 #define MANTIS_FIFO_TP_16 (0x02 << 3) 64 #define MANTIS_FIFO_EN (0x01 << 2) 65 #define MANTIS_DCAP_EN (0x01 << 1) 66 #define MANTIS_RISC_EN (0x01 << 0) 67 68 /* DEBUG */ 69 #define MANTIS_DEBUGREG 0x0c 70 #define MANTIS_DATINV (0x0e << 7) 71 #define MANTIS_TOP_DEBUGSEL (0x07 << 4) 72 #define MANTIS_PCMCIA_DEBUGSEL (0x0f << 0) 73 74 #define MANTIS_RISC_START 0x10 75 #define MANTIS_RISC_PC 0x14 76 77 /* I2C */ 78 #define MANTIS_I2CDATA_CTL 0x18 79 #define MANTIS_I2C_RATE_1 (0x00 << 6) 80 #define MANTIS_I2C_RATE_2 (0x01 << 6) 81 #define MANTIS_I2C_RATE_3 (0x02 << 6) 82 #define MANTIS_I2C_RATE_4 (0x03 << 6) 83 #define MANTIS_I2C_STOP (0x01 << 5) 84 #define MANTIS_I2C_PGMODE (0x01 << 3) 85 86 /* DATA */ 87 #define MANTIS_CMD_DATA_R1 0x20 88 #define MANTIS_CMD_DATA_3 (0xff << 24) 89 #define MANTIS_CMD_DATA_2 (0xff << 16) 90 #define MANTIS_CMD_DATA_1 (0xff << 8) 91 #define MANTIS_CMD_DATA_0 (0xff << 0) 92 93 #define MANTIS_CMD_DATA_R2 0x24 94 #define MANTIS_CMD_DATA_7 (0xff << 24) 95 #define MANTIS_CMD_DATA_6 (0xff << 16) 96 #define MANTIS_CMD_DATA_5 (0xff << 8) 97 #define MANTIS_CMD_DATA_4 (0xff << 0) 98 99 #define MANTIS_CONTROL 0x28 100 #define MANTIS_DET (0x01 << 7) 101 #define MANTIS_DAT_CF_EN (0x01 << 6) 102 #define MANTIS_ACS (0x03 << 4) 103 #define MANTIS_VCCEN (0x01 << 3) 104 #define MANTIS_BYPASS (0x01 << 2) 105 #define MANTIS_MRST (0x01 << 1) 106 #define MANTIS_CRST_INT (0x01 << 0) 107 108 #define MANTIS_GPIF_CFGSLA 0x84 109 #define MANTIS_GPIF_WAITSMPL (0x07 << 28) 110 #define MANTIS_GPIF_BYTEADDRSUB (0x01 << 25) 111 #define MANTIS_GPIF_WAITPOL (0x01 << 24) 112 #define MANTIS_GPIF_NCDELAY (0x07 << 20) 113 #define MANTIS_GPIF_RW2CSDELAY (0x07 << 16) 114 #define MANTIS_GPIF_SLFTIMEDMODE (0x01 << 15) 115 #define MANTIS_GPIF_SLFTIMEDDELY (0x7f << 8) 116 #define MANTIS_GPIF_DEVTYPE (0x07 << 4) 117 #define MANTIS_GPIF_BIGENDIAN (0x01 << 3) 118 #define MANTIS_GPIF_FETCHCMD (0x03 << 1) 119 #define MANTIS_GPIF_HWORDDEV (0x01 << 0) 120 121 #define MANTIS_GPIF_WSTOPER 0x90 122 #define MANTIS_GPIF_WSTOPERWREN3 (0x01 << 31) 123 #define MANTIS_GPIF_PARBOOTN (0x01 << 29) 124 #define MANTIS_GPIF_WSTOPERSLID3 (0x1f << 24) 125 #define MANTIS_GPIF_WSTOPERWREN2 (0x01 << 23) 126 #define MANTIS_GPIF_WSTOPERSLID2 (0x1f << 16) 127 #define MANTIS_GPIF_WSTOPERWREN1 (0x01 << 15) 128 #define MANTIS_GPIF_WSTOPERSLID1 (0x1f << 8) 129 #define MANTIS_GPIF_WSTOPERWREN0 (0x01 << 7) 130 #define MANTIS_GPIF_WSTOPERSLID0 (0x1f << 0) 131 132 #define MANTIS_GPIF_CS2RW 0x94 133 #define MANTIS_GPIF_CS2RWWREN3 (0x01 << 31) 134 #define MANTIS_GPIF_CS2RWDELY3 (0x3f << 24) 135 #define MANTIS_GPIF_CS2RWWREN2 (0x01 << 23) 136 #define MANTIS_GPIF_CS2RWDELY2 (0x3f << 16) 137 #define MANTIS_GPIF_CS2RWWREN1 (0x01 << 15) 138 #define MANTIS_GPIF_CS2RWDELY1 (0x3f << 8) 139 #define MANTIS_GPIF_CS2RWWREN0 (0x01 << 7) 140 #define MANTIS_GPIF_CS2RWDELY0 (0x3f << 0) 141 142 #define MANTIS_GPIF_IRQCFG 0x98 143 #define MANTIS_GPIF_IRQPOL (0x01 << 8) 144 #define MANTIS_MASK_WRACK (0x01 << 7) 145 #define MANTIS_MASK_BRRDY (0x01 << 6) 146 #define MANTIS_MASK_OVFLW (0x01 << 5) 147 #define MANTIS_MASK_OTHERR (0x01 << 4) 148 #define MANTIS_MASK_WSTO (0x01 << 3) 149 #define MANTIS_MASK_EXTIRQ (0x01 << 2) 150 #define MANTIS_MASK_PLUGIN (0x01 << 1) 151 #define MANTIS_MASK_PLUGOUT (0x01 << 0) 152 153 #define MANTIS_GPIF_STATUS 0x9c 154 #define MANTIS_SBUF_KILLOP (0x01 << 15) 155 #define MANTIS_SBUF_OPDONE (0x01 << 14) 156 #define MANTIS_SBUF_EMPTY (0x01 << 13) 157 #define MANTIS_GPIF_DETSTAT (0x01 << 9) 158 #define MANTIS_GPIF_INTSTAT (0x01 << 8) 159 #define MANTIS_GPIF_WRACK (0x01 << 7) 160 #define MANTIS_GPIF_BRRDY (0x01 << 6) 161 #define MANTIS_SBUF_OVFLW (0x01 << 5) 162 #define MANTIS_GPIF_OTHERR (0x01 << 4) 163 #define MANTIS_SBUF_WSTO (0x01 << 3) 164 #define MANTIS_GPIF_EXTIRQ (0x01 << 2) 165 #define MANTIS_CARD_PLUGIN (0x01 << 1) 166 #define MANTIS_CARD_PLUGOUT (0x01 << 0) 167 168 #define MANTIS_GPIF_BRADDR 0xa0 169 #define MANTIS_GPIF_PCMCIAREG (0x01 << 27) 170 #define MANTIS_GPIF_PCMCIAIOM (0x01 << 26) 171 #define MANTIS_GPIF_BR_ADDR (0xfffffff << 0) 172 173 #define MANTIS_GPIF_BRBYTES 0xa4 174 #define MANTIS_GPIF_BRCNT (0xfff << 0) 175 176 #define MANTIS_PCMCIA_RESET 0xa8 177 #define MANTIS_PCMCIA_RSTVAL (0xff << 0) 178 179 #define MANTIS_CARD_RESET 0xac 180 181 #define MANTIS_GPIF_ADDR 0xb0 182 #define MANTIS_GPIF_HIFRDWRN (0x01 << 31) 183 #define MANTIS_GPIF_PCMCIAREG (0x01 << 27) 184 #define MANTIS_GPIF_PCMCIAIOM (0x01 << 26) 185 #define MANTIS_GPIF_HIFADDR (0xfffffff << 0) 186 187 #define MANTIS_GPIF_DOUT 0xb4 188 #define MANTIS_GPIF_HIFDOUT (0xfffffff << 0) 189 190 #define MANTIS_GPIF_DIN 0xb8 191 #define MANTIS_GPIF_HIFDIN (0xfffffff << 0) 192 193 #define MANTIS_GPIF_SPARE 0xbc 194 #define MANTIS_GPIF_LOGICRD (0xffff << 16) 195 #define MANTIS_GPIF_LOGICRW (0xffff << 0) 196 197 #endif /* __MANTIS_REG_H */ 198