📄 tuple.h
字号:
//**********************************************************************
//
// Filename: tuples.h
//
// Description: Tuples definitions for PCMCIA.
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
// Copyright(c) Cirrus Logic Corporation 2001, All Rights Reserved
//
//**********************************************************************
#ifndef _H_TUPLE
#define _H_TUPLE
//
// PC Card CIS Tuples types
//
#define CISTPL_NULL 0x00
#define CISTPL_DEVICE 0x01
#define CISTPL_LONGLINK_MFC 0x06
#define CISTPL_CHECKSUM 0x10
#define CISTPL_LONGLINK_A 0x11
#define CISTPL_LONGLINK_C 0x12
#define CISTPL_LINKTARGET 0x13
#define CISTPL_NOLINK 0x14
#define CISTPL_VERS_1 0x15
#define CISTPL_ALTSTR 0x16
#define CISTPL_DEVICE_A 0x17
#define CISTPL_JEDEC_C 0x18
#define CISTPL_JEDEC_A 0x19
#define CISTPL_CONFIG 0x1a
#define CISTPL_CFTABLE_ENTRY 0x1b
#define CISTPL_DEVICE_0C 0x1C
#define CISTPL_DEVICE_0A 0x1D
#define CISTPL_DEVICEGEO_A 0x1F
#define CISTPL_MANFID 0x20
#define CISTPL_FUNCID 0x21
#define CISTPL_FUNCE 0x22
#define CISTPL_END 0xff
//
// Touple codes for all touples.
//
#define TPL_CODE 0x00
#define TPL_LINK 0x01
//
// Device tuples bit fields
//
#define DTYPE_MASK 0xF0
#define DTYPE_NULL 0x00
#define DTYPE_ROM 0x10
#define DTYPE_OTPROM 0x20
#define DTYPE_EPROM 0x30
#define DTYPE_EEPROM 0x40
#define DTYPE_FLASH 0x50
#define DTYPE_SRAM 0x60
#define DTYPE_DRAM 0x70
#define DTYPE_FUNCSPEC 0xD0
#define DTYPE_EXTENDED 0xE0
#define DTYPE_RESERVED 0xF0
#define DWRITE_PROTECT 0x08
#define DSPEED_MASK 0x07
#define DSPEED_NULL 0x00
#define DSPEED_250NS 0x01
#define DSPEED_200NS 0x02
#define DSPEED_150NS 0x03
#define DSPEED_100NS 0x04
#define DSPEED_EXTENDED 0x07
#define DSIZE_UNITS_MASK 0x07
#define DSIZE_UNITS_512B 0
#define DSIZE_UNITS_2K 1
#define DSIZE_UNITS_8K 2
#define DSIZE_UNITS_32K 3
#define DSIZE_UNITS_128K 4
#define DSIZE_UNITS_512K 5
#define DSIZE_UNITS_2M 6
#define DSIZE_UNITS_RESERVED 7
#define DSIZE_NUM_MASK 0xf8
#define DSIZE_NUM_SHIFT 3
//
// Level 1 Version /Product Information.
//
#define TPLLV1_MAJOR 2
#define TPLLV1_MINOR 3
#define TPLLV1_INFO 4
//
// Configuration Tuple
//
#define TPCE_INDEX 2
#define INDEX_CONFIG_MASK 0x3F
#define INDEX_DEFAULT 0x40
#define INDEX_INTFACE 0x80
#define IF_MWAIT 0x80
#define IF_READY 0x40
#define IF_WP 0x20
#define IF_BVD 0x10
#define IF_INTTYPE_MASK 0x0F
#define IF_INTTYPE_MEMORY 0x00
#define IF_INTTYPE_IO_MEMORY 0x01
#define IF_INTTYPE_C0 0x4
#define IF_INTTYPE_C1 0x5
#define IF_INTTYPE_C2 0x6
#define IF_INTTYPE_C3 0x7
#define FS_MEM_SPACE_MASK 0x60
#define FS_MEM_SPACE_SHIFT 0x6
#define FS_IRQ 0x10
#define FS_IOSPACE 0x08
#define FS_TIMING 0x04
#define FS_POWER_MASK 0x03
#define FS_POWER_NOPOWER 0x00
#define FS_POWER_VCC 0x01
#define FS_POWER_VCC_VPP 0x02
#define FS_POWER_VCC_VP1_VP2 0x03
#define FS_PD_RFU 0x80
#define FS_PD_PDWNI 0x40
#define FS_PD_PEAKI 0x20
#define FS_PD_AVGI 0x10
#define FS_PD_STATICI 0x08
#define FS_PD_MAXV 0x04
#define FS_PD_MINV 0x02
#define FS_PD_NOMV 0x01
#define TPCE_POWER_DESC
#define POWER_DESC_EXT 0x80
#define POWER_DESC_MANT_MASK 0x78
#define POWER_DESC_MANT_SHIFT 3
#define POWER_DESC_EXP_MASK 0x07
#define POWER_DESC_EXP_SHIFT 0
#define TD_WAIT_SCALE 0x03
#define TD_WAIT_SCALE_SHIFT 0
#define TD_READY_SCALE 0x1C
#define TD_READY_SCALE_SHIFT 2
#define IO_IOADDR_LINES 0x1F
#define IO_BUS_MASK 0x60
#define IO_RANGE 0x80
#define IO_BUS_RESERVED 0x00
#define IO_BUS_8BIT 0x20
#define IO_BUS_16BIT 0x40
#define IO_BUS_8_16BIT 0x60
#define IO_DESC_NUMBER_MASK 0x0F
#define IO_DESC_ADDRESS_MASK 0x30
#define IO_DESC_ADDRESS_SHIFT 4
#define IO_DESC_LENGTH_MASK 0xC0
#define IO_DESC_LENGTH_SHIFT 6
#define IR_SHARE 0x80
#define IR_PULSE 0x40
#define IR_LEVEL 0x20
#define IR_MASK 0x10
#define IR_IRQ_NUMBER 0x0F
#define IR_NMI 0x08
#define IR_IOCK 0x04
#define IR_BERR 0x02
#define IR_VEND 0x01
#define MS_NUM_WINDOWS 0x07
#define MS_LENGTH_S_MASK 0x18
#define MS_LENGTH_S_SHIFT 3
#define MS_CARD_S_MASK 0x60
#define MS_CARD_S_SHIFT 5
#define MS_HOST_ADDR 0x80
#define FUNCTION_MULTIFUNCTION 0x00
#define FUNCTION_MEMORY 0x01
#define FUNCTION_SERIAL_PORT 0x02
#define FUNCTION_PARALLEL_PORT 0x03
#define FUNCTION_FIXED_DISK 0x04
#define FUNCTION_VIDEO_ADAPTER 0x05
#define FUNCTION_NETWORK_ADAPTER 0x06
#define FUNCTION_AIMS 0x07
#define FUNCTION_SCSI 0x08
#define FUNCTION_SECURITY 0x09
#define FUNCTION_INSTRUMENT 0x0a
#define FUNCTION_VENDOR_SPECIFIC 0xFE
//
// Manufacture ids
//
#define MANFID_3COM 0x0101
#define PRODID_3COM_3CXEM556 0x0035
#define PRODID_3COM_3CCFEM556 0x0556
#define PRODID_3COM_3C562 0x0562
#define MANFID_ACCTON 0x01bf
#define PRODID_ACCTON_EN2226 0x010a
#define MANFID_ADAPTEC 0x012f
#define PRODID_ADAPTEC_SCSI 0x0001
#define MANFID_ATT 0xffff
#define PRODID_ATT_KIT 0x0100
#define MANFID_CONTEC 0xc001
#define MANFID_FUJITSU 0x0004
#define PRODID_FUJITSU_MBH10302 0x0004
#define PRODID_FUJITSU_MBH10304 0x1003
#define PRODID_FUJITSU_LA501 0x2000
#define MANFID_IBM 0x00a4
#define PRODID_IBM_HOME_AND_AWAY 0x002e
#define MANFID_INTEL 0x0089
#define PRODID_INTEL_DUAL_RS232 0x0301
#define PRODID_INTEL_2PLUS 0x8422
#define MANFID_LINKSYS 0x0143
#define PRODID_LINKSYS_PCMLM28 0xc0ab
#define PRODID_LINKSYS_3400 0x3341
#define MANFID_MEGAHERTZ 0x0102
#define PRODID_MEGAHERTZ_VARIOUS 0x0000
#define PRODID_MEGAHERTZ_EM3288 0x0006
#define MANFID_MACNICA 0xc00b
#define MANFID_MOTOROLA 0x0109
#define PRODID_MOTOROLA_MARINER 0x0501
#define MANFID_NATINST 0x010b
#define PRODID_NATINST_QUAD_RS232 0xd180
#define MANFID_NEW_MEDIA 0x0057
#define MANFID_NOKIA 0x0124
#define PRODID_NOKIA_CARDPHONE 0x0900
#define MANFID_OLICOM 0x0121
#define PRODID_OLICOM_OC2231 0x3122
#define PRODID_OLICOM_OC2232 0x3222
#define MANFID_OMEGA 0x0137
#define PRODID_OMEGA_QSP_100 0x0025
#define MANFID_OSITECH 0x0140
#define PRODID_OSITECH_JACK_144 0x0001
#define PRODID_OSITECH_JACK_288 0x0002
#define PRODID_OSITECH_JACK_336 0x0007
#define PRODID_OSITECH_SEVEN 0x0008
#define MANFID_PIONEER 0x000b
#define MANFID_PSION 0x016c
#define PRODID_PSION_NET100 0x0023
#define MANFID_QUATECH 0x0137
#define PRODID_QUATECH_SPP100 0x0003
#define PRODID_QUATECH_DUAL_RS232 0x0012
#define PRODID_QUATECH_DUAL_RS232_D1 0x0007
#define PRODID_QUATECH_QUAD_RS232 0x001b
#define MANFID_SMC 0x0108
#define PRODID_SMC_ETHER 0x0105
#define MANFID_SOCKET 0x0104
#define PRODID_SOCKET_DUAL_RS232 0x0006
#define PRODID_SOCKET_EIO 0x000a
#define PRODID_SOCKET_LPE 0x000d
#define PRODID_SOCKET_LPE_CF 0x0075
#define MANFID_SUNDISK 0x0045
#define MANFID_TDK 0x0105
#define PRODID_TDK_CF010 0x0900
#define MANFID_TOSHIBA 0x0098
#define MANFID_XIRCOM 0x0105
#define MANFID_COREGA 0xc00F
#define PRODID_COREGA_PCCT 0
#endif // _H_TUPLE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -