linux/include/pcmcia/cistpl.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * cistpl.h
 *
 * The initial developer of the original code is David A. Hinds
 * <[email protected]>.  Portions created by David A. Hinds
 * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
 *
 * (C) 1999             David A. Hinds
 */

#ifndef _LINUX_CISTPL_H
#define _LINUX_CISTPL_H

cisdata_t;

#define CISTPL_NULL
#define CISTPL_DEVICE
#define CISTPL_LONGLINK_CB
#define CISTPL_INDIRECT
#define CISTPL_CONFIG_CB
#define CISTPL_CFTABLE_ENTRY_CB
#define CISTPL_LONGLINK_MFC
#define CISTPL_BAR
#define CISTPL_PWR_MGMNT
#define CISTPL_EXTDEVICE
#define CISTPL_CHECKSUM
#define CISTPL_LONGLINK_A
#define CISTPL_LONGLINK_C
#define CISTPL_LINKTARGET
#define CISTPL_NO_LINK
#define CISTPL_VERS_1
#define CISTPL_ALTSTR
#define CISTPL_DEVICE_A
#define CISTPL_JEDEC_C
#define CISTPL_JEDEC_A
#define CISTPL_CONFIG
#define CISTPL_CFTABLE_ENTRY
#define CISTPL_DEVICE_OC
#define CISTPL_DEVICE_OA
#define CISTPL_DEVICE_GEO
#define CISTPL_DEVICE_GEO_A
#define CISTPL_MANFID
#define CISTPL_FUNCID
#define CISTPL_FUNCE
#define CISTPL_SWIL
#define CISTPL_END
/* Layer 2 tuples */
#define CISTPL_VERS_2
#define CISTPL_FORMAT
#define CISTPL_GEOMETRY
#define CISTPL_BYTEORDER
#define CISTPL_DATE
#define CISTPL_BATTERY
#define CISTPL_FORMAT_A
/* Layer 3 tuples */
#define CISTPL_ORG
#define CISTPL_SPCL

cistpl_longlink_t;

cistpl_checksum_t;

#define CISTPL_MAX_FUNCTIONS
#define CISTPL_MFC_ATTR
#define CISTPL_MFC_COMMON

cistpl_longlink_mfc_t;

#define CISTPL_MAX_ALTSTR_STRINGS

cistpl_altstr_t;

#define CISTPL_DTYPE_NULL
#define CISTPL_DTYPE_ROM
#define CISTPL_DTYPE_OTPROM
#define CISTPL_DTYPE_EPROM
#define CISTPL_DTYPE_EEPROM
#define CISTPL_DTYPE_FLASH
#define CISTPL_DTYPE_SRAM
#define CISTPL_DTYPE_DRAM
#define CISTPL_DTYPE_FUNCSPEC
#define CISTPL_DTYPE_EXTEND

#define CISTPL_MAX_DEVICES

cistpl_device_t;

#define CISTPL_DEVICE_MWAIT
#define CISTPL_DEVICE_3VCC

cistpl_device_o_t;

#define CISTPL_VERS_1_MAX_PROD_STRINGS

cistpl_vers_1_t;

cistpl_jedec_t;

cistpl_manfid_t;

#define CISTPL_FUNCID_MULTI
#define CISTPL_FUNCID_MEMORY
#define CISTPL_FUNCID_SERIAL
#define CISTPL_FUNCID_PARALLEL
#define CISTPL_FUNCID_FIXED
#define CISTPL_FUNCID_VIDEO
#define CISTPL_FUNCID_NETWORK
#define CISTPL_FUNCID_AIMS
#define CISTPL_FUNCID_SCSI

#define CISTPL_SYSINIT_POST
#define CISTPL_SYSINIT_ROM

cistpl_funcid_t;

cistpl_funce_t;

/*======================================================================

    Modem Function Extension Tuples

======================================================================*/

#define CISTPL_FUNCE_SERIAL_IF
#define CISTPL_FUNCE_SERIAL_CAP
#define CISTPL_FUNCE_SERIAL_SERV_DATA
#define CISTPL_FUNCE_SERIAL_SERV_FAX
#define CISTPL_FUNCE_SERIAL_SERV_VOICE
#define CISTPL_FUNCE_SERIAL_CAP_DATA
#define CISTPL_FUNCE_SERIAL_CAP_FAX
#define CISTPL_FUNCE_SERIAL_CAP_VOICE
#define CISTPL_FUNCE_SERIAL_IF_DATA
#define CISTPL_FUNCE_SERIAL_IF_FAX
#define CISTPL_FUNCE_SERIAL_IF_VOICE

