Home | History | Annotate | Line # | Download | only in pcmcia
pcmciareg.h revision 1.1.2.1
      1 /* most of this is from the PCMCIA PC Card Standard, Release 2.1 */
      2 
      3 /*
      4  * CIS Tuples
      5  */
      6 
      7 /* Layer 1 Basic Compatibility Tuples */
      8 #define PCMCIA_CISTPL_NULL	0x00
      9 #define PCMCIA_CISTPL_DEVICE	0x01
     10 #define PCMCIA_DTYPE_MASK		0xF0
     11 #define PCMCIA_DTYPE_NULL			0x00
     12 #define PCMCIA_DTYPE_ROM			0x10
     13 #define PCMCIA_DTYPE_OTPROM			0x20
     14 #define PCMCIA_DTYPE_EPROM			0x30
     15 #define PCMCIA_DTYPE_EEPROM			0x40
     16 #define PCMCIA_DTYPE_FLASH			0x50
     17 #define PCMCIA_DTYPE_SRAM			0x60
     18 #define PCMCIA_DTYPE_DRAM			0x70
     19 #define PCMCIA_DTYPE_FUNCSPEC			0xD0
     20 #define PCMCIA_DTYPE_EXTEND			0xE0
     21 #define PCMCIA_DSPEED_MASK		0x07
     22 #define PCMCIA_DSPEED_NULL			0x00
     23 #define PCMCIA_DSPEED_250NS			0x01
     24 #define PCMCIA_DSPEED_200NS			0x02
     25 #define PCMCIA_DSPEED_150NS			0x03
     26 #define PCMCIA_DSPEED_100NS			0x04
     27 #define PCMCIA_DSPEED_EXT			0x05
     28 
     29 /* the 2.1 docs have 0x02-0x07 as reserved, but the linux drivers list
     30    the follwing tuple code values.  I have at least one card (3com
     31    3c562 lan+modem) which has a code 0x06 tuple, so I'm going to
     32    assume that these are for real */
     33 
     34 #define PCMCIA_CISTPL_LONGLINK_CB		0x02
     35 #define PCMCIA_CISTPL_CONFIG_CB			0x04
     36 #define PCMCIA_CISTPL_CFTABLE_ENTRY_CB		0x05
     37 #define PCMCIA_CISTPL_LONGLINK_MFC		0x06
     38 #define PCMCIA_MFC_MEM_ATTR				0x00
     39 #define PCMCIA_MFC_MEM_COMMON				0x01
     40 #define PCMCIA_CISTPL_BAR			0x07
     41 
     42 #define PCMCIA_CISTPL_CHECKSUM		0x10
     43 #define PCMCIA_CISTPL_LONGLINK_A	0x11
     44 #define PCMCIA_CISTPL_LONGLINK_C	0x12
     45 #define PCMCIA_CISTPL_LINKTARGET	0x13
     46 #define PCMCIA_CISTPL_NO_LINK		0x14
     47 #define PCMCIA_CISTPL_VERS_1		0x15
     48 #define PCMCIA_CISTPL_ALTSTR		0x16
     49 #define PCMCIA_CISTPL_DEVICE_A		0x17
     50 #define PCMCIA_CISTPL_JEDEC_C		0x18
     51 #define PCMCIA_CISTPL_JEDEC_A		0x19
     52 #define PCMCIA_CISTPL_CONFIG		0x1A
     53 #define PCMCIA_TPCC_RASZ_MASK			0x03
     54 #define PCMCIA_TPCC_RASZ_SHIFT			0
     55 #define PCMCIA_TPCC_RMSZ_MASK			0x3C
     56 #define PCMCIA_TPCC_RMSZ_SHIFT			2
     57 #define PCMCIA_TPCC_RFSZ_MASK			0xC0
     58 #define PCMCIA_TPCC_RFSZ_SHIFT			6
     59 #define PCMCIA_CISTPL_CFTABLE_ENTRY	0x1B
     60 #define PCMCIA_TPCE_INDX_INTFACE		0x80
     61 #define PCMCIA_TPCE_INDX_DEFAULT		0x40
     62 #define PCMCIA_TPCE_INDX_NUM_MASK		0x3F
     63 #define PCMCIA_TPCE_IF_MWAIT			0x80
     64 #define PCMCIA_TPCE_IF_RDYBSY			0x40
     65 #define PCMCIA_TPCE_IF_WP			0x20
     66 #define PCMCIA_TPCE_IF_BVD			0x10
     67 #define PCMCIA_TPCE_IF_IFTYPE			0x0F
     68 #define PCMCIA_IFTYPE_MEMORY				0
     69 #define PCMCIA_IFTYPE_IO				1
     70 #define PCMCIA_TPCE_FS_MISC			0x80
     71 #define PCMCIA_TPCE_FS_MEMSPACE_MASK		0x60
     72 #define PCMCIA_TPCE_FS_MEMSPACE_NONE			0x00
     73 #define PCMCIA_TPCE_FS_MEMSPACE_LENGTH			0x20
     74 #define PCMCIA_TPCE_FS_MEMSPACE_LENGTHADDR		0x40
     75 #define PCMCIA_TPCE_FS_MEMSPACE_TABLE			0x60
     76 #define PCMCIA_TPCE_FS_IRQ			0x10
     77 #define PCMCIA_TPCE_FS_IOSPACE			0x08
     78 #define PCMCIA_TPCE_FS_TIMING			0x04
     79 #define PCMCIA_TPCE_FS_POWER_MASK		0x03
     80 #define PCMCIA_TPCE_FS_POWER_NONE			0x00
     81 #define PCMCIA_TPCE_FS_POWER_VCC			0x01
     82 #define PCMCIA_TPCE_FS_POWER_VCCVPP1			0x02
     83 #define PCMCIA_TPCE_FS_POWER_VCCVPP1VPP2		0x03
     84 #define PCMCIA_TPCE_TD_RESERVED_MASK		0xE0
     85 #define PCMCIA_TPCE_TD_RDYBSY_MASK		0x1C
     86 #define PCMCIA_TPCE_TD_WAIT_MASK		0x03
     87 #define PCMCIA_TPCE_IO_HASRANGE			0x80
     88 #define PCMCIA_TPCE_IO_BUSWIDTH_16BIT		0x40
     89 #define PCMCIA_TPCE_IO_BUSWIDTH_8BIT		0x20
     90 #define PCMCIA_TPCE_IO_IOADDRLINES_MASK		0x1F
     91 #define PCMCIA_TPCE_IO_RANGE_LENGTHSIZE_MASK	0xC0
     92 #define PCMCIA_TPCE_IO_RANGE_LENGTHSIZE_NONE		0x00
     93 #define PCMCIA_TPCE_IO_RANGE_LENGTHSIZE_ONE		0x40
     94 #define PCMCIA_TPCE_IO_RANGE_LENGTHSIZE_TWO		0x80
     95 #define PCMCIA_TPCE_IO_RANGE_LENGTHSIZE_FOUR		0xC0
     96 #define PCMCIA_TPCE_IO_RANGE_ADDRSIZE_MASK	0x30
     97 #define PCMCIA_TPCE_IO_RANGE_ADDRSIZE_NONE		0x00
     98 #define PCMCIA_TPCE_IO_RANGE_ADDRSIZE_ONE		0x10
     99 #define PCMCIA_TPCE_IO_RANGE_ADDRSIZE_TWO		0x20
    100 #define PCMCIA_TPCE_IO_RANGE_ADDRSIZE_FOUR		0x30
    101 #define PCMCIA_TPCE_IO_RANGE_COUNT		0x0F
    102 #define PCMCIA_TPCE_IR_SHARE			0x80
    103 #define PCMCIA_TPCE_IR_PULSE			0x40
    104 #define PCMCIA_TPCE_IR_LEVEL			0x20
    105 #define PCMCIA_TPCE_IR_HASMASK			0x10
    106 #define PCMCIA_TPCE_IR_IRQ			0x0F
    107 #define PCMCIA_TPCE_MS_HOSTADDR			0x80
    108 #define PCMCIA_TPCE_MS_CARDADDR_SIZE_MASK	0x60
    109 #define PCMCIA_TPCE_MS_CARDADDR_SIZE_SHIFT	5
    110 #define PCMCIA_TPCE_MS_LENGTH_SIZE_MASK		0x18
    111 #define PCMCIA_TPCE_MS_LENGTH_SIZE_SHIFT	3
    112 #define PCMCIA_TPCE_MS_COUNT			0x07
    113 #define PCMCIA_TPCE_MI_EXT			0x80
    114 #define PCMCIA_TPCE_MI_RESERVED			0x40
    115 #define PCMCIA_TPCE_MI_PWRDOWN			0x20
    116 #define PCMCIA_TPCE_MI_READONLY			0x10
    117 #define PCMCIA_TPCE_MI_AUDIO			0x08
    118 #define PCMCIA_TPCE_MI_MAXTWINS			0x07
    119 #define PCMCIA_CISTPL_DEVICE_OC		0x1C
    120 #define PCMCIA_CISTPL_DEVICE_OA		0x1D
    121 #define PCMCIA_CISTPL_DEVICE_GEO	0x1E
    122 #define PCMCIA_CISTPL_DEVICE_GEO_A	0x1F
    123 
    124 /* Layer 2 Data Recording Format Tuples */
    125 
    126 #define PCMCIA_CISTPL_MANFID		0x20
    127 #define PCMCIA_CISTPL_FUNCID		0x21
    128 #define PCMCIA_CISTPL_FUNCE		0x22
    129 #define PCMCIA_CISTPL_SWIL		0x23
    130 /* #define PCMCIA_CISTPL_RESERVED	0x24-0x3F */
    131 #define PCMCIA_CISTPL_VERS_2		0x40
    132 #define PCMCIA_CISTPL_FORMAT		0x41
    133 #define PCMCIA_CISTPL_GEOMETRY		0x42
    134 #define PCMCIA_CISTPL_BYTEORDER		0x43
    135 #define PCMCIA_CISTPL_DATE		0x44
    136 #define PCMCIA_CISTPL_BATTERY		0x45
    137 
    138 /* Layer 3 Data Organization Tuples */
    139 
    140 #define PCMCIA_CISTPL_ORG		0x46
    141 /* #define PCMCIA_CISTPL_RESERVED	0x47-0x7F */
    142 
    143 /* Layer 4 System-Specific Standard Tuples */
    144 
    145 /* #define PCMCIA_CISTPL_RESERVED	0x80-0xFE */
    146 #define PCMCIA_CISTPL_END		0xFF
    147 
    148 /*
    149  * Card Configuration Registers
    150  */
    151 
    152 #define PCMCIA_CCR_OPTION		0x00
    153 #define PCMCIA_CCR_OPTION_SRESET		0x80
    154 #define PCMCIA_CCR_OPTION_LEVIREQ		0x40
    155 #define PCMCIA_CCR_OPTION_CFINDEX		0x3F
    156 #define PCMCIA_CCR_OPTION_IREQ_ENABLE		0x04
    157 #define PCMCIA_CCR_OPTION_ADDR_DECODE		0x02
    158 #define PCMCIA_CCR_OPTION_FUNC_ENABLE		0x01
    159 #define PCMCIA_CCR_STATUS		0x02
    160 #define PCMCIA_CCR_STATUS_PINCHANGED		0x80
    161 #define PCMCIA_CCR_STATUS_SIGCHG		0x40
    162 #define PCMCIA_CCR_STATUS_IOIS8			0x20
    163 #define PCMCIA_CCR_STATUS_RESERVED1		0x10
    164 #define PCMCIA_CCR_STATUS_AUDIO			0x08
    165 #define PCMCIA_CCR_STATUS_PWRDWN		0x04
    166 #define PCMCIA_CCR_STATUS_INTR			0x02
    167 #define PCMCIA_CCR_STATUS_INTRACK		0x01
    168 #define PCMCIA_CCR_PIN			0x04
    169 #define PCMCIA_CCR_PIN_CBVD1			0x80
    170 #define PCMCIA_CCR_PIN_CBVD2			0x40
    171 #define PCMCIA_CCR_PIN_CRDYBSY			0x20
    172 #define PCMCIA_CCR_PIN_CWPROT			0x10
    173 #define PCMCIA_CCR_PIN_RBVD1			0x08
    174 #define PCMCIA_CCR_PIN_RBVD2			0x04
    175 #define PCMCIA_CCR_PIN_RRDYBSY			0x02
    176 #define PCMCIA_CCR_PIN_RWPROT			0x01
    177 #define PCMCIA_CCR_SOCKETCOPY		0x06
    178 #define PCMCIA_CCR_SOCKETCOPY_RESERVED		0x80
    179 #define PCMCIA_CCR_SOCKETCOPY_COPY_MASK		0x70
    180 #define PCMCIA_CCR_SOCKETCOPY_COPY_SHIFT	4
    181 #define PCMCIA_CCR_SOCKETCOPY_SOCKET_MASK	0x0F
    182 #define PCMCIA_CCR_IOBASE0		0x0A
    183 #define PCMCIA_CCR_IOBASE1		0x0C
    184 #define PCMCIA_CCR_IOBASE2		0x0E
    185 #define PCMCIA_CCR_IOBASE3		0x10
    186 #define PCMCIA_CCR_IOSIZE		0x12
    187 
    188 #define PCMCIA_CCR_SIZE				0x14
    189 
    190