diff options
Diffstat (limited to 'ANDROID_3.4.5/include/pcmcia')
-rw-r--r-- | ANDROID_3.4.5/include/pcmcia/ciscode.h | 131 | ||||
-rw-r--r-- | ANDROID_3.4.5/include/pcmcia/cisreg.h | 120 | ||||
-rw-r--r-- | ANDROID_3.4.5/include/pcmcia/cistpl.h | 580 | ||||
-rw-r--r-- | ANDROID_3.4.5/include/pcmcia/device_id.h | 284 | ||||
-rw-r--r-- | ANDROID_3.4.5/include/pcmcia/ds.h | 275 | ||||
-rw-r--r-- | ANDROID_3.4.5/include/pcmcia/ss.h | 266 |
6 files changed, 0 insertions, 1656 deletions
diff --git a/ANDROID_3.4.5/include/pcmcia/ciscode.h b/ANDROID_3.4.5/include/pcmcia/ciscode.h deleted file mode 100644 index b4179857..00000000 --- a/ANDROID_3.4.5/include/pcmcia/ciscode.h +++ /dev/null @@ -1,131 +0,0 @@ -/* - * ciscode.h - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * The initial developer of the original code is David A. Hinds - * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds - * are Copyright (C) 1999 David A. Hinds. All Rights Reserved. - * - * (C) 1999 David A. Hinds - */ - -#ifndef _LINUX_CISCODE_H -#define _LINUX_CISCODE_H - -/* Manufacturer and Product ID codes */ - -#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_KME 0x0032 -#define PRODID_KME_KXLC005_A 0x0704 -#define PRODID_KME_KXLC005_B 0x2904 - -#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_OXSEMI 0x0279 - -#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_DUAL_RS232_D2 0x0052 -#define PRODID_QUATECH_DUAL_RS232_G 0x004d -#define PRODID_QUATECH_QUAD_RS232 0x001b -#define PRODID_QUATECH_DUAL_RS422 0x000e -#define PRODID_QUATECH_QUAD_RS422 0x0045 - -#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 PRODID_TDK_NP9610 0x0d0a -#define PRODID_TDK_MN3200 0x0e0a -#define PRODID_TDK_GN3410 0x4815 - -#define MANFID_TOSHIBA 0x0098 - -#define MANFID_UNGERMANN 0x02c0 - -#define MANFID_XIRCOM 0x0105 - -#define MANFID_POSSIO 0x030c -#define PRODID_POSSIO_GCC 0x0003 - -#define MANFID_NEC 0x0010 - -#endif /* _LINUX_CISCODE_H */ diff --git a/ANDROID_3.4.5/include/pcmcia/cisreg.h b/ANDROID_3.4.5/include/pcmcia/cisreg.h deleted file mode 100644 index ddaad465..00000000 --- a/ANDROID_3.4.5/include/pcmcia/cisreg.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - * cisreg.h - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * The initial developer of the original code is David A. Hinds - * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds - * are Copyright (C) 1999 David A. Hinds. All Rights Reserved. - * - * (C) 1999 David A. Hinds - */ - -#ifndef _LINUX_CISREG_H -#define _LINUX_CISREG_H - -/* - * Offsets from ConfigBase for CIS registers - */ -#define CISREG_COR 0x00 -#define CISREG_CCSR 0x02 -#define CISREG_PRR 0x04 -#define CISREG_SCR 0x06 -#define CISREG_ESR 0x08 -#define CISREG_IOBASE_0 0x0a -#define CISREG_IOBASE_1 0x0c -#define CISREG_IOBASE_2 0x0e -#define CISREG_IOBASE_3 0x10 -#define CISREG_IOSIZE 0x12 - -/* - * Configuration Option Register - */ -#define COR_CONFIG_MASK 0x3f -#define COR_MFC_CONFIG_MASK 0x38 -#define COR_FUNC_ENA 0x01 -#define COR_ADDR_DECODE 0x02 -#define COR_IREQ_ENA 0x04 -#define COR_LEVEL_REQ 0x40 -#define COR_SOFT_RESET 0x80 - -/* - * Card Configuration and Status Register - */ -#define CCSR_INTR_ACK 0x01 -#define CCSR_INTR_PENDING 0x02 -#define CCSR_POWER_DOWN 0x04 -#define CCSR_AUDIO_ENA 0x08 -#define CCSR_IOIS8 0x20 -#define CCSR_SIGCHG_ENA 0x40 -#define CCSR_CHANGED 0x80 - -/* - * Pin Replacement Register - */ -#define PRR_WP_STATUS 0x01 -#define PRR_READY_STATUS 0x02 -#define PRR_BVD2_STATUS 0x04 -#define PRR_BVD1_STATUS 0x08 -#define PRR_WP_EVENT 0x10 -#define PRR_READY_EVENT 0x20 -#define PRR_BVD2_EVENT 0x40 -#define PRR_BVD1_EVENT 0x80 - -/* - * Socket and Copy Register - */ -#define SCR_SOCKET_NUM 0x0f -#define SCR_COPY_NUM 0x70 - -/* - * Extended Status Register - */ -#define ESR_REQ_ATTN_ENA 0x01 -#define ESR_REQ_ATTN 0x10 - -/* - * CardBus Function Status Registers - */ -#define CBFN_EVENT 0x00 -#define CBFN_MASK 0x04 -#define CBFN_STATE 0x08 -#define CBFN_FORCE 0x0c - -/* - * These apply to all the CardBus function registers - */ -#define CBFN_WP 0x0001 -#define CBFN_READY 0x0002 -#define CBFN_BVD2 0x0004 -#define CBFN_BVD1 0x0008 -#define CBFN_GWAKE 0x0010 -#define CBFN_INTR 0x8000 - -/* - * Extra bits in the Function Event Mask Register - */ -#define FEMR_BAM_ENA 0x0020 -#define FEMR_PWM_ENA 0x0040 -#define FEMR_WKUP_MASK 0x4000 - -/* - * Indirect Addressing Registers for Zoomed Video: these are addresses - * in common memory space - */ -#define CISREG_ICTRL0 0x02 /* control registers */ -#define CISREG_ICTRL1 0x03 -#define CISREG_IADDR0 0x04 /* address registers */ -#define CISREG_IADDR1 0x05 -#define CISREG_IADDR2 0x06 -#define CISREG_IADDR3 0x07 -#define CISREG_IDATA0 0x08 /* data registers */ -#define CISREG_IDATA1 0x09 - -#define ICTRL0_COMMON 0x01 -#define ICTRL0_AUTOINC 0x02 -#define ICTRL0_BYTEGRAN 0x04 - -#endif /* _LINUX_CISREG_H */ diff --git a/ANDROID_3.4.5/include/pcmcia/cistpl.h b/ANDROID_3.4.5/include/pcmcia/cistpl.h deleted file mode 100644 index 1c5088c9..00000000 --- a/ANDROID_3.4.5/include/pcmcia/cistpl.h +++ /dev/null @@ -1,580 +0,0 @@ -/* - * cistpl.h - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * The initial developer of the original code is David A. Hinds - * <dahinds@users.sourceforge.net>. 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 - -typedef unsigned char cisdata_t; - -#define CISTPL_NULL 0x00 -#define CISTPL_DEVICE 0x01 -#define CISTPL_LONGLINK_CB 0x02 -#define CISTPL_INDIRECT 0x03 -#define CISTPL_CONFIG_CB 0x04 -#define CISTPL_CFTABLE_ENTRY_CB 0x05 -#define CISTPL_LONGLINK_MFC 0x06 -#define CISTPL_BAR 0x07 -#define CISTPL_PWR_MGMNT 0x08 -#define CISTPL_EXTDEVICE 0x09 -#define CISTPL_CHECKSUM 0x10 -#define CISTPL_LONGLINK_A 0x11 -#define CISTPL_LONGLINK_C 0x12 -#define CISTPL_LINKTARGET 0x13 -#define CISTPL_NO_LINK 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_OC 0x1c -#define CISTPL_DEVICE_OA 0x1d -#define CISTPL_DEVICE_GEO 0x1e -#define CISTPL_DEVICE_GEO_A 0x1f -#define CISTPL_MANFID 0x20 -#define CISTPL_FUNCID 0x21 -#define CISTPL_FUNCE 0x22 -#define CISTPL_SWIL 0x23 -#define CISTPL_END 0xff -/* Layer 2 tuples */ -#define CISTPL_VERS_2 0x40 -#define CISTPL_FORMAT 0x41 -#define CISTPL_GEOMETRY 0x42 -#define CISTPL_BYTEORDER 0x43 -#define CISTPL_DATE 0x44 -#define CISTPL_BATTERY 0x45 -#define CISTPL_FORMAT_A 0x47 -/* Layer 3 tuples */ -#define CISTPL_ORG 0x46 -#define CISTPL_SPCL 0x90 - -typedef struct cistpl_longlink_t { - u_int addr; -} cistpl_longlink_t; - -typedef struct cistpl_checksum_t { - u_short addr; - u_short len; - u_char sum; -} cistpl_checksum_t; - -#define CISTPL_MAX_FUNCTIONS 8 -#define CISTPL_MFC_ATTR 0x00 -#define CISTPL_MFC_COMMON 0x01 - -typedef struct cistpl_longlink_mfc_t { - u_char nfn; - struct { - u_char space; - u_int addr; - } fn[CISTPL_MAX_FUNCTIONS]; -} cistpl_longlink_mfc_t; - -#define CISTPL_MAX_ALTSTR_STRINGS 4 - -typedef struct cistpl_altstr_t { - u_char ns; - u_char ofs[CISTPL_MAX_ALTSTR_STRINGS]; - char str[254]; -} cistpl_altstr_t; - -#define CISTPL_DTYPE_NULL 0x00 -#define CISTPL_DTYPE_ROM 0x01 -#define CISTPL_DTYPE_OTPROM 0x02 -#define CISTPL_DTYPE_EPROM 0x03 -#define CISTPL_DTYPE_EEPROM 0x04 -#define CISTPL_DTYPE_FLASH 0x05 -#define CISTPL_DTYPE_SRAM 0x06 -#define CISTPL_DTYPE_DRAM 0x07 -#define CISTPL_DTYPE_FUNCSPEC 0x0d -#define CISTPL_DTYPE_EXTEND 0x0e - -#define CISTPL_MAX_DEVICES 4 - -typedef struct cistpl_device_t { - u_char ndev; - struct { - u_char type; - u_char wp; - u_int speed; - u_int size; - } dev[CISTPL_MAX_DEVICES]; -} cistpl_device_t; - -#define CISTPL_DEVICE_MWAIT 0x01 -#define CISTPL_DEVICE_3VCC 0x02 - -typedef struct cistpl_device_o_t { - u_char flags; - cistpl_device_t device; -} cistpl_device_o_t; - -#define CISTPL_VERS_1_MAX_PROD_STRINGS 4 - -typedef struct cistpl_vers_1_t { - u_char major; - u_char minor; - u_char ns; - u_char ofs[CISTPL_VERS_1_MAX_PROD_STRINGS]; - char str[254]; -} cistpl_vers_1_t; - -typedef struct cistpl_jedec_t { - u_char nid; - struct { - u_char mfr; - u_char info; - } id[CISTPL_MAX_DEVICES]; -} cistpl_jedec_t; - -typedef struct cistpl_manfid_t { - u_short manf; - u_short card; -} cistpl_manfid_t; - -#define CISTPL_FUNCID_MULTI 0x00 -#define CISTPL_FUNCID_MEMORY 0x01 -#define CISTPL_FUNCID_SERIAL 0x02 -#define CISTPL_FUNCID_PARALLEL 0x03 -#define CISTPL_FUNCID_FIXED 0x04 -#define CISTPL_FUNCID_VIDEO 0x05 -#define CISTPL_FUNCID_NETWORK 0x06 -#define CISTPL_FUNCID_AIMS 0x07 -#define CISTPL_FUNCID_SCSI 0x08 - -#define CISTPL_SYSINIT_POST 0x01 -#define CISTPL_SYSINIT_ROM 0x02 - -typedef struct cistpl_funcid_t { - u_char func; - u_char sysinit; -} cistpl_funcid_t; - -typedef struct cistpl_funce_t { - u_char type; - u_char data[0]; -} cistpl_funce_t; - -/*====================================================================== - - Modem Function Extension Tuples - -======================================================================*/ - -#define CISTPL_FUNCE_SERIAL_IF 0x00 -#define CISTPL_FUNCE_SERIAL_CAP 0x01 -#define CISTPL_FUNCE_SERIAL_SERV_DATA 0x02 -#define CISTPL_FUNCE_SERIAL_SERV_FAX 0x03 -#define CISTPL_FUNCE_SERIAL_SERV_VOICE 0x04 -#define CISTPL_FUNCE_SERIAL_CAP_DATA 0x05 -#define CISTPL_FUNCE_SERIAL_CAP_FAX 0x06 -#define CISTPL_FUNCE_SERIAL_CAP_VOICE 0x07 -#define CISTPL_FUNCE_SERIAL_IF_DATA 0x08 -#define CISTPL_FUNCE_SERIAL_IF_FAX 0x09 -#define CISTPL_FUNCE_SERIAL_IF_VOICE 0x0a - -/* UART identification */ -#define CISTPL_SERIAL_UART_8250 0x00 -#define CISTPL_SERIAL_UART_16450 0x01 -#define CISTPL_SERIAL_UART_16550 0x02 -#define CISTPL_SERIAL_UART_8251 0x03 -#define CISTPL_SERIAL_UART_8530 0x04 -#define CISTPL_SERIAL_UART_85230 0x05 - -/* UART capabilities */ -#define CISTPL_SERIAL_UART_SPACE 0x01 -#define CISTPL_SERIAL_UART_MARK 0x02 -#define CISTPL_SERIAL_UART_ODD 0x04 -#define CISTPL_SERIAL_UART_EVEN 0x08 -#define CISTPL_SERIAL_UART_5BIT 0x01 -#define CISTPL_SERIAL_UART_6BIT 0x02 -#define CISTPL_SERIAL_UART_7BIT 0x04 -#define CISTPL_SERIAL_UART_8BIT 0x08 -#define CISTPL_SERIAL_UART_1STOP 0x10 -#define CISTPL_SERIAL_UART_MSTOP 0x20 -#define CISTPL_SERIAL_UART_2STOP 0x40 - -typedef struct cistpl_serial_t { - u_char uart_type; - u_char uart_cap_0; - u_char uart_cap_1; -} cistpl_serial_t; - -typedef struct cistpl_modem_cap_t { - u_char flow; - u_char cmd_buf; - u_char rcv_buf_0, rcv_buf_1, rcv_buf_2; - u_char xmit_buf_0, xmit_buf_1, xmit_buf_2; -} cistpl_modem_cap_t; - -#define CISTPL_SERIAL_MOD_103 0x01 -#define CISTPL_SERIAL_MOD_V21 0x02 -#define CISTPL_SERIAL_MOD_V23 0x04 -#define CISTPL_SERIAL_MOD_V22 0x08 -#define CISTPL_SERIAL_MOD_212A 0x10 -#define CISTPL_SERIAL_MOD_V22BIS 0x20 -#define CISTPL_SERIAL_MOD_V26 0x40 -#define CISTPL_SERIAL_MOD_V26BIS 0x80 -#define CISTPL_SERIAL_MOD_V27BIS 0x01 -#define CISTPL_SERIAL_MOD_V29 0x02 -#define CISTPL_SERIAL_MOD_V32 0x04 -#define CISTPL_SERIAL_MOD_V32BIS 0x08 -#define CISTPL_SERIAL_MOD_V34 0x10 - -#define CISTPL_SERIAL_ERR_MNP2_4 0x01 -#define CISTPL_SERIAL_ERR_V42_LAPM 0x02 - -#define CISTPL_SERIAL_CMPR_V42BIS 0x01 -#define CISTPL_SERIAL_CMPR_MNP5 0x02 - -#define CISTPL_SERIAL_CMD_AT1 0x01 -#define CISTPL_SERIAL_CMD_AT2 0x02 -#define CISTPL_SERIAL_CMD_AT3 0x04 -#define CISTPL_SERIAL_CMD_MNP_AT 0x08 -#define CISTPL_SERIAL_CMD_V25BIS 0x10 -#define CISTPL_SERIAL_CMD_V25A 0x20 -#define CISTPL_SERIAL_CMD_DMCL 0x40 - -typedef struct cistpl_data_serv_t { - u_char max_data_0; - u_char max_data_1; - u_char modulation_0; - u_char modulation_1; - u_char error_control; - u_char compression; - u_char cmd_protocol; - u_char escape; - u_char encrypt; - u_char misc_features; - u_char ccitt_code[0]; -} cistpl_data_serv_t; - -typedef struct cistpl_fax_serv_t { - u_char max_data_0; - u_char max_data_1; - u_char modulation; - u_char encrypt; - u_char features_0; - u_char features_1; - u_char ccitt_code[0]; -} cistpl_fax_serv_t; - -typedef struct cistpl_voice_serv_t { - u_char max_data_0; - u_char max_data_1; -} cistpl_voice_serv_t; - -/*====================================================================== - - LAN Function Extension Tuples - -======================================================================*/ - -#define CISTPL_FUNCE_LAN_TECH 0x01 -#define CISTPL_FUNCE_LAN_SPEED 0x02 -#define CISTPL_FUNCE_LAN_MEDIA 0x03 -#define CISTPL_FUNCE_LAN_NODE_ID 0x04 -#define CISTPL_FUNCE_LAN_CONNECTOR 0x05 - -/* LAN technologies */ -#define CISTPL_LAN_TECH_ARCNET 0x01 -#define CISTPL_LAN_TECH_ETHERNET 0x02 -#define CISTPL_LAN_TECH_TOKENRING 0x03 -#define CISTPL_LAN_TECH_LOCALTALK 0x04 -#define CISTPL_LAN_TECH_FDDI 0x05 -#define CISTPL_LAN_TECH_ATM 0x06 -#define CISTPL_LAN_TECH_WIRELESS 0x07 - -typedef struct cistpl_lan_tech_t { - u_char tech; -} cistpl_lan_tech_t; - -typedef struct cistpl_lan_speed_t { - u_int speed; -} cistpl_lan_speed_t; - -/* LAN media definitions */ -#define CISTPL_LAN_MEDIA_UTP 0x01 -#define CISTPL_LAN_MEDIA_STP 0x02 -#define CISTPL_LAN_MEDIA_THIN_COAX 0x03 -#define CISTPL_LAN_MEDIA_THICK_COAX 0x04 -#define CISTPL_LAN_MEDIA_FIBER 0x05 -#define CISTPL_LAN_MEDIA_900MHZ 0x06 -#define CISTPL_LAN_MEDIA_2GHZ 0x07 -#define CISTPL_LAN_MEDIA_5GHZ 0x08 -#define CISTPL_LAN_MEDIA_DIFF_IR 0x09 -#define CISTPL_LAN_MEDIA_PTP_IR 0x0a - -typedef struct cistpl_lan_media_t { - u_char media; -} cistpl_lan_media_t; - -typedef struct cistpl_lan_node_id_t { - u_char nb; - u_char id[16]; -} cistpl_lan_node_id_t; - -typedef struct cistpl_lan_connector_t { - u_char code; -} cistpl_lan_connector_t; - -/*====================================================================== - - IDE Function Extension Tuples - -======================================================================*/ - -#define CISTPL_IDE_INTERFACE 0x01 - -typedef struct cistpl_ide_interface_t { - u_char interface; -} cistpl_ide_interface_t; - -/* First feature byte */ -#define CISTPL_IDE_SILICON 0x04 -#define CISTPL_IDE_UNIQUE 0x08 -#define CISTPL_IDE_DUAL 0x10 - -/* Second feature byte */ -#define CISTPL_IDE_HAS_SLEEP 0x01 -#define CISTPL_IDE_HAS_STANDBY 0x02 -#define CISTPL_IDE_HAS_IDLE 0x04 -#define CISTPL_IDE_LOW_POWER 0x08 -#define CISTPL_IDE_REG_INHIBIT 0x10 -#define CISTPL_IDE_HAS_INDEX 0x20 -#define CISTPL_IDE_IOIS16 0x40 - -typedef struct cistpl_ide_feature_t { - u_char feature1; - u_char feature2; -} cistpl_ide_feature_t; - -#define CISTPL_FUNCE_IDE_IFACE 0x01 -#define CISTPL_FUNCE_IDE_MASTER 0x02 -#define CISTPL_FUNCE_IDE_SLAVE 0x03 - -/*====================================================================== - - Configuration Table Entries - -======================================================================*/ - -#define CISTPL_BAR_SPACE 0x07 -#define CISTPL_BAR_SPACE_IO 0x10 -#define CISTPL_BAR_PREFETCH 0x20 -#define CISTPL_BAR_CACHEABLE 0x40 -#define CISTPL_BAR_1MEG_MAP 0x80 - -typedef struct cistpl_bar_t { - u_char attr; - u_int size; -} cistpl_bar_t; - -typedef struct cistpl_config_t { - u_char last_idx; - u_int base; - u_int rmask[4]; - u_char subtuples; -} cistpl_config_t; - -/* These are bits in the 'present' field, and indices in 'param' */ -#define CISTPL_POWER_VNOM 0 -#define CISTPL_POWER_VMIN 1 -#define CISTPL_POWER_VMAX 2 -#define CISTPL_POWER_ISTATIC 3 -#define CISTPL_POWER_IAVG 4 -#define CISTPL_POWER_IPEAK 5 -#define CISTPL_POWER_IDOWN 6 - -#define CISTPL_POWER_HIGHZ_OK 0x01 -#define CISTPL_POWER_HIGHZ_REQ 0x02 - -typedef struct cistpl_power_t { - u_char present; - u_char flags; - u_int param[7]; -} cistpl_power_t; - -typedef struct cistpl_timing_t { - u_int wait, waitscale; - u_int ready, rdyscale; - u_int reserved, rsvscale; -} cistpl_timing_t; - -#define CISTPL_IO_LINES_MASK 0x1f -#define CISTPL_IO_8BIT 0x20 -#define CISTPL_IO_16BIT 0x40 -#define CISTPL_IO_RANGE 0x80 - -#define CISTPL_IO_MAX_WIN 16 - -typedef struct cistpl_io_t { - u_char flags; - u_char nwin; - struct { - u_int base; - u_int len; - } win[CISTPL_IO_MAX_WIN]; -} cistpl_io_t; - -typedef struct cistpl_irq_t { - u_int IRQInfo1; - u_int IRQInfo2; -} cistpl_irq_t; - -#define CISTPL_MEM_MAX_WIN 8 - -typedef struct cistpl_mem_t { - u_char flags; - u_char nwin; - struct { - u_int len; - u_int card_addr; - u_int host_addr; - } win[CISTPL_MEM_MAX_WIN]; -} cistpl_mem_t; - -#define CISTPL_CFTABLE_DEFAULT 0x0001 -#define CISTPL_CFTABLE_BVDS 0x0002 -#define CISTPL_CFTABLE_WP 0x0004 -#define CISTPL_CFTABLE_RDYBSY 0x0008 -#define CISTPL_CFTABLE_MWAIT 0x0010 -#define CISTPL_CFTABLE_AUDIO 0x0800 -#define CISTPL_CFTABLE_READONLY 0x1000 -#define CISTPL_CFTABLE_PWRDOWN 0x2000 - -typedef struct cistpl_cftable_entry_t { - u_char index; - u_short flags; - u_char interface; - cistpl_power_t vcc, vpp1, vpp2; - cistpl_timing_t timing; - cistpl_io_t io; - cistpl_irq_t irq; - cistpl_mem_t mem; - u_char subtuples; -} cistpl_cftable_entry_t; - -#define CISTPL_CFTABLE_MASTER 0x000100 -#define CISTPL_CFTABLE_INVALIDATE 0x000200 -#define CISTPL_CFTABLE_VGA_PALETTE 0x000400 -#define CISTPL_CFTABLE_PARITY 0x000800 -#define CISTPL_CFTABLE_WAIT 0x001000 -#define CISTPL_CFTABLE_SERR 0x002000 -#define CISTPL_CFTABLE_FAST_BACK 0x004000 -#define CISTPL_CFTABLE_BINARY_AUDIO 0x010000 -#define CISTPL_CFTABLE_PWM_AUDIO 0x020000 - -typedef struct cistpl_cftable_entry_cb_t { - u_char index; - u_int flags; - cistpl_power_t vcc, vpp1, vpp2; - u_char io; - cistpl_irq_t irq; - u_char mem; - u_char subtuples; -} cistpl_cftable_entry_cb_t; - -typedef struct cistpl_device_geo_t { - u_char ngeo; - struct { - u_char buswidth; - u_int erase_block; - u_int read_block; - u_int write_block; - u_int partition; - u_int interleave; - } geo[CISTPL_MAX_DEVICES]; -} cistpl_device_geo_t; - -typedef struct cistpl_vers_2_t { - u_char vers; - u_char comply; - u_short dindex; - u_char vspec8, vspec9; - u_char nhdr; - u_char vendor, info; - char str[244]; -} cistpl_vers_2_t; - -typedef struct cistpl_org_t { - u_char data_org; - char desc[30]; -} cistpl_org_t; - -#define CISTPL_ORG_FS 0x00 -#define CISTPL_ORG_APPSPEC 0x01 -#define CISTPL_ORG_XIP 0x02 - -typedef struct cistpl_format_t { - u_char type; - u_char edc; - u_int offset; - u_int length; -} cistpl_format_t; - -#define CISTPL_FORMAT_DISK 0x00 -#define CISTPL_FORMAT_MEM 0x01 - -#define CISTPL_EDC_NONE 0x00 -#define CISTPL_EDC_CKSUM 0x01 -#define CISTPL_EDC_CRC 0x02 -#define CISTPL_EDC_PCC 0x03 - -typedef union cisparse_t { - cistpl_device_t device; - cistpl_checksum_t checksum; - cistpl_longlink_t longlink; - cistpl_longlink_mfc_t longlink_mfc; - cistpl_vers_1_t version_1; - cistpl_altstr_t altstr; - cistpl_jedec_t jedec; - cistpl_manfid_t manfid; - cistpl_funcid_t funcid; - cistpl_funce_t funce; - cistpl_bar_t bar; - cistpl_config_t config; - cistpl_cftable_entry_t cftable_entry; - cistpl_cftable_entry_cb_t cftable_entry_cb; - cistpl_device_geo_t device_geo; - cistpl_vers_2_t vers_2; - cistpl_org_t org; - cistpl_format_t format; -} cisparse_t; - -typedef struct tuple_t { - u_int Attributes; - cisdata_t DesiredTuple; - u_int Flags; /* internal use */ - u_int LinkOffset; /* internal use */ - u_int CISOffset; /* internal use */ - cisdata_t TupleCode; - cisdata_t TupleLink; - cisdata_t TupleOffset; - cisdata_t TupleDataMax; - cisdata_t TupleDataLen; - cisdata_t *TupleData; -} tuple_t; - -/* Special cisdata_t value */ -#define RETURN_FIRST_TUPLE 0xff - -/* Attributes for tuple calls */ -#define TUPLE_RETURN_LINK 0x01 -#define TUPLE_RETURN_COMMON 0x02 - -#define CISTPL_MAX_CIS_SIZE 0x200 - -#endif /* LINUX_CISTPL_H */ diff --git a/ANDROID_3.4.5/include/pcmcia/device_id.h b/ANDROID_3.4.5/include/pcmcia/device_id.h deleted file mode 100644 index 00dbfac9..00000000 --- a/ANDROID_3.4.5/include/pcmcia/device_id.h +++ /dev/null @@ -1,284 +0,0 @@ -/* - * device_id.h -- PCMCIA driver matching helpers - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * (C) 2003 - 2004 David Woodhouse - * (C) 2003 - 2004 Dominik Brodowski - */ - -#ifndef _LINUX_PCMCIA_DEVICE_ID_H -#define _LINUX_PCMCIA_DEVICE_ID_H - -#ifdef __KERNEL__ - -#define PCMCIA_DEVICE_MANF_CARD(manf, card) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_MANF_ID| \ - PCMCIA_DEV_ID_MATCH_CARD_ID, \ - .manf_id = (manf), \ - .card_id = (card), } - -#define PCMCIA_DEVICE_FUNC_ID(func) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_FUNC_ID, \ - .func_id = (func), } - -#define PCMCIA_DEVICE_PROD_ID1(v1, vh1) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1, \ - .prod_id = { (v1), NULL, NULL, NULL }, \ - .prod_id_hash = { (vh1), 0, 0, 0 }, } - -#define PCMCIA_DEVICE_PROD_ID2(v2, vh2) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID2, \ - .prod_id = { NULL, (v2), NULL, NULL }, \ - .prod_id_hash = { 0, (vh2), 0, 0 }, } - -#define PCMCIA_DEVICE_PROD_ID3(v3, vh3) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID3, \ - .prod_id = { NULL, NULL, (v3), NULL }, \ - .prod_id_hash = { 0, 0, (vh3), 0 }, } - -#define PCMCIA_DEVICE_PROD_ID12(v1, v2, vh1, vh2) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID2, \ - .prod_id = { (v1), (v2), NULL, NULL }, \ - .prod_id_hash = { (vh1), (vh2), 0, 0 }, } - -#define PCMCIA_DEVICE_PROD_ID13(v1, v3, vh1, vh3) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID3, \ - .prod_id = { (v1), NULL, (v3), NULL }, \ - .prod_id_hash = { (vh1), 0, (vh3), 0 }, } - -#define PCMCIA_DEVICE_PROD_ID14(v1, v4, vh1, vh4) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID4, \ - .prod_id = { (v1), NULL, NULL, (v4) }, \ - .prod_id_hash = { (vh1), 0, 0, (vh4) }, } - -#define PCMCIA_DEVICE_PROD_ID123(v1, v2, v3, vh1, vh2, vh3) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID2| \ - PCMCIA_DEV_ID_MATCH_PROD_ID3, \ - .prod_id = { (v1), (v2), (v3), NULL },\ - .prod_id_hash = { (vh1), (vh2), (vh3), 0 }, } - -#define PCMCIA_DEVICE_PROD_ID124(v1, v2, v4, vh1, vh2, vh4) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID2| \ - PCMCIA_DEV_ID_MATCH_PROD_ID4, \ - .prod_id = { (v1), (v2), NULL, (v4) }, \ - .prod_id_hash = { (vh1), (vh2), 0, (vh4) }, } - -#define PCMCIA_DEVICE_PROD_ID134(v1, v3, v4, vh1, vh3, vh4) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID3| \ - PCMCIA_DEV_ID_MATCH_PROD_ID4, \ - .prod_id = { (v1), NULL, (v3), (v4) }, \ - .prod_id_hash = { (vh1), 0, (vh3), (vh4) }, } - -#define PCMCIA_DEVICE_PROD_ID1234(v1, v2, v3, v4, vh1, vh2, vh3, vh4) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID2| \ - PCMCIA_DEV_ID_MATCH_PROD_ID3| \ - PCMCIA_DEV_ID_MATCH_PROD_ID4, \ - .prod_id = { (v1), (v2), (v3), (v4) }, \ - .prod_id_hash = { (vh1), (vh2), (vh3), (vh4) }, } - -#define PCMCIA_DEVICE_MANF_CARD_PROD_ID1(manf, card, v1, vh1) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_MANF_ID| \ - PCMCIA_DEV_ID_MATCH_CARD_ID| \ - PCMCIA_DEV_ID_MATCH_PROD_ID1, \ - .manf_id = (manf), \ - .card_id = (card), \ - .prod_id = { (v1), NULL, NULL, NULL }, \ - .prod_id_hash = { (vh1), 0, 0, 0 }, } - -#define PCMCIA_DEVICE_MANF_CARD_PROD_ID3(manf, card, v3, vh3) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_MANF_ID| \ - PCMCIA_DEV_ID_MATCH_CARD_ID| \ - PCMCIA_DEV_ID_MATCH_PROD_ID3, \ - .manf_id = (manf), \ - .card_id = (card), \ - .prod_id = { NULL, NULL, (v3), NULL }, \ - .prod_id_hash = { 0, 0, (vh3), 0 }, } - - -/* multi-function devices */ - -#define PCMCIA_MFC_DEVICE_MANF_CARD(mfc, manf, card) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_MANF_ID| \ - PCMCIA_DEV_ID_MATCH_CARD_ID| \ - PCMCIA_DEV_ID_MATCH_FUNCTION, \ - .manf_id = (manf), \ - .card_id = (card), \ - .function = (mfc), } - -#define PCMCIA_MFC_DEVICE_PROD_ID1(mfc, v1, vh1) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_FUNCTION, \ - .prod_id = { (v1), NULL, NULL, NULL }, \ - .prod_id_hash = { (vh1), 0, 0, 0 }, \ - .function = (mfc), } - -#define PCMCIA_MFC_DEVICE_PROD_ID2(mfc, v2, vh2) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID2| \ - PCMCIA_DEV_ID_MATCH_FUNCTION, \ - .prod_id = { NULL, (v2), NULL, NULL }, \ - .prod_id_hash = { 0, (vh2), 0, 0 }, \ - .function = (mfc), } - -#define PCMCIA_MFC_DEVICE_PROD_ID12(mfc, v1, v2, vh1, vh2) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID2| \ - PCMCIA_DEV_ID_MATCH_FUNCTION, \ - .prod_id = { (v1), (v2), NULL, NULL }, \ - .prod_id_hash = { (vh1), (vh2), 0, 0 }, \ - .function = (mfc), } - -#define PCMCIA_MFC_DEVICE_PROD_ID13(mfc, v1, v3, vh1, vh3) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID3| \ - PCMCIA_DEV_ID_MATCH_FUNCTION, \ - .prod_id = { (v1), NULL, (v3), NULL }, \ - .prod_id_hash = { (vh1), 0, (vh3), 0 }, \ - .function = (mfc), } - -#define PCMCIA_MFC_DEVICE_PROD_ID123(mfc, v1, v2, v3, vh1, vh2, vh3) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID2| \ - PCMCIA_DEV_ID_MATCH_PROD_ID3| \ - PCMCIA_DEV_ID_MATCH_FUNCTION, \ - .prod_id = { (v1), (v2), (v3), NULL },\ - .prod_id_hash = { (vh1), (vh2), (vh3), 0 }, \ - .function = (mfc), } - -/* pseudo multi-function devices */ - -#define PCMCIA_PFC_DEVICE_MANF_CARD(mfc, manf, card) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_MANF_ID| \ - PCMCIA_DEV_ID_MATCH_CARD_ID| \ - PCMCIA_DEV_ID_MATCH_DEVICE_NO, \ - .manf_id = (manf), \ - .card_id = (card), \ - .device_no = (mfc), } - -#define PCMCIA_PFC_DEVICE_PROD_ID1(mfc, v1, vh1) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_DEVICE_NO, \ - .prod_id = { (v1), NULL, NULL, NULL }, \ - .prod_id_hash = { (vh1), 0, 0, 0 }, \ - .device_no = (mfc), } - -#define PCMCIA_PFC_DEVICE_PROD_ID2(mfc, v2, vh2) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID2| \ - PCMCIA_DEV_ID_MATCH_DEVICE_NO, \ - .prod_id = { NULL, (v2), NULL, NULL }, \ - .prod_id_hash = { 0, (vh2), 0, 0 }, \ - .device_no = (mfc), } - -#define PCMCIA_PFC_DEVICE_PROD_ID12(mfc, v1, v2, vh1, vh2) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID2| \ - PCMCIA_DEV_ID_MATCH_DEVICE_NO, \ - .prod_id = { (v1), (v2), NULL, NULL }, \ - .prod_id_hash = { (vh1), (vh2), 0, 0 }, \ - .device_no = (mfc), } - -#define PCMCIA_PFC_DEVICE_PROD_ID13(mfc, v1, v3, vh1, vh3) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID3| \ - PCMCIA_DEV_ID_MATCH_DEVICE_NO, \ - .prod_id = { (v1), NULL, (v3), NULL }, \ - .prod_id_hash = { (vh1), 0, (vh3), 0 }, \ - .device_no = (mfc), } - -#define PCMCIA_PFC_DEVICE_PROD_ID123(mfc, v1, v2, v3, vh1, vh2, vh3) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID2| \ - PCMCIA_DEV_ID_MATCH_PROD_ID3| \ - PCMCIA_DEV_ID_MATCH_DEVICE_NO, \ - .prod_id = { (v1), (v2), (v3), NULL },\ - .prod_id_hash = { (vh1), (vh2), (vh3), 0 }, \ - .device_no = (mfc), } - -/* cards needing a CIS override */ - -#define PCMCIA_DEVICE_CIS_MANF_CARD(manf, card, _cisfile) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_FAKE_CIS | \ - PCMCIA_DEV_ID_MATCH_MANF_ID| \ - PCMCIA_DEV_ID_MATCH_CARD_ID, \ - .manf_id = (manf), \ - .card_id = (card), \ - .cisfile = (_cisfile)} - -#define PCMCIA_DEVICE_CIS_PROD_ID12(v1, v2, vh1, vh2, _cisfile) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_FAKE_CIS | \ - PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID2, \ - .prod_id = { (v1), (v2), NULL, NULL }, \ - .prod_id_hash = { (vh1), (vh2), 0, 0 }, \ - .cisfile = (_cisfile)} - -#define PCMCIA_DEVICE_CIS_PROD_ID123(v1, v2, v3, vh1, vh2, vh3, _cisfile) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_FAKE_CIS | \ - PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID2| \ - PCMCIA_DEV_ID_MATCH_PROD_ID3, \ - .prod_id = { (v1), (v2), (v3), NULL },\ - .prod_id_hash = { (vh1), (vh2), (vh3), 0 }, \ - .cisfile = (_cisfile)} - - -#define PCMCIA_DEVICE_CIS_PROD_ID2(v2, vh2, _cisfile) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_FAKE_CIS | \ - PCMCIA_DEV_ID_MATCH_PROD_ID2, \ - .prod_id = { NULL, (v2), NULL, NULL }, \ - .prod_id_hash = { 0, (vh2), 0, 0 }, \ - .cisfile = (_cisfile)} - -#define PCMCIA_PFC_DEVICE_CIS_PROD_ID12(mfc, v1, v2, vh1, vh2, _cisfile) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_FAKE_CIS | \ - PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID2| \ - PCMCIA_DEV_ID_MATCH_DEVICE_NO, \ - .prod_id = { (v1), (v2), NULL, NULL }, \ - .prod_id_hash = { (vh1), (vh2), 0, 0 },\ - .device_no = (mfc), \ - .cisfile = (_cisfile)} - -#define PCMCIA_MFC_DEVICE_CIS_MANF_CARD(mfc, manf, card, _cisfile) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_FAKE_CIS | \ - PCMCIA_DEV_ID_MATCH_MANF_ID| \ - PCMCIA_DEV_ID_MATCH_CARD_ID| \ - PCMCIA_DEV_ID_MATCH_FUNCTION, \ - .manf_id = (manf), \ - .card_id = (card), \ - .function = (mfc), \ - .cisfile = (_cisfile)} - -#define PCMCIA_MFC_DEVICE_CIS_PROD_ID12(mfc, v1, v2, vh1, vh2, _cisfile) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_FAKE_CIS | \ - PCMCIA_DEV_ID_MATCH_PROD_ID1| \ - PCMCIA_DEV_ID_MATCH_PROD_ID2| \ - PCMCIA_DEV_ID_MATCH_FUNCTION, \ - .prod_id = { (v1), (v2), NULL, NULL }, \ - .prod_id_hash = { (vh1), (vh2), 0, 0 }, \ - .function = (mfc), \ - .cisfile = (_cisfile)} - -#define PCMCIA_MFC_DEVICE_CIS_PROD_ID4(mfc, v4, vh4, _cisfile) { \ - .match_flags = PCMCIA_DEV_ID_MATCH_FAKE_CIS | \ - PCMCIA_DEV_ID_MATCH_PROD_ID4| \ - PCMCIA_DEV_ID_MATCH_FUNCTION, \ - .prod_id = { NULL, NULL, NULL, (v4) }, \ - .prod_id_hash = { 0, 0, 0, (vh4) }, \ - .function = (mfc), \ - .cisfile = (_cisfile)} - - -#define PCMCIA_DEVICE_NULL { .match_flags = 0, } - -#endif /* __KERNEL__ */ -#endif /* _LINUX_PCMCIA_DEVICE_ID_H */ diff --git a/ANDROID_3.4.5/include/pcmcia/ds.h b/ANDROID_3.4.5/include/pcmcia/ds.h deleted file mode 100644 index 3bbbd78e..00000000 --- a/ANDROID_3.4.5/include/pcmcia/ds.h +++ /dev/null @@ -1,275 +0,0 @@ -/* - * ds.h -- 16-bit PCMCIA core support - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * The initial developer of the original code is David A. Hinds - * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds - * are Copyright (C) 1999 David A. Hinds. All Rights Reserved. - * - * (C) 1999 David A. Hinds - * (C) 2003 - 2008 Dominik Brodowski - */ - -#ifndef _LINUX_DS_H -#define _LINUX_DS_H - -#ifdef __KERNEL__ -#include <linux/mod_devicetable.h> -#endif - -#include <pcmcia/device_id.h> - -#ifdef __KERNEL__ -#include <linux/device.h> -#include <linux/interrupt.h> -#include <pcmcia/ss.h> -#include <linux/atomic.h> - - -/* - * PCMCIA device drivers (16-bit cards only; 32-bit cards require CardBus - * a.k.a. PCI drivers - */ -struct pcmcia_socket; -struct pcmcia_device; -struct config_t; -struct net_device; - -/* dynamic device IDs for PCMCIA device drivers. See - * Documentation/pcmcia/driver.txt for details. -*/ -struct pcmcia_dynids { - struct mutex lock; - struct list_head list; -}; - -struct pcmcia_driver { - const char *name; - - int (*probe) (struct pcmcia_device *dev); - void (*remove) (struct pcmcia_device *dev); - - int (*suspend) (struct pcmcia_device *dev); - int (*resume) (struct pcmcia_device *dev); - - struct module *owner; - const struct pcmcia_device_id *id_table; - struct device_driver drv; - struct pcmcia_dynids dynids; -}; - -/* driver registration */ -int pcmcia_register_driver(struct pcmcia_driver *driver); -void pcmcia_unregister_driver(struct pcmcia_driver *driver); - -/* for struct resource * array embedded in struct pcmcia_device */ -enum { - PCMCIA_IOPORT_0, - PCMCIA_IOPORT_1, - PCMCIA_IOMEM_0, - PCMCIA_IOMEM_1, - PCMCIA_IOMEM_2, - PCMCIA_IOMEM_3, - PCMCIA_NUM_RESOURCES, -}; - -struct pcmcia_device { - /* the socket and the device_no [for multifunction devices] - uniquely define a pcmcia_device */ - struct pcmcia_socket *socket; - - char *devname; - - u8 device_no; - - /* the hardware "function" device; certain subdevices can - * share one hardware "function" device. */ - u8 func; - struct config_t *function_config; - - struct list_head socket_device_list; - - /* device setup */ - unsigned int irq; - struct resource *resource[PCMCIA_NUM_RESOURCES]; - resource_size_t card_addr; /* for the 1st IOMEM resource */ - unsigned int vpp; - - unsigned int config_flags; /* CONF_ENABLE_ flags below */ - unsigned int config_base; - unsigned int config_index; - unsigned int config_regs; /* PRESENT_ flags below */ - unsigned int io_lines; /* number of I/O lines */ - - /* Is the device suspended? */ - u16 suspended:1; - - /* Flags whether io, irq, win configurations were - * requested, and whether the configuration is "locked" */ - u16 _irq:1; - u16 _io:1; - u16 _win:4; - u16 _locked:1; - - /* Flag whether a "fuzzy" func_id based match is - * allowed. */ - u16 allow_func_id_match:1; - - /* information about this device */ - u16 has_manf_id:1; - u16 has_card_id:1; - u16 has_func_id:1; - - u16 reserved:4; - - u8 func_id; - u16 manf_id; - u16 card_id; - - char *prod_id[4]; - - u64 dma_mask; - struct device dev; - - /* data private to drivers */ - void *priv; - unsigned int open; -}; - -#define to_pcmcia_dev(n) container_of(n, struct pcmcia_device, dev) -#define to_pcmcia_drv(n) container_of(n, struct pcmcia_driver, drv) - - -/* - * CIS access. - * - * Please use the following functions to access CIS tuples: - * - pcmcia_get_tuple() - * - pcmcia_loop_tuple() - * - pcmcia_get_mac_from_cis() - * - * To parse a tuple_t, pcmcia_parse_tuple() exists. Its interface - * might change in future. - */ - -/* get the very first CIS entry of type @code. Note that buf is pointer - * to u8 *buf; and that you need to kfree(buf) afterwards. */ -size_t pcmcia_get_tuple(struct pcmcia_device *p_dev, cisdata_t code, - u8 **buf); - -/* loop over CIS entries */ -int pcmcia_loop_tuple(struct pcmcia_device *p_dev, cisdata_t code, - int (*loop_tuple) (struct pcmcia_device *p_dev, - tuple_t *tuple, - void *priv_data), - void *priv_data); - -/* get the MAC address from CISTPL_FUNCE */ -int pcmcia_get_mac_from_cis(struct pcmcia_device *p_dev, - struct net_device *dev); - - -/* parse a tuple_t */ -int pcmcia_parse_tuple(tuple_t *tuple, cisparse_t *parse); - -/* loop CIS entries for valid configuration */ -int pcmcia_loop_config(struct pcmcia_device *p_dev, - int (*conf_check) (struct pcmcia_device *p_dev, - void *priv_data), - void *priv_data); - -/* is the device still there? */ -struct pcmcia_device *pcmcia_dev_present(struct pcmcia_device *p_dev); - -/* low-level interface reset */ -int pcmcia_reset_card(struct pcmcia_socket *skt); - -/* CIS config */ -int pcmcia_read_config_byte(struct pcmcia_device *p_dev, off_t where, u8 *val); -int pcmcia_write_config_byte(struct pcmcia_device *p_dev, off_t where, u8 val); - -/* device configuration */ -int pcmcia_request_io(struct pcmcia_device *p_dev); - -int __must_check -__pcmcia_request_exclusive_irq(struct pcmcia_device *p_dev, - irq_handler_t handler); -static inline __must_check __deprecated int -pcmcia_request_exclusive_irq(struct pcmcia_device *p_dev, - irq_handler_t handler) -{ - return __pcmcia_request_exclusive_irq(p_dev, handler); -} - -int __must_check pcmcia_request_irq(struct pcmcia_device *p_dev, - irq_handler_t handler); - -int pcmcia_enable_device(struct pcmcia_device *p_dev); - -int pcmcia_request_window(struct pcmcia_device *p_dev, struct resource *res, - unsigned int speed); -int pcmcia_release_window(struct pcmcia_device *p_dev, struct resource *res); -int pcmcia_map_mem_page(struct pcmcia_device *p_dev, struct resource *res, - unsigned int offset); - -int pcmcia_fixup_vpp(struct pcmcia_device *p_dev, unsigned char new_vpp); -int pcmcia_fixup_iowidth(struct pcmcia_device *p_dev); - -void pcmcia_disable_device(struct pcmcia_device *p_dev); - -/* IO ports */ -#define IO_DATA_PATH_WIDTH 0x18 -#define IO_DATA_PATH_WIDTH_8 0x00 -#define IO_DATA_PATH_WIDTH_16 0x08 -#define IO_DATA_PATH_WIDTH_AUTO 0x10 - -/* IO memory */ -#define WIN_MEMORY_TYPE_CM 0x00 /* default */ -#define WIN_MEMORY_TYPE_AM 0x20 /* MAP_ATTRIB */ -#define WIN_DATA_WIDTH_8 0x00 /* default */ -#define WIN_DATA_WIDTH_16 0x02 /* MAP_16BIT */ -#define WIN_ENABLE 0x01 /* MAP_ACTIVE */ -#define WIN_USE_WAIT 0x40 /* MAP_USE_WAIT */ - -#define WIN_FLAGS_MAP 0x63 /* MAP_ATTRIB | MAP_16BIT | MAP_ACTIVE | - MAP_USE_WAIT */ -#define WIN_FLAGS_REQ 0x1c /* mapping to socket->win[i]: - 0x04 -> 0 - 0x08 -> 1 - 0x0c -> 2 - 0x10 -> 3 */ - -/* config_reg{ister}s present for this PCMCIA device */ -#define PRESENT_OPTION 0x001 -#define PRESENT_STATUS 0x002 -#define PRESENT_PIN_REPLACE 0x004 -#define PRESENT_COPY 0x008 -#define PRESENT_EXT_STATUS 0x010 -#define PRESENT_IOBASE_0 0x020 -#define PRESENT_IOBASE_1 0x040 -#define PRESENT_IOBASE_2 0x080 -#define PRESENT_IOBASE_3 0x100 -#define PRESENT_IOSIZE 0x200 - -/* flags to be passed to pcmcia_enable_device() */ -#define CONF_ENABLE_IRQ 0x0001 -#define CONF_ENABLE_SPKR 0x0002 -#define CONF_ENABLE_PULSE_IRQ 0x0004 -#define CONF_ENABLE_ESR 0x0008 -#define CONF_ENABLE_IOCARD 0x0010 /* auto-enabled if IO resources or IRQ - * (CONF_ENABLE_IRQ) in use */ -#define CONF_ENABLE_ZVCARD 0x0020 - -/* flags used by pcmcia_loop_config() autoconfiguration */ -#define CONF_AUTO_CHECK_VCC 0x0100 /* check for matching Vcc? */ -#define CONF_AUTO_SET_VPP 0x0200 /* set Vpp? */ -#define CONF_AUTO_AUDIO 0x0400 /* enable audio line? */ -#define CONF_AUTO_SET_IO 0x0800 /* set ->resource[0,1] */ -#define CONF_AUTO_SET_IOMEM 0x1000 /* set ->resource[2] */ - -#endif /* __KERNEL__ */ - -#endif /* _LINUX_DS_H */ diff --git a/ANDROID_3.4.5/include/pcmcia/ss.h b/ANDROID_3.4.5/include/pcmcia/ss.h deleted file mode 100644 index 731cde01..00000000 --- a/ANDROID_3.4.5/include/pcmcia/ss.h +++ /dev/null @@ -1,266 +0,0 @@ -/* - * ss.h - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * The initial developer of the original code is David A. Hinds - * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds - * are Copyright (C) 1999 David A. Hinds. All Rights Reserved. - * - * (C) 1999 David A. Hinds - */ - -#ifndef _LINUX_SS_H -#define _LINUX_SS_H - -#include <linux/device.h> -#include <linux/sched.h> /* task_struct, completion */ -#include <linux/mutex.h> - -#ifdef CONFIG_CARDBUS -#include <linux/pci.h> -#endif - -/* Definitions for card status flags for GetStatus */ -#define SS_WRPROT 0x0001 -#define SS_CARDLOCK 0x0002 -#define SS_EJECTION 0x0004 -#define SS_INSERTION 0x0008 -#define SS_BATDEAD 0x0010 -#define SS_BATWARN 0x0020 -#define SS_READY 0x0040 -#define SS_DETECT 0x0080 -#define SS_POWERON 0x0100 -#define SS_GPI 0x0200 -#define SS_STSCHG 0x0400 -#define SS_CARDBUS 0x0800 -#define SS_3VCARD 0x1000 -#define SS_XVCARD 0x2000 -#define SS_PENDING 0x4000 -#define SS_ZVCARD 0x8000 - -/* InquireSocket capabilities */ -#define SS_CAP_PAGE_REGS 0x0001 -#define SS_CAP_VIRTUAL_BUS 0x0002 -#define SS_CAP_MEM_ALIGN 0x0004 -#define SS_CAP_STATIC_MAP 0x0008 -#define SS_CAP_PCCARD 0x4000 -#define SS_CAP_CARDBUS 0x8000 - -/* for GetSocket, SetSocket */ -typedef struct socket_state_t { - u_int flags; - u_int csc_mask; - u_char Vcc, Vpp; - u_char io_irq; -} socket_state_t; - -extern socket_state_t dead_socket; - -/* Socket configuration flags */ -#define SS_PWR_AUTO 0x0010 -#define SS_IOCARD 0x0020 -#define SS_RESET 0x0040 -#define SS_DMA_MODE 0x0080 -#define SS_SPKR_ENA 0x0100 -#define SS_OUTPUT_ENA 0x0200 - -/* Flags for I/O port and memory windows */ -#define MAP_ACTIVE 0x01 -#define MAP_16BIT 0x02 -#define MAP_AUTOSZ 0x04 -#define MAP_0WS 0x08 -#define MAP_WRPROT 0x10 -#define MAP_ATTRIB 0x20 -#define MAP_USE_WAIT 0x40 -#define MAP_PREFETCH 0x80 - -/* Use this just for bridge windows */ -#define MAP_IOSPACE 0x20 - -/* power hook operations */ -#define HOOK_POWER_PRE 0x01 -#define HOOK_POWER_POST 0x02 - -typedef struct pccard_io_map { - u_char map; - u_char flags; - u_short speed; - phys_addr_t start, stop; -} pccard_io_map; - -typedef struct pccard_mem_map { - u_char map; - u_char flags; - u_short speed; - phys_addr_t static_start; - u_int card_start; - struct resource *res; -} pccard_mem_map; - -typedef struct io_window_t { - u_int InUse, Config; - struct resource *res; -} io_window_t; - -/* Maximum number of IO windows per socket */ -#define MAX_IO_WIN 2 - -/* Maximum number of memory windows per socket */ -#define MAX_WIN 4 - - -/* - * Socket operations. - */ -struct pcmcia_socket; -struct pccard_resource_ops; -struct config_t; -struct pcmcia_callback; -struct user_info_t; - -struct pccard_operations { - int (*init)(struct pcmcia_socket *s); - int (*suspend)(struct pcmcia_socket *s); - int (*get_status)(struct pcmcia_socket *s, u_int *value); - int (*set_socket)(struct pcmcia_socket *s, socket_state_t *state); - int (*set_io_map)(struct pcmcia_socket *s, struct pccard_io_map *io); - int (*set_mem_map)(struct pcmcia_socket *s, struct pccard_mem_map *mem); -}; - -struct pcmcia_socket { - struct module *owner; - socket_state_t socket; - u_int state; - u_int suspended_state; /* state before suspend */ - u_short functions; - u_short lock_count; - pccard_mem_map cis_mem; - void __iomem *cis_virt; - io_window_t io[MAX_IO_WIN]; - pccard_mem_map win[MAX_WIN]; - struct list_head cis_cache; - size_t fake_cis_len; - u8 *fake_cis; - - struct list_head socket_list; - struct completion socket_released; - - /* deprecated */ - unsigned int sock; /* socket number */ - - - /* socket capabilities */ - u_int features; - u_int irq_mask; - u_int map_size; - u_int io_offset; - u_int pci_irq; - struct pci_dev *cb_dev; - - /* socket setup is done so resources should be able to be allocated. - * Only if set to 1, calls to find_{io,mem}_region are handled, and - * insertio events are actually managed by the PCMCIA layer.*/ - u8 resource_setup_done; - - /* socket operations */ - struct pccard_operations *ops; - struct pccard_resource_ops *resource_ops; - void *resource_data; - - /* Zoom video behaviour is so chip specific its not worth adding - this to _ops */ - void (*zoom_video)(struct pcmcia_socket *, - int); - - /* so is power hook */ - int (*power_hook)(struct pcmcia_socket *sock, int operation); - - /* allows tuning the CB bridge before loading driver for the CB card */ -#ifdef CONFIG_CARDBUS - void (*tune_bridge)(struct pcmcia_socket *sock, struct pci_bus *bus); -#endif - - /* state thread */ - struct task_struct *thread; - struct completion thread_done; - unsigned int thread_events; - unsigned int sysfs_events; - - /* For the non-trivial interaction between these locks, - * see Documentation/pcmcia/locking.txt */ - struct mutex skt_mutex; - struct mutex ops_mutex; - - /* protects thread_events and sysfs_events */ - spinlock_t thread_lock; - - /* pcmcia (16-bit) */ - struct pcmcia_callback *callback; - -#if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE) - /* The following elements refer to 16-bit PCMCIA devices inserted - * into the socket */ - struct list_head devices_list; - - /* the number of devices, used only internally and subject to - * incorrectness and change */ - u8 device_count; - - /* does the PCMCIA card consist of two pseudo devices? */ - u8 pcmcia_pfc; - - /* non-zero if PCMCIA card is present */ - atomic_t present; - - /* IRQ to be used by PCMCIA devices. May not be IRQ 0. */ - unsigned int pcmcia_irq; - -#endif /* CONFIG_PCMCIA */ - - /* socket device */ - struct device dev; - /* data internal to the socket driver */ - void *driver_data; - /* status of the card during resume from a system sleep state */ - int resume_status; -}; - - -/* socket drivers must define the resource operations type they use. There - * are three options: - * - pccard_static_ops iomem and ioport areas are assigned statically - * - pccard_iodyn_ops iomem areas is assigned statically, ioport - * areas dynamically - * If this option is selected, use - * "select PCCARD_IODYN" in Kconfig. - * - pccard_nonstatic_ops iomem and ioport areas are assigned dynamically. - * If this option is selected, use - * "select PCCARD_NONSTATIC" in Kconfig. - * - */ -extern struct pccard_resource_ops pccard_static_ops; -#if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE) -extern struct pccard_resource_ops pccard_iodyn_ops; -extern struct pccard_resource_ops pccard_nonstatic_ops; -#else -/* If PCMCIA is not used, but only CARDBUS, these functions are not used - * at all. Therefore, do not use the large (240K!) rsrc_nonstatic module - */ -#define pccard_iodyn_ops pccard_static_ops -#define pccard_nonstatic_ops pccard_static_ops -#endif - - -/* socket drivers use this callback in their IRQ handler */ -extern void pcmcia_parse_events(struct pcmcia_socket *socket, - unsigned int events); - -/* to register and unregister a socket */ -extern int pcmcia_register_socket(struct pcmcia_socket *socket); -extern void pcmcia_unregister_socket(struct pcmcia_socket *socket); - - -#endif /* _LINUX_SS_H */ |