129615Sjmg/* 229615Sjmg * Copyright (c) 1996, Sujal M. Patel 329615Sjmg * All rights reserved. 429615Sjmg * 529615Sjmg * Redistribution and use in source and binary forms, with or without 629615Sjmg * modification, are permitted provided that the following conditions 729615Sjmg * are met: 829615Sjmg * 1. Redistributions of source code must retain the above copyright 929615Sjmg * notice, this list of conditions and the following disclaimer. 1029615Sjmg * 2. Redistributions in binary form must reproduce the above copyright 1129615Sjmg * notice, this list of conditions and the following disclaimer in the 1229615Sjmg * documentation and/or other materials provided with the distribution. 1329615Sjmg * 3. All advertising materials mentioning features or use of this software 1429615Sjmg * must display the following acknowledgement: 1529615Sjmg * This product includes software developed by Sujal M. Patel 1629615Sjmg * 4. Neither the name of the author nor the names of any co-contributors 1729615Sjmg * may be used to endorse or promote products derived from this software 1829615Sjmg * without specific prior written permission. 1929615Sjmg * 2029615Sjmg * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 2129615Sjmg * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2229615Sjmg * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2329615Sjmg * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 2429615Sjmg * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2529615Sjmg * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2629615Sjmg * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2729615Sjmg * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2829615Sjmg * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2929615Sjmg * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3029615Sjmg * SUCH DAMAGE. 3129615Sjmg * 3250964Speter * $FreeBSD$ 3329615Sjmg */ 3429615Sjmg 3529615Sjmg 3629615Sjmg/* Maximum Number of PnP Devices. 6 should be plenty */ 3729615Sjmg#define MAX_CARDS 6 3829615Sjmg 3929615Sjmg 4029615Sjmg/* Static ports */ 4129615Sjmg#define ADDRESS 0x279 4229615Sjmg#define WRITE_DATA 0xa79 4329615Sjmg 4429615Sjmg 4529615Sjmg/* PnP Registers. Write to ADDRESS and then use WRITE/READ_DATA */ 4629615Sjmg#define SET_RD_DATA 0x00 4729615Sjmg#define SERIAL_ISOLATION 0x01 4829615Sjmg#define WAKE 0x03 4929615Sjmg#define RESOURCE_DATA 0x04 5029615Sjmg#define STATUS 0x05 5129615Sjmg#define SET_CSN 0x06 5229615Sjmg 5329615Sjmg/* Small Resource Item names */ 5429615Sjmg#define PNP_VERSION 0x1 5529615Sjmg#define LOG_DEVICE_ID 0x2 5629615Sjmg#define COMP_DEVICE_ID 0x3 5729615Sjmg#define IRQ_FORMAT 0x4 5829615Sjmg#define DMA_FORMAT 0x5 5929615Sjmg#define START_DEPEND_FUNC 0x6 6029615Sjmg#define END_DEPEND_FUNC 0x7 6129615Sjmg#define IO_PORT_DESC 0x8 6229615Sjmg#define FIXED_IO_PORT_DESC 0x9 6329615Sjmg#define SM_RES_RESERVED 0xa-0xd 6429615Sjmg#define SM_VENDOR_DEFINED 0xe 6529615Sjmg#define END_TAG 0xf 6629615Sjmg 6729615Sjmg/* Large Resource Item names */ 6829615Sjmg#define MEMORY_RANGE_DESC 0x1 6929615Sjmg#define ID_STRING_ANSI 0x2 7029615Sjmg#define ID_STRING_UNICODE 0x3 7129615Sjmg#define LG_VENDOR_DEFINED 0x4 7229615Sjmg#define _32BIT_MEM_RANGE_DESC 0x5 7329615Sjmg#define _32BIT_FIXED_LOC_DESC 0x6 7429615Sjmg#define LG_RES_RESERVED 0x7-0x7f 75