Home | History | Annotate | Line # | Download | only in pci
tgareg.h revision 1.4.38.1
      1  1.4.38.1      yamt /* $NetBSD: tgareg.h,v 1.4.38.1 2005/03/19 08:35:12 yamt Exp $ */
      2       1.1  drochner 
      3       1.1  drochner /*
      4       1.1  drochner  * Copyright (c) 1995, 1996 Carnegie-Mellon University.
      5       1.1  drochner  * All rights reserved.
      6       1.1  drochner  *
      7       1.1  drochner  * Author: Chris G. Demetriou
      8  1.4.38.1      yamt  *
      9       1.1  drochner  * Permission to use, copy, modify and distribute this software and
     10       1.1  drochner  * its documentation is hereby granted, provided that both the copyright
     11       1.1  drochner  * notice and this permission notice appear in all copies of the
     12       1.1  drochner  * software, derivative works or modified versions, and any portions
     13       1.1  drochner  * thereof, and that both notices appear in supporting documentation.
     14  1.4.38.1      yamt  *
     15  1.4.38.1      yamt  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
     16  1.4.38.1      yamt  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
     17       1.1  drochner  * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
     18  1.4.38.1      yamt  *
     19       1.1  drochner  * Carnegie Mellon requests users of this software to return to
     20       1.1  drochner  *
     21       1.1  drochner  *  Software Distribution Coordinator  or  Software.Distribution (at) CS.CMU.EDU
     22       1.1  drochner  *  School of Computer Science
     23       1.1  drochner  *  Carnegie Mellon University
     24       1.1  drochner  *  Pittsburgh PA 15213-3890
     25       1.1  drochner  *
     26       1.1  drochner  * any improvements or extensions that they make and grant Carnegie the
     27       1.1  drochner  * rights to redistribute these changes.
     28       1.1  drochner  */
     29       1.1  drochner 
     30       1.1  drochner #ifndef _ALPHA_INCLUDE_TGAREG_H_
     31       1.1  drochner #define _ALPHA_INCLUDE_TGAREG_H_
     32       1.1  drochner 
     33       1.1  drochner /*
     34       1.1  drochner  * Device-specific PCI register offsets and contents.
     35       1.1  drochner  */
     36       1.1  drochner 
     37       1.1  drochner #define	TGA_PCIREG_PVRR	0x40		/* PCI Address Extension Register */
     38       1.1  drochner 
     39       1.1  drochner #define	TGA_PCIREG_PAER	0x44		/* PCI VGA Redirect Register */
     40       1.1  drochner 
     41       1.1  drochner /*
     42       1.1  drochner  * TGA Memory Space offsets
     43       1.1  drochner  */
     44       1.1  drochner 
     45       1.1  drochner #define	TGA_MEM_ALTROM	0x0000000	/* 0MB -- Alternate ROM space */
     46       1.3     elric #define TGA2_MEM_EXTDEV	0x0000000	/* 0MB -- External Device Access */
     47       1.1  drochner #define	TGA_MEM_CREGS	0x0100000	/* 1MB -- Core Registers */
     48       1.4   nathanw #define TGA_CREGS_SIZE	0x0100000 	/* Core registers occupy 1MB */
     49       1.4   nathanw #define TGA_CREGS_ALIAS	0x0000400	/* Register copies every 1kB */
     50       1.3     elric 
     51       1.3     elric #define TGA2_MEM_CLOCK	0x0060000	/* TGA2 Clock access */
     52       1.3     elric #define TGA2_MEM_RAMDAC	0x0080000	/* TGA2 RAMDAC access */
     53       1.3     elric 
     54       1.1  drochner /* Display and Back Buffers mapped at config-dependent addresses */
     55       1.1  drochner 
     56       1.1  drochner /*
     57       1.1  drochner  * TGA Core Space register numbers and contents.
     58       1.1  drochner  */
     59       1.1  drochner 
     60       1.1  drochner typedef u_int32_t tga_reg_t;
     61       1.1  drochner 
     62       1.1  drochner #define	TGA_REG_GCBR0	0x000		/* Copy buffer 0 */
     63       1.1  drochner #define	TGA_REG_GCBR1	0x001		/* Copy buffer 1 */
     64       1.1  drochner #define	TGA_REG_GCBR2	0x002		/* Copy buffer 2 */
     65       1.1  drochner #define	TGA_REG_GCBR3	0x003		/* Copy buffer 3 */
     66       1.1  drochner #define	TGA_REG_GCBR4	0x004		/* Copy buffer 4 */
     67       1.1  drochner #define	TGA_REG_GCBR5	0x005		/* Copy buffer 5 */
     68       1.1  drochner #define	TGA_REG_GCBR6	0x006		/* Copy buffer 6 */
     69       1.1  drochner #define	TGA_REG_GCBR7	0x007		/* Copy buffer 7 */
     70       1.1  drochner 
     71       1.1  drochner #define	TGA_REG_GFGR	0x008		/* Foreground */
     72       1.1  drochner #define	TGA_REG_GBGR	0x009		/* Background */
     73       1.1  drochner #define	TGA_REG_GPMR	0x00a		/* Plane Mask */
     74       1.1  drochner #define	TGA_REG_GPXR_S	0x00b		/* Pixel Mask (one-shot) */
     75       1.1  drochner #define	TGA_REG_GMOR	0x00c		/* Mode */
     76       1.1  drochner #define	TGA_REG_GOPR	0x00d		/* Raster Operation */
     77       1.1  drochner #define	TGA_REG_GPSR	0x00e		/* Pixel Shift */
     78       1.1  drochner #define	TGA_REG_GADR	0x00f		/* Address */
     79       1.1  drochner 
     80       1.1  drochner #define	TGA_REG_GB1R	0x010		/* Bresenham 1 */
     81       1.1  drochner #define	TGA_REG_GB2R	0x011		/* Bresenham 2 */
     82       1.1  drochner #define	TGA_REG_GB3R	0x012		/* Bresenham 3 */
     83       1.1  drochner 
     84       1.1  drochner #define	TGA_REG_GCTR	0x013		/* Continue */
     85       1.1  drochner #define	TGA_REG_GDER	0x014		/* Deep */
     86       1.3     elric #define TGA_REG_GREV	0x015		/* Start/Version on TGA,
     87       1.3     elric 					 * Revision on TGA2 */
     88       1.1  drochner #define	TGA_REG_GSMR	0x016		/* Stencil Mode */
     89       1.1  drochner #define	TGA_REG_GPXR_P	0x017		/* Pixel Mask (persistent) */
     90       1.1  drochner #define	TGA_REG_CCBR	0x018		/* Cursor Base Address */
     91       1.1  drochner #define	TGA_REG_VHCR	0x019		/* Horizontal Control */
     92       1.1  drochner #define	TGA_REG_VVCR	0x01a		/* Vertical Control */
     93       1.1  drochner #define	TGA_REG_VVBR	0x01b		/* Video Base Address */
     94       1.1  drochner #define	TGA_REG_VVVR	0x01c		/* Video Valid */
     95       1.1  drochner #define	TGA_REG_CXYR	0x01d		/* Cursor XY */
     96       1.1  drochner #define	TGA_REG_VSAR	0x01e		/* Video Shift Address */
     97       1.1  drochner #define	TGA_REG_SISR	0x01f		/* Interrupt Status */
     98       1.1  drochner #define	TGA_REG_GDAR	0x020		/* Data */
     99       1.1  drochner #define	TGA_REG_GRIR	0x021		/* Red Increment */
    100       1.1  drochner #define	TGA_REG_GGIR	0x022		/* Green Increment */
    101       1.1  drochner #define	TGA_REG_GBIR	0x023		/* Blue Increment */
    102       1.1  drochner #define	TGA_REG_GZIR_L	0x024		/* Z-increment Low */
    103       1.1  drochner #define	TGA_REG_GZIR_H	0x025		/* Z-Increment High */
    104       1.1  drochner #define	TGA_REG_GDBR	0x026		/* DMA Base Address */
    105       1.1  drochner #define	TGA_REG_GBWR	0x027		/* Bresenham Width */
    106       1.1  drochner #define	TGA_REG_GZVR_L	0x028		/* Z-value Low */
    107       1.1  drochner #define	TGA_REG_GZVR_H	0x029		/* Z-value High */
    108       1.1  drochner #define	TGA_REG_GZBR	0x02a		/* Z-base address */
    109       1.1  drochner /*	GADR alias	0x02b */
    110       1.1  drochner #define	TGA_REG_GRVR	0x02c		/* Red Value */
    111       1.1  drochner #define	TGA_REG_GGVR	0x02d		/* Green Value */
    112       1.1  drochner #define	TGA_REG_GBVR	0x02e		/* Blue Value */
    113       1.1  drochner #define	TGA_REG_GSWR	0x02f		/* Span Width */
    114       1.1  drochner #define	TGA_REG_EPSR	0x030		/* Pallete and DAC Setup */
    115       1.1  drochner 
    116       1.1  drochner /*	reserved	0x031 - 0x3f */
    117       1.1  drochner 
    118       1.1  drochner #define	TGA_REG_GSNR0	0x040		/* Slope-no-go 0 */
    119       1.1  drochner #define	TGA_REG_GSNR1	0x041		/* Slope-no-go 1 */
    120       1.1  drochner #define	TGA_REG_GSNR2	0x042		/* Slope-no-go 2 */
    121       1.1  drochner #define	TGA_REG_GSNR3	0x043		/* Slope-no-go 3 */
    122       1.1  drochner #define	TGA_REG_GSNR4	0x044		/* Slope-no-go 4 */
    123       1.1  drochner #define	TGA_REG_GSNR5	0x045		/* Slope-no-go 5 */
    124       1.1  drochner #define	TGA_REG_GSNR6	0x046		/* Slope-no-go 6 */
    125       1.1  drochner #define	TGA_REG_GSNR7	0x047		/* Slope-no-go 7 */
    126       1.1  drochner 
    127       1.1  drochner #define	TGA_REG_GSLR0	0x048		/* Slope 0 */
    128       1.1  drochner #define	TGA_REG_GSLR1	0x049		/* Slope 1 */
    129       1.1  drochner #define	TGA_REG_GSLR2	0x04a		/* Slope 2 */
    130       1.1  drochner #define	TGA_REG_GSLR3	0x04b		/* Slope 3 */
    131       1.1  drochner #define	TGA_REG_GSLR4	0x04c		/* Slope 4 */
    132       1.1  drochner #define	TGA_REG_GSLR5	0x04d		/* Slope 5 */
    133       1.1  drochner #define	TGA_REG_GSLR6	0x04e		/* Slope 6 */
    134       1.1  drochner #define	TGA_REG_GSLR7	0x04f		/* Slope 7 */
    135       1.1  drochner 
    136       1.1  drochner #define	TGA_REG_GBCR0	0x050		/* Block Color 0 */
    137       1.1  drochner #define	TGA_REG_GBCR1	0x051		/* Block Color 1 */
    138       1.1  drochner #define	TGA_REG_GBCR2	0x052		/* Block Color 2 */
    139       1.1  drochner #define	TGA_REG_GBCR3	0x053		/* Block Color 3 */
    140       1.1  drochner #define	TGA_REG_GBCR4	0x054		/* Block Color 4 */
    141       1.1  drochner #define	TGA_REG_GBCR5	0x055		/* Block Color 5 */
    142       1.1  drochner #define	TGA_REG_GBCR6	0x056		/* Block Color 6 */
    143       1.1  drochner #define	TGA_REG_GBCR7	0x057		/* Block Color 7 */
    144       1.1  drochner 
    145       1.1  drochner #define	TGA_REG_GCSR	0x058		/* Copy 64 Source */
    146       1.1  drochner #define	TGA_REG_GCDR	0x059		/* Copy 64 Destination */
    147       1.1  drochner /*	GC[SD]R aliases 0x05a - 0x05f */
    148       1.1  drochner 
    149       1.1  drochner /*	reserved	0x060 - 0x077 */
    150       1.1  drochner 
    151       1.1  drochner #define	TGA_REG_ERWR	0x078		/* EEPROM write */
    152       1.1  drochner 
    153       1.1  drochner /*	reserved	0x079 */
    154       1.1  drochner 
    155       1.1  drochner #define	TGA_REG_ECGR	0x07a		/* Clock */
    156       1.1  drochner 
    157       1.1  drochner /*	reserved	0x07b */
    158       1.1  drochner 
    159       1.1  drochner #define	TGA_REG_EPDR	0x07c		/* Pallete and DAC Data */
    160       1.1  drochner 
    161       1.1  drochner /*	reserved	0x07d */
    162       1.1  drochner 
    163       1.1  drochner #define	TGA_REG_SCSR	0x07e		/* Command Status */
    164       1.1  drochner 
    165       1.1  drochner /*	reserved	0x07f */
    166       1.2   thorpej 
    167       1.2   thorpej /*
    168       1.2   thorpej  * Video Valid Register
    169       1.2   thorpej  */
    170       1.2   thorpej #define	VVR_VIDEOVALID	0x00000001	/* 0 VGA, 1 TGA2 (TGA2 only) */
    171       1.2   thorpej #define	VVR_BLANK	0x00000002	/* 0 active, 1 blank */
    172       1.2   thorpej #define	VVR_CURSOR	0x00000004	/* 0 disable, 1 enable (TGA2 R/O) */
    173       1.2   thorpej #define	VVR_INTERLACE	0x00000008	/* 0 N/Int, 1 Int. (TGA2 R/O) */
    174       1.2   thorpej #define	VVR_DPMS_MASK	0x00000030	/* See "DMPS mask" below */
    175       1.2   thorpej #define	VVR_DPMS_SHIFT	4
    176       1.2   thorpej #define	VVR_DDC		0x00000040	/* DDC-in pin value (R/O) */
    177       1.2   thorpej #define	VVR_TILED	0x00000400	/* 0 linear, 1 tiled (not on TGA2) */
    178       1.2   thorpej #define	VVR_LDDLY_MASK	0x01ff0000	/* load delay in quad pixel clock ticks
    179       1.2   thorpej 					   (not on TGA2) */
    180       1.2   thorpej #define	VVR_LDDLY_SHIFT	16
    181       1.1  drochner 
    182       1.1  drochner #endif /* _ALPHA_INCLUDE_TGAREG_H_ */
    183