/* UART identification */
#define CISTPL_SERIAL_UART_8250
#define CISTPL_SERIAL_UART_16450
#define CISTPL_SERIAL_UART_16550
#define CISTPL_SERIAL_UART_8251
#define CISTPL_SERIAL_UART_8530
#define CISTPL_SERIAL_UART_85230

/* UART capabilities */
#define CISTPL_SERIAL_UART_SPACE
#define CISTPL_SERIAL_UART_MARK
#define CISTPL_SERIAL_UART_ODD
#define CISTPL_SERIAL_UART_EVEN
#define CISTPL_SERIAL_UART_5BIT
#define CISTPL_SERIAL_UART_6BIT
#define CISTPL_SERIAL_UART_7BIT
#define CISTPL_SERIAL_UART_8BIT
#define CISTPL_SERIAL_UART_1STOP
#define CISTPL_SERIAL_UART_MSTOP
#define CISTPL_SERIAL_UART_2STOP

cistpl_serial_t;

cistpl_modem_cap_t;

#define CISTPL_SERIAL_MOD_103
#define CISTPL_SERIAL_MOD_V21
#define CISTPL_SERIAL_MOD_V23
#define CISTPL_SERIAL_MOD_V22
#define CISTPL_SERIAL_MOD_212A
#define CISTPL_SERIAL_MOD_V22BIS
#define CISTPL_SERIAL_MOD_V26
#define CISTPL_SERIAL_MOD_V26BIS
#define CISTPL_SERIAL_MOD_V27BIS
#define CISTPL_SERIAL_MOD_V29
#define CISTPL_SERIAL_MOD_V32
#define CISTPL_SERIAL_MOD_V32BIS
#define CISTPL_SERIAL_MOD_V34

#define CISTPL_SERIAL_ERR_MNP2_4
#define CISTPL_SERIAL_ERR_V42_LAPM

#define CISTPL_SERIAL_CMPR_V42BIS
#define CISTPL_SERIAL_CMPR_MNP5

#define CISTPL_SERIAL_CMD_AT1
#define CISTPL_SERIAL_CMD_AT2
#define CISTPL_SERIAL_CMD_AT3
#define CISTPL_SERIAL_CMD_MNP_AT
#define CISTPL_SERIAL_CMD_V25BIS
#define CISTPL_SERIAL_CMD_V25A
#define CISTPL_SERIAL_CMD_DMCL

cistpl_data_serv_t;

cistpl_fax_serv_t;

cistpl_voice_serv_t;

/*======================================================================

    LAN Function Extension Tuples

======================================================================*/

#define CISTPL_FUNCE_LAN_TECH
#define CISTPL_FUNCE_LAN_SPEED
#define CISTPL_FUNCE_LAN_MEDIA
#define CISTPL_FUNCE_LAN_NODE_ID
#define CISTPL_FUNCE_LAN_CONNECTOR

/* LAN technologies */
#define CISTPL_LAN_TECH_ARCNET
#define CISTPL_LAN_TECH_ETHERNET
#define CISTPL_LAN_TECH_TOKENRING
#define CISTPL_LAN_TECH_LOCALTALK
#define CISTPL_LAN_TECH_FDDI
#define CISTPL_LAN_TECH_ATM
#define CISTPL_LAN_TECH_WIRELESS

cistpl_lan_tech_t;

cistpl_lan_speed_t;

/* LAN media definitions */
#define CISTPL_LAN_MEDIA_UTP
#define CISTPL_LAN_MEDIA_STP
#define CISTPL_LAN_MEDIA_THIN_COAX
#define CISTPL_LAN_MEDIA_THICK_COAX
#define CISTPL_LAN_MEDIA_FIBER
#define CISTPL_LAN_MEDIA_900MHZ
#define CISTPL_LAN_MEDIA_2GHZ
#define CISTPL_LAN_MEDIA_5GHZ
#define CISTPL_LAN_MEDIA_DIFF_IR
#define CISTPL_LAN_MEDIA_PTP_IR

