1*1da177e4SLinus Torvalds /* 2*1da177e4SLinus Torvalds * vg468.h 1.11 1999/10/25 20:03:34 3*1da177e4SLinus Torvalds * 4*1da177e4SLinus Torvalds * The contents of this file are subject to the Mozilla Public License 5*1da177e4SLinus Torvalds * Version 1.1 (the "License"); you may not use this file except in 6*1da177e4SLinus Torvalds * compliance with the License. You may obtain a copy of the License 7*1da177e4SLinus Torvalds * at http://www.mozilla.org/MPL/ 8*1da177e4SLinus Torvalds * 9*1da177e4SLinus Torvalds * Software distributed under the License is distributed on an "AS IS" 10*1da177e4SLinus Torvalds * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 11*1da177e4SLinus Torvalds * the License for the specific language governing rights and 12*1da177e4SLinus Torvalds * limitations under the License. 13*1da177e4SLinus Torvalds * 14*1da177e4SLinus Torvalds * The initial developer of the original code is David A. Hinds 15*1da177e4SLinus Torvalds * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds 16*1da177e4SLinus Torvalds * are Copyright (C) 1999 David A. Hinds. All Rights Reserved. 17*1da177e4SLinus Torvalds * 18*1da177e4SLinus Torvalds * Alternatively, the contents of this file may be used under the 19*1da177e4SLinus Torvalds * terms of the GNU General Public License version 2 (the "GPL"), in which 20*1da177e4SLinus Torvalds * case the provisions of the GPL are applicable instead of the 21*1da177e4SLinus Torvalds * above. If you wish to allow the use of your version of this file 22*1da177e4SLinus Torvalds * only under the terms of the GPL and not to allow others to use 23*1da177e4SLinus Torvalds * your version of this file under the MPL, indicate your decision by 24*1da177e4SLinus Torvalds * deleting the provisions above and replace them with the notice and 25*1da177e4SLinus Torvalds * other provisions required by the GPL. If you do not delete the 26*1da177e4SLinus Torvalds * provisions above, a recipient may use your version of this file 27*1da177e4SLinus Torvalds * under either the MPL or the GPL. 28*1da177e4SLinus Torvalds */ 29*1da177e4SLinus Torvalds 30*1da177e4SLinus Torvalds #ifndef _LINUX_VG468_H 31*1da177e4SLinus Torvalds #define _LINUX_VG468_H 32*1da177e4SLinus Torvalds 33*1da177e4SLinus Torvalds /* Special bit in I365_IDENT used for Vadem chip detection */ 34*1da177e4SLinus Torvalds #define I365_IDENT_VADEM 0x08 35*1da177e4SLinus Torvalds 36*1da177e4SLinus Torvalds /* Special definitions in I365_POWER */ 37*1da177e4SLinus Torvalds #define VG468_VPP2_MASK 0x0c 38*1da177e4SLinus Torvalds #define VG468_VPP2_5V 0x04 39*1da177e4SLinus Torvalds #define VG468_VPP2_12V 0x08 40*1da177e4SLinus Torvalds 41*1da177e4SLinus Torvalds /* Unique Vadem registers */ 42*1da177e4SLinus Torvalds #define VG469_VSENSE 0x1f /* Card voltage sense */ 43*1da177e4SLinus Torvalds #define VG469_VSELECT 0x2f /* Card voltage select */ 44*1da177e4SLinus Torvalds #define VG468_CTL 0x38 /* Control register */ 45*1da177e4SLinus Torvalds #define VG468_TIMER 0x39 /* Timer control */ 46*1da177e4SLinus Torvalds #define VG468_MISC 0x3a /* Miscellaneous */ 47*1da177e4SLinus Torvalds #define VG468_GPIO_CFG 0x3b /* GPIO configuration */ 48*1da177e4SLinus Torvalds #define VG469_EXT_MODE 0x3c /* Extended mode register */ 49*1da177e4SLinus Torvalds #define VG468_SELECT 0x3d /* Programmable chip select */ 50*1da177e4SLinus Torvalds #define VG468_SELECT_CFG 0x3e /* Chip select configuration */ 51*1da177e4SLinus Torvalds #define VG468_ATA 0x3f /* ATA control */ 52*1da177e4SLinus Torvalds 53*1da177e4SLinus Torvalds /* Flags for VG469_VSENSE */ 54*1da177e4SLinus Torvalds #define VG469_VSENSE_A_VS1 0x01 55*1da177e4SLinus Torvalds #define VG469_VSENSE_A_VS2 0x02 56*1da177e4SLinus Torvalds #define VG469_VSENSE_B_VS1 0x04 57*1da177e4SLinus Torvalds #define VG469_VSENSE_B_VS2 0x08 58*1da177e4SLinus Torvalds 59*1da177e4SLinus Torvalds /* Flags for VG469_VSELECT */ 60*1da177e4SLinus Torvalds #define VG469_VSEL_VCC 0x03 61*1da177e4SLinus Torvalds #define VG469_VSEL_5V 0x00 62*1da177e4SLinus Torvalds #define VG469_VSEL_3V 0x03 63*1da177e4SLinus Torvalds #define VG469_VSEL_MAX 0x0c 64*1da177e4SLinus Torvalds #define VG469_VSEL_EXT_STAT 0x10 65*1da177e4SLinus Torvalds #define VG469_VSEL_EXT_BUS 0x20 66*1da177e4SLinus Torvalds #define VG469_VSEL_MIXED 0x40 67*1da177e4SLinus Torvalds #define VG469_VSEL_ISA 0x80 68*1da177e4SLinus Torvalds 69*1da177e4SLinus Torvalds /* Flags for VG468_CTL */ 70*1da177e4SLinus Torvalds #define VG468_CTL_SLOW 0x01 /* 600ns memory timing */ 71*1da177e4SLinus Torvalds #define VG468_CTL_ASYNC 0x02 /* Asynchronous bus clocking */ 72*1da177e4SLinus Torvalds #define VG468_CTL_TSSI 0x08 /* Tri-state some outputs */ 73*1da177e4SLinus Torvalds #define VG468_CTL_DELAY 0x10 /* Card detect debounce */ 74*1da177e4SLinus Torvalds #define VG468_CTL_INPACK 0x20 /* Obey INPACK signal? */ 75*1da177e4SLinus Torvalds #define VG468_CTL_POLARITY 0x40 /* VCCEN polarity */ 76*1da177e4SLinus Torvalds #define VG468_CTL_COMPAT 0x80 /* Compatibility stuff */ 77*1da177e4SLinus Torvalds 78*1da177e4SLinus Torvalds #define VG469_CTL_WS_COMPAT 0x04 /* Wait state compatibility */ 79*1da177e4SLinus Torvalds #define VG469_CTL_STRETCH 0x10 /* LED stretch */ 80*1da177e4SLinus Torvalds 81*1da177e4SLinus Torvalds /* Flags for VG468_TIMER */ 82*1da177e4SLinus Torvalds #define VG468_TIMER_ZEROPWR 0x10 /* Zero power control */ 83*1da177e4SLinus Torvalds #define VG468_TIMER_SIGEN 0x20 /* Power up */ 84*1da177e4SLinus Torvalds #define VG468_TIMER_STATUS 0x40 /* Activity timer status */ 85*1da177e4SLinus Torvalds #define VG468_TIMER_RES 0x80 /* Timer resolution */ 86*1da177e4SLinus Torvalds #define VG468_TIMER_MASK 0x0f /* Activity timer timeout */ 87*1da177e4SLinus Torvalds 88*1da177e4SLinus Torvalds /* Flags for VG468_MISC */ 89*1da177e4SLinus Torvalds #define VG468_MISC_GPIO 0x04 /* General-purpose IO */ 90*1da177e4SLinus Torvalds #define VG468_MISC_DMAWSB 0x08 /* DMA wait state control */ 91*1da177e4SLinus Torvalds #define VG469_MISC_LEDENA 0x10 /* LED enable */ 92*1da177e4SLinus Torvalds #define VG468_MISC_VADEMREV 0x40 /* Vadem revision control */ 93*1da177e4SLinus Torvalds #define VG468_MISC_UNLOCK 0x80 /* Unique register lock */ 94*1da177e4SLinus Torvalds 95*1da177e4SLinus Torvalds /* Flags for VG469_EXT_MODE_A */ 96*1da177e4SLinus Torvalds #define VG469_MODE_VPPST 0x03 /* Vpp steering control */ 97*1da177e4SLinus Torvalds #define VG469_MODE_INT_SENSE 0x04 /* Internal voltage sense */ 98*1da177e4SLinus Torvalds #define VG469_MODE_CABLE 0x08 99*1da177e4SLinus Torvalds #define VG469_MODE_COMPAT 0x10 /* i82365sl B or DF step */ 100*1da177e4SLinus Torvalds #define VG469_MODE_TEST 0x20 101*1da177e4SLinus Torvalds #define VG469_MODE_RIO 0x40 /* Steer RIO to INTR? */ 102*1da177e4SLinus Torvalds 103*1da177e4SLinus Torvalds /* Flags for VG469_EXT_MODE_B */ 104*1da177e4SLinus Torvalds #define VG469_MODE_B_3V 0x01 /* 3.3v for socket B */ 105*1da177e4SLinus Torvalds 106*1da177e4SLinus Torvalds #endif /* _LINUX_VG468_H */ 107