Home | History | Annotate | Line # | Download | only in sbus
zxvar.h revision 1.1
      1 /*	$NetBSD: zxvar.h,v 1.1 2002/09/13 14:03:53 ad Exp $	*/
      2 
      3 /*
      4  *  Copyright (c) 2002 The NetBSD Foundation, Inc.
      5  *  All rights reserved.
      6  *
      7  *  This code is derived from software contributed to The NetBSD Foundation
      8  *  by Andrew Doran.
      9  *
     10  *  Redistribution and use in source and binary forms, with or without
     11  *  modification, are permitted provided that the following conditions
     12  *  are met:
     13  *  1. Redistributions of source code must retain the above copyright
     14  *     notice, this list of conditions and the following disclaimer.
     15  *  2. Redistributions in binary form must reproduce the above copyright
     16  *     notice, this list of conditions and the following disclaimer in the
     17  *     documentation and/or other materials provided with the distribution.
     18  *  3. All advertising materials mentioning features or use of this software
     19  *     must display the following acknowledgement:
     20  *         This product includes software developed by the NetBSD
     21  *         Foundation, Inc. and its contributors.
     22  *  4. Neither the name of The NetBSD Foundation nor the names of its
     23  *     contributors may be used to endorse or promote products derived
     24  *     from this software without specific prior written permission.
     25  *
     26  *  THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     27  *  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     28  *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     29  *  PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     30  *  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     31  *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     32  *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     33  *  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     34  *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     35  *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     36  *  POSSIBILITY OF SUCH DAMAGE.
     37  */
     38 
     39 /*
     40  * Copyright (C) 1999, 2000 Jakub Jelinek (jakub (at) redhat.com)
     41  *
     42  * Permission is hereby granted, free of charge, to any person obtaining a copy
     43  * of this software and associated documentation files (the "Software"), to deal
     44  * in the Software without restriction, including without limitation the rights
     45  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     46  * copies of the Software, and to permit persons to whom the Software is
     47  * furnished to do so, subject to the following conditions:
     48  *
     49  * The above copyright notice and this permission notice shall be included in
     50  * all copies or substantial portions of the Software.
     51  *
     52  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     53  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     54  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     55  * JAKUB JELINEK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
     56  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
     57  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     58  *
     59  */
     60 
     61 #ifndef _DEV_SBUS_ZXVAR_H_
     62 #define _DEV_SBUS_ZXVAR_H_
     63 
     64 /*
     65  * Sun (and Linux) compatible offsets for mmap().
     66  */
     67 #define ZX_FB0_VOFF		0x00000000
     68 #define ZX_LC0_VOFF		0x00800000
     69 #define ZX_LD0_VOFF		0x00801000
     70 #define ZX_LX0_CURSOR_VOFF	0x00802000
     71 #define ZX_FB1_VOFF		0x00803000
     72 #define ZX_LC1_VOFF		0x01003000
     73 #define ZX_LD1_VOFF		0x01004000
     74 #define ZX_LX0_VERT_VOFF	0x01005000
     75 #define ZX_LX_KRN_VOFF		0x01006000
     76 #define ZX_LC0_KRN_VOFF		0x01007000
     77 #define ZX_LC1_KRN_VOFF		0x01008000
     78 #define ZX_LD_GBL_VOFF		0x01009000
     79 
     80 #define	ZX_WID_SHARED_8	0
     81 #define	ZX_WID_SHARED_24	1
     82 #define	ZX_WID_DBL_8		2
     83 #define	ZX_WID_DBL_24		3
     84 
     85 /*
     86  * Per-instance data.
     87  */
     88 struct zx_softc {
     89 	struct device	sc_dv;
     90 	struct sbusdev	sc_sd;
     91 	struct fbdevice	sc_fb;
     92 	bus_space_tag_t	sc_bt;
     93 
     94 	int		sc_flags;
     95 	int		sc_fontw;
     96 	int		sc_fonth;
     97 	u_int8_t	*sc_cmap;
     98 	u_int32_t	*sc_pixels;
     99 	bus_addr_t	sc_paddr;
    100 	int		sc_shiftx;
    101 	int		sc_shifty;
    102 
    103 	struct fbcurpos	sc_curpos;
    104 	struct fbcurpos	sc_curhot;
    105 	struct fbcurpos sc_cursize;
    106 	u_int8_t	sc_curcmap[8];
    107 	u_int32_t	sc_curbits[2][32];
    108 
    109 	volatile struct zx_command *sc_zc;
    110 	volatile struct zx_cross *sc_zx;
    111 	volatile struct zx_draw *sc_zd_ss0;
    112 	volatile struct zx_draw_ss1 *sc_zd_ss1;
    113 	volatile struct zx_cursor *sc_zcu;
    114 };
    115 #define	ZX_BLANKED	0x01
    116 #define	ZX_CURSOR	0x02
    117 
    118 #endif	/* !_DEV_SBUS_ZXVAR_H_ */
    119