11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * FILE NAME 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * drivers/pcmcia/vrc4173_cardu.h 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * BRIEF MODULE DESCRIPTION 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Include file for NEC VRC4173 CARDU. 71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 8ada8e9514b5880f81cdbbd212d121380ceef7accYoichi Yuasa * Copyright 2002 Yoichi Yuasa <yuasa@linux-mips.org> 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * This program is free software; you can redistribute it and/or modify it 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * under the terms of the GNU General Public License as published by the 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Free Software Foundation; either version 2 of the License, or (at your 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * option) any later version. 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * You should have received a copy of the GNU General Public License along 271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * with this program; if not, write to the Free Software Foundation, Inc., 281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 675 Mass Ave, Cambridge, MA 02139, USA. 291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef _VRC4173_CARDU_H 311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define _VRC4173_CARDU_H 321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/pci.h> 341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <pcmcia/ss.h> 361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CARDU_MAX_SOCKETS 2 381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CARDU1 0 391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CARDU2 1 401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * PCI Configuration Registers 431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define BRGCNT 0x3e 451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define POST_WR_EN 0x0400 461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define MEM1_PREF_EN 0x0200 471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define MEM0_PREF_EN 0x0100 481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define IREQ_INT 0x0080 491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CARD_RST 0x0040 501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define MABORT_MODE 0x0020 511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VGA_EN 0x0008 521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define ISA_EN 0x0004 531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define SERR_EN 0x0002 541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define PERR_EN 0x0001 551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SYSCNT 0x80 571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define BAD_VCC_REQ_DISB 0x00200000 581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define PCPCI_EN 0x00080000 591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CH_ASSIGN_MASK 0x00070000 601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CH_ASSIGN_NODMA 0x00040000 611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define SUB_ID_WR_EN 0x00000008 621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define ASYN_INT_MODE 0x00000004 631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define PCI_CLK_RIN 0x00000002 641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DEVCNT 0x91 661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define ZOOM_VIDEO_EN 0x40 671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define SR_PCI_INT_SEL_MASK 0x18 681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define SR_PCI_INT_SEL_NONE 0x00 691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define PCI_INT_MODE 0x04 701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define IRQ_MODE 0x02 711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define IFG 0x01 721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CHIPCNT 0x9c 741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define S_PREF_DISB 0x10 751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SERRDIS 0x9f 771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define SERR_DIS_MAB 0x10 781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define SERR_DIS_TAB 0x08 791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define SERR_DIS_DT_PERR 0x04 801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * ExCA Registers 831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EXCA_REGS_BASE 0x800 851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define EXCA_REGS_SIZE 0x800 861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ID_REV 0x000 881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define IF_TYPE_16BIT 0x80 891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IF_STATUS 0x001 911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CARD_PWR 0x40 921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define READY 0x20 931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CARD_WP 0x10 941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CARD_DETECT2 0x08 951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CARD_DETECT1 0x04 961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define BV_DETECT_MASK 0x03 971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define BV_DETECT_GOOD 0x03 /* Memory card */ 981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define BV_DETECT_WARN 0x02 991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define BV_DETECT_BAD1 0x01 1001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define BV_DETECT_BAD0 0x00 1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define STSCHG 0x02 /* I/O card */ 1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define SPKR 0x01 1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define PWR_CNT 0x002 1051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CARD_OUT_EN 0x80 1061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VCC_MASK 0x18 1071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VCC_3V 0x18 1081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VCC_5V 0x10 1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VCC_0V 0x00 1101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VPP_MASK 0x03 1111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VPP_12V 0x02 1121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VPP_VCC 0x01 1131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VPP_0V 0x00 1141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define INT_GEN_CNT 0x003 1161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CARD_REST0 0x40 1171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CARD_TYPE_MASK 0x20 1181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CARD_TYPE_IO 0x20 1191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CARD_TYPE_MEM 0x00 1201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CARD_SC 0x004 1221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CARD_DT_CHG 0x08 1231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define RDY_CHG 0x04 1241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define BAT_WAR_CHG 0x02 1251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define BAT_DEAD_ST_CHG 0x01 1261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CARD_SCI 0x005 1281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CARD_DT_EN 0x08 1291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define RDY_EN 0x04 1301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define BAT_WAR_EN 0x02 1311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define BAT_DEAD_EN 0x01 1321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ADR_WIN_EN 0x006 1341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define IO_WIN_EN(x) (0x40 << (x)) 1351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define MEM_WIN_EN(x) (0x01 << (x)) 1361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IO_WIN_CNT 0x007 1381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define IO_WIN_CNT_MASK(x) (0x03 << ((x) << 2)) 1391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define IO_WIN_DATA_AUTOSZ(x) (0x02 << ((x) << 2)) 1401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define IO_WIN_DATA_16BIT(x) (0x01 << ((x) << 2)) 1411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IO_WIN_SA(x) (0x008 + ((x) << 2)) 1431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IO_WIN_EA(x) (0x00a + ((x) << 2)) 1441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MEM_WIN_SA(x) (0x010 + ((x) << 3)) 1461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define MEM_WIN_DSIZE 0x8000 1471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MEM_WIN_EA(x) (0x012 + ((x) << 3)) 1491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MEM_WIN_OA(x) (0x014 + ((x) << 3)) 1511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define MEM_WIN_WP 0x8000 1521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define MEM_WIN_REGSET 0x4000 1531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define GEN_CNT 0x016 1551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VS2_STATUS 0x80 1561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VS1_STATUS 0x40 1571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define EXCA_REG_RST_EN 0x02 1581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define GLO_CNT 0x01e 1601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define FUN_INT_LEV 0x08 1611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define INT_WB_CLR 0x04 1621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CSC_INT_LEV 0x02 1631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IO_WIN_OAL(x) (0x036 + ((x) << 1)) 1651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IO_WIN_OAH(x) (0x037 + ((x) << 1)) 1661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MEM_WIN_SAU(x) (0x040 + (x)) 1681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IO_SETUP_TIM 0x080 1701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IO_CMD_TIM 0x081 1711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define IO_HOLD_TIM 0x082 1721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MEM_SETUP_TIM(x) (0x084 + ((x) << 2)) 1731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MEM_CMD_TIM(x) (0x085 + ((x) << 2)) 1741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MEM_HOLD_TIM(x) (0x086 + ((x) << 2)) 1751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define TIM_CLOCKS(x) ((x) - 1) 1761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MEM_TIM_SEL1 0x08c 1781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MEM_TIM_SEL2 0x08d 1791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define MEM_WIN_TIMSEL1(x) (0x03 << (((x) & 3) << 1)) 1801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define MEM_WIN_PWEN 0x091 1821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define POSTWEN 0x01 1831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 1851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * CardBus Socket Registers 1861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */ 1871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CARDBUS_SOCKET_REGS_BASE 0x000 1881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define CARDBUS_SOCKET_REGS_SIZE 0x800 1891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SKT_EV 0x000 1911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define POW_CYC_EV 0x00000008 1921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CCD2_EV 0x00000004 1931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CCD1_EV 0x00000002 1941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CSTSCHG_EV 0x00000001 1951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SKT_MASK 0x004 1971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define POW_CYC_MASK 0x00000008 1981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CCD_MASK 0x00000006 1991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CSC_MASK 0x00000001 2001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SKT_PRE_STATE 0x008 2021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SKT_FORCE_EV 0x00c 2031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VOL_3V_SKT 0x20000000 2041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VOL_5V_SKT 0x10000000 2051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CVS_TEST 0x00004000 2061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VOL_YV_CARD_DT 0x00002000 2071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VOL_XV_CARD_DT 0x00001000 2081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VOL_3V_CARD_DT 0x00000800 2091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VOL_5V_CARD_DT 0x00000400 2101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define BAD_VCC_REQ 0x00000200 2111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define DATA_LOST 0x00000100 2121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define NOT_A_CARD 0x00000080 2131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CREADY 0x00000040 2141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CB_CARD_DT 0x00000020 2151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define R2_CARD_DT 0x00000010 2161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define POW_UP 0x00000008 2171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CCD20 0x00000004 2181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CCD10 0x00000002 2191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define CSTSCHG 0x00000001 2201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define SKT_CNT 0x010 2221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define STP_CLK_EN 0x00000080 2231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VCC_CNT_MASK 0x00000070 2241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VCC_CNT_3V 0x00000030 2251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VCC_CNT_5V 0x00000020 2261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VCC_CNT_0V 0x00000000 2271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VPP_CNT_MASK 0x00000007 2281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VPP_CNT_3V 0x00000003 2291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VPP_CNT_5V 0x00000002 2301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VPP_CNT_12V 0x00000001 2311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds #define VPP_CNT_0V 0x00000000 2321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct vrc4173_socket { 2341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds int noprobe; 2351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds struct pci_dev *dev; 2361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds void *base; 2371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds void (*handler)(void *, unsigned int); 2381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds void *info; 2391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds socket_cap_t cap; 2401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds spinlock_t event_lock; 2411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds uint16_t events; 2421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds struct socket_info_t *pcmcia_socket; 2431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds struct work_struct tq_work; 2441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds char name[20]; 2451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} vrc4173_socket_t; 2461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 2471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif /* _VRC4173_CARDU_H */ 248