linux/include/pcmcia/cisreg.h
<<
>>
Prefs
   1/*
   2 * cisreg.h
   3 *
   4 * This program is free software; you can redistribute it and/or modify
   5 * it under the terms of the GNU General Public License version 2 as
   6 * published by the Free Software Foundation.
   7 *
   8 * The initial developer of the original code is David A. Hinds
   9 * <dahinds@users.sourceforge.net>.  Portions created by David A. Hinds
  10 * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
  11 *
  12 * (C) 1999             David A. Hinds
  13 */
  14
  15#ifndef _LINUX_CISREG_H
  16#define _LINUX_CISREG_H
  17
  18/*
  19 * Offsets from ConfigBase for CIS registers
  20 */
  21#define CISREG_COR              0x00
  22#define CISREG_CCSR             0x02
  23#define CISREG_PRR              0x04
  24#define CISREG_SCR              0x06
  25#define CISREG_ESR              0x08
  26#define CISREG_IOBASE_0         0x0a
  27#define CISREG_IOBASE_1         0x0c
  28#define CISREG_IOBASE_2         0x0e
  29#define CISREG_IOBASE_3         0x10
  30#define CISREG_IOSIZE           0x12
  31
  32/*
  33 * Configuration Option Register
  34 */
  35#define COR_CONFIG_MASK         0x3f
  36#define COR_MFC_CONFIG_MASK     0x38
  37#define COR_FUNC_ENA            0x01
  38#define COR_ADDR_DECODE         0x02
  39#define COR_IREQ_ENA            0x04
  40#define COR_LEVEL_REQ           0x40
  41#define COR_SOFT_RESET          0x80
  42
  43/*
  44 * Card Configuration and Status Register
  45 */
  46#define CCSR_INTR_ACK           0x01
  47#define CCSR_INTR_PENDING       0x02
  48#define CCSR_POWER_DOWN         0x04
  49#define CCSR_AUDIO_ENA          0x08
  50#define CCSR_IOIS8              0x20
  51#define CCSR_SIGCHG_ENA         0x40
  52#define CCSR_CHANGED            0x80
  53
  54/*
  55 * Pin Replacement Register
  56 */
  57#define PRR_WP_STATUS           0x01
  58#define PRR_READY_STATUS        0x02
  59#define PRR_BVD2_STATUS         0x04
  60#define PRR_BVD1_STATUS         0x08
  61#define PRR_WP_EVENT            0x10
  62#define PRR_READY_EVENT         0x20
  63#define PRR_BVD2_EVENT          0x40
  64#define PRR_BVD1_EVENT          0x80
  65
  66/*
  67 * Socket and Copy Register
  68 */
  69#define SCR_SOCKET_NUM          0x0f
  70#define SCR_COPY_NUM            0x70
  71
  72/*
  73 * Extended Status Register
  74 */
  75#define ESR_REQ_ATTN_ENA        0x01
  76#define ESR_REQ_ATTN            0x10
  77
  78/*
  79 * CardBus Function Status Registers
  80 */
  81#define CBFN_EVENT              0x00
  82#define CBFN_MASK               0x04
  83#define CBFN_STATE              0x08
  84#define CBFN_FORCE              0x0c
  85
  86/*
  87 * These apply to all the CardBus function registers
  88 */
  89#define CBFN_WP                 0x0001
  90#define CBFN_READY              0x0002
  91#define CBFN_BVD2               0x0004
  92#define CBFN_BVD1               0x0008
  93#define CBFN_GWAKE              0x0010
  94#define CBFN_INTR               0x8000
  95
  96/*
  97 * Extra bits in the Function Event Mask Register
  98 */
  99#define FEMR_BAM_ENA            0x0020
 100#define FEMR_PWM_ENA            0x0040
 101#define FEMR_WKUP_MASK          0x4000
 102
 103/*
 104 * Indirect Addressing Registers for Zoomed Video: these are addresses
 105 * in common memory space
 106 */
 107#define CISREG_ICTRL0           0x02    /* control registers */
 108#define CISREG_ICTRL1           0x03
 109#define CISREG_IADDR0           0x04    /* address registers */
 110#define CISREG_IADDR1           0x05
 111#define CISREG_IADDR2           0x06
 112#define CISREG_IADDR3           0x07
 113#define CISREG_IDATA0           0x08    /* data registers */
 114#define CISREG_IDATA1           0x09
 115
 116#define ICTRL0_COMMON           0x01
 117#define ICTRL0_AUTOINC          0x02
 118#define ICTRL0_BYTEGRAN         0x04
 119
 120#endif /* _LINUX_CISREG_H */
 121