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