cistpl_lan_media_t;

cistpl_lan_node_id_t;

cistpl_lan_connector_t;

/*======================================================================

    IDE Function Extension Tuples

======================================================================*/

#define CISTPL_IDE_INTERFACE

cistpl_ide_interface_t;

/* First feature byte */
#define CISTPL_IDE_SILICON
#define CISTPL_IDE_UNIQUE
#define CISTPL_IDE_DUAL

/* Second feature byte */
#define CISTPL_IDE_HAS_SLEEP
#define CISTPL_IDE_HAS_STANDBY
#define CISTPL_IDE_HAS_IDLE
#define CISTPL_IDE_LOW_POWER
#define CISTPL_IDE_REG_INHIBIT
#define CISTPL_IDE_HAS_INDEX
#define CISTPL_IDE_IOIS16

cistpl_ide_feature_t;

#define CISTPL_FUNCE_IDE_IFACE
#define CISTPL_FUNCE_IDE_MASTER
#define CISTPL_FUNCE_IDE_SLAVE

/*======================================================================

    Configuration Table Entries

======================================================================*/

#define CISTPL_BAR_SPACE
#define CISTPL_BAR_SPACE_IO
#define CISTPL_BAR_PREFETCH
#define CISTPL_BAR_CACHEABLE
#define CISTPL_BAR_1MEG_MAP

cistpl_bar_t;

cistpl_config_t;

/* These are bits in the 'present' field, and indices in 'param' */
#define CISTPL_POWER_VNOM
#define CISTPL_POWER_VMIN
#define CISTPL_POWER_VMAX
#define CISTPL_POWER_ISTATIC
#define CISTPL_POWER_IAVG
#define CISTPL_POWER_IPEAK
#define CISTPL_POWER_IDOWN

#define CISTPL_POWER_HIGHZ_OK
#define CISTPL_POWER_HIGHZ_REQ

cistpl_power_t;

cistpl_timing_t;

#define CISTPL_IO_LINES_MASK
#define CISTPL_IO_8BIT
#define CISTPL_IO_16BIT
#define CISTPL_IO_RANGE

#define CISTPL_IO_MAX_WIN

cistpl_io_t;

cistpl_irq_t;

#define CISTPL_MEM_MAX_WIN

cistpl_mem_t;

#define CISTPL_CFTABLE_DEFAULT
#define CISTPL_CFTABLE_BVDS
#define CISTPL_CFTABLE_WP
#define CISTPL_CFTABLE_RDYBSY
#define CISTPL_CFTABLE_MWAIT
#define CISTPL_CFTABLE_AUDIO
#define CISTPL_CFTABLE_READONLY
#define CISTPL_CFTABLE_PWRDOWN

cistpl_cftable_entry_t;

#define CISTPL_CFTABLE_MASTER
#define CISTPL_CFTABLE_INVALIDATE
#define CISTPL_CFTABLE_VGA_PALETTE
#define CISTPL_CFTABLE_PARITY
#define CISTPL_CFTABLE_WAIT
#define CISTPL_CFTABLE_SERR
#define CISTPL_CFTABLE_FAST_BACK
#define CISTPL_CFTABLE_BINARY_AUDIO
#define CISTPL_CFTABLE_PWM_AUDIO

cistpl_cftable_entry_cb_t;

cistpl_device_geo_t;

cistpl_vers_2_t;

cistpl_org_t;

#define CISTPL_ORG_FS
#define CISTPL_ORG_APPSPEC
#define CISTPL_ORG_XIP

cistpl_format_t;

#define CISTPL_FORMAT_DISK
#define CISTPL_FORMAT_MEM

#define CISTPL_EDC_NONE
#define CISTPL_EDC_CKSUM
#define CISTPL_EDC_CRC
#define CISTPL_EDC_PCC

cisparse_t;

tuple_t;

/* Special cisdata_t value */
#define RETURN_FIRST_TUPLE

/* Attributes for tuple calls */
#define TUPLE_RETURN_LINK
#define TUPLE_RETURN_COMMON

#define CISTPL_MAX_CIS_SIZE

#endif /* LINUX_CISTPL_H */