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