linux/drivers/media/pci/mantis/mantis_reg.h
<<
>>
Prefs
   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