tdfx_vars.h revision 61931
165123Speter/* 265123Speter * Copyright (c) 2000 by Coleman Kane <cokane@FreeBSD.org> 365123Speter * All rights reserved. 465123Speter * 565123Speter * Redistribution and use in source and binary forms, with or without 665123Speter * modification, are permitted provided that the following conditions 765123Speter * are met: 865123Speter * 1. Redistributions of source code must retain the above copyright 965123Speter * notice, this list of conditions and the following disclaimer. 1065123Speter * 2. Redistributions in binary form must reproduce the above copyright 1165123Speter * notice, this list of conditions and the following disclaimer in the 1265123Speter * documentation and/or other materials provided with the distribution. 1365123Speter * 3. All advertising materials mentioning features or use of this software 1465123Speter * must display the following acknowledgement: 1565123Speter * This product includes software developed by Gardner Buchanan. 1665123Speter * 4. The name of Gardner Buchanan may not be used to endorse or promote 1765123Speter * products derived from this software without specific prior written 1865123Speter * permission. 1965123Speter * 2065123Speter * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 2165123Speter * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 2265123Speter * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 2365123Speter * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 2465123Speter * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 2565123Speter * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2665123Speter * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2765123Speter * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2865123Speter * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 2965123Speter * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3065177Speter * 3165123Speter * $FreeBSD: head/sys/dev/tdfx/tdfx_vars.h 61931 2000-06-22 05:37:17Z cokane $ 3265123Speter */ 3365123Speter 3465123Speter/* tdfx_vars.h -- constants and structs used in the tdfx driver 3565123Speter Copyright (C) 2000 by Coleman Kane <cokane@FreeBSD.org> 3665123Speter*/ 3765123Speter#ifndef TDFX_VARS_H 3865123Speter#define TDFX_VARS_H 3965123Speter 4065123Speter#include <sys/memrange.h> 4165123Speter#include <sys/param.h> 4265123Speter#include <sys/bus_private.h> 4365123Speter#include <sys/bus.h> 4465123Speter#include <sys/cdefs.h> 4565123Speter 4665123Speter#define CDEV_MAJOR 107 4765123Speter#define PCI_DEVICE_ALLIANCE_AT3D 0x643d1142 4865123Speter#define PCI_DEVICE_3DFX_VOODOO1 0x0000121a 4965123Speter#define PCI_DEVICE_3DFX_VOODOO2 0x0002121a 5065177Speter#define PCI_DEVICE_3DFX_BANSHEE 0x0003121a 5165123Speter#define PCI_DEVICE_3DFX_VOODOO3 0x0005121a 5265123Speter 5365123Speter#define PCI_VENDOR_ID_FREEBSD 0x0 5465123Speter#define PCI_DEVICE_ID_FREEBSD 0x2 5565123Speter#define PCI_COMMAND_FREEBSD 0x4 5665123Speter#define PCI_REVISION_ID_FREEBSD 0x8 5765123Speter#define PCI_BASE_ADDRESS_0_FREEBSD 0x10 5865123Speter#define SST1_PCI_SPECIAL1_FREEBSD 0x40 5965123Speter#define SST1_PCI_SPECIAL2_FREEBSD 0x44 6065123Speter#define SST1_PCI_SPECIAL3_FREEBSD 0x48 6165123Speter#define SST1_PCI_SPECIAL4_FREEBSD 0x54 6265123Speter 6365123Speter#define VGA_INPUT_STATUS_1C 0x3DA 6465123Speter#define VGA_MISC_OUTPUT_READ 0x3cc 6565123Speter#define VGA_MISC_OUTPUT_WRITE 0x3c2 6665123Speter#define SC_INDEX 0x3c4 6765126Speter#define SC_DATA 0x3c5 6865123Speter 6965123Speter#define PCI_MAP_REG_START 0x10 7065123Speter#define UNIT(m) (m & 0xf) 7165123Speter 7265123Speter/* IOCTL Calls */ 7365123Speter#define TDFX_IOC_TYPE_PIO 0 7465123Speter#define TDFX_IOC_TYPE_QUERY '3' 7565123Speter#define TDFX_IOC_QRY_BOARDS 2 7665123Speter#define TDFX_IOC_QRY_FETCH 3 7765123Speter#define TDFX_IOC_QRY_UPDATE 4 7865123Speter 7965123Speterstruct tdfx_softc { 8065123Speter int cardno; 8165123Speter vm_offset_t addr; 8265123Speter struct resource *memrange, *piorange; 8365123Speter int memrid, piorid; 8465123Speter long range; 8565123Speter int vendor; 8665123Speter int type; 8765123Speter int addr0; 8865123Speter unsigned char bus; 8965123Speter unsigned char dv; 9065123Speter struct file *curFile; 9165123Speter device_t dev; 9265123Speter struct mem_range_desc mrdesc; 9365123Speter int busy; 9465123Speter}; 9565123Speter 9665123Speterstruct tdfx_pio_data { 9765123Speter short port; 9865123Speter short size; 9965123Speter int device; 10065123Speter void *value; 10165123Speter}; 10265123Speter 10365123Speter#endif /* TDFX_VARS_H */ 10465127Speter