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@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