Home | History | Annotate | Line # | Download | only in ic
vgareg.h revision 1.6
      1 /* $NetBSD: vgareg.h,v 1.6 2003/01/31 21:57:27 tsutsui Exp $ */
      2 
      3 /*
      4  * Copyright (c) 1998
      5  *	Matthias Drochner.  All rights reserved.
      6  *
      7  * Redistribution and use in source and binary forms, with or without
      8  * modification, are permitted provided that the following conditions
      9  * are met:
     10  * 1. Redistributions of source code must retain the above copyright
     11  *    notice, this list of conditions and the following disclaimer.
     12  * 2. Redistributions in binary form must reproduce the above copyright
     13  *    notice, this list of conditions and the following disclaimer in the
     14  *    documentation and/or other materials provided with the distribution.
     15  * 3. All advertising materials mentioning features or use of this software
     16  *    must display the following acknowledgement:
     17  *	This product includes software developed for the NetBSD Project
     18  *	by Matthias Drochner.
     19  * 4. The name of the author may not be used to endorse or promote products
     20  *    derived from this software without specific prior written permission.
     21  *
     22  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     23  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     24  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     25  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     26  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     27  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     28  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     29  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     30  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     31  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     32  *
     33  */
     34 
     35 struct reg_vgaattr { /* indexed via port 0x3c0 */
     36 	u_int8_t palette[16];
     37 	u_int8_t mode, overscan, colplen, horpixpan;
     38 	u_int8_t colreset, misc;
     39 };
     40 #define VGA_ATC_NREGS	21
     41 #define VGA_ATC_INDEX	0x0
     42 #define VGA_ATC_DATAW	0x0
     43 #define VGA_ATC_DATAR	0x1
     44 
     45 struct reg_vgats { /* indexed via port 0x3c4 */
     46 	u_int8_t syncreset, mode, wrplmask, fontsel, memmode;
     47 };
     48 #define VGA_TS_MODE_BLANK	0x20
     49 
     50 #define VGA_TS_NREGS	5
     51 #define VGA_TS_INDEX 	0x4
     52 #define VGA_TS_DATA	0x5
     53 
     54 struct reg_vgagdc { /* indexed via port 0x3ce */
     55 	u_int8_t setres, ensetres, colorcomp, rotfunc;
     56 	u_int8_t rdplanesel, mode, misc, colorcare;
     57 	u_int8_t bitmask;
     58 };
     59 #define VGA_GDC_NREGS	9
     60 #define VGA_GDC_INDEX	0xe
     61 #define VGA_GDC_DATA	0xf
     62 
     63 /*
     64  * CRTC registers are defined in sys/dev/ic/mc6845reg.h
     65  */
     66 
     67 /* video DAC palette registers */
     68 #define VGA_DAC_PELMASK	0x6
     69 #define VGA_DAC_STATE	0x7
     70 #define VGA_DAC_ADDRR	0x7
     71 #define VGA_DAC_ADDRW	0x8
     72 #define VGA_DAC_PALETTE	0x9
     73 
     74 /* misc output register */
     75 #define VGA_MISC_DATAR	0xc
     76 #define VGA_MISC_DATAW	0x2
     77