Annotation of sys/arch/mac68k/dev/macfbvar.h, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: macfbvar.h,v 1.7 2006/03/13 22:35:17 miod Exp $ */
! 2: /* $NetBSD: macfbvar.h,v 1.3 2005/01/15 16:00:59 chs Exp $ */
! 3: /* $NetBSD: grfvar.h,v 1.11 1996/08/04 06:03:58 scottr Exp $ */
! 4: /* $NetBSD: grfioctl.h,v 1.5 1995/07/02 05:26:45 briggs Exp $ */
! 5: /*
! 6: * Copyright (c) 1998 Matt DeBergalis
! 7: * All rights reserved.
! 8: *
! 9: * Redistribution and use in source and binary forms, with or without
! 10: * modification, are permitted provided that the following conditions
! 11: * are met:
! 12: * 1. Redistributions of source code must retain the above copyright
! 13: * notice, this list of conditions and the following disclaimer.
! 14: * 2. Redistributions in binary form must reproduce the above copyright
! 15: * notice, this list of conditions and the following disclaimer in the
! 16: * documentation and/or other materials provided with the distribution.
! 17: * 3. All advertising materials mentioning features or use of this software
! 18: * must display the following acknowledgement:
! 19: * This product includes software developed by Matt DeBergalis
! 20: * 4. The name of the author may not be used to endorse or promote products
! 21: * derived from this software without specific prior written permission
! 22: *
! 23: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
! 24: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
! 25: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
! 26: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
! 27: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
! 28: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
! 29: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
! 30: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
! 31: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
! 32: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! 33: */
! 34: /*
! 35: * Copyright (c) 1988 University of Utah.
! 36: * Copyright (c) 1990 The Regents of the University of California.
! 37: * All rights reserved.
! 38: *
! 39: * This code is derived from software contributed to Berkeley by
! 40: * the Systems Programming Group of the University of Utah Computer
! 41: * Science Department.
! 42: *
! 43: * Redistribution and use in source and binary forms, with or without
! 44: * modification, are permitted provided that the following conditions
! 45: * are met:
! 46: * 1. Redistributions of source code must retain the above copyright
! 47: * notice, this list of conditions and the following disclaimer.
! 48: * 2. Redistributions in binary form must reproduce the above copyright
! 49: * notice, this list of conditions and the following disclaimer in the
! 50: * documentation and/or other materials provided with the distribution.
! 51: * 3. Neither the name of the University nor the names of its contributors
! 52: * may be used to endorse or promote products derived from this software
! 53: * without specific prior written permission.
! 54: *
! 55: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
! 56: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
! 57: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
! 58: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
! 59: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
! 60: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
! 61: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
! 62: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
! 63: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
! 64: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
! 65: * SUCH DAMAGE.
! 66: *
! 67: * from: Utah $Hdr: grfvar.h 1.9 91/01/21$
! 68: *
! 69: * @(#)grfvar.h 7.3 (Berkeley) 5/7/91
! 70: */
! 71:
! 72: /*
! 73: * Nubus image data structure. This is the equivalent of a PixMap in
! 74: * MacOS programming parlance. One of these structures exists for each
! 75: * video mode that a quickdraw compatible card can fit in.
! 76: */
! 77: struct image_data {
! 78: u_int32_t size;
! 79: u_int32_t offset;
! 80: u_int16_t rowbytes;
! 81: u_int16_t top;
! 82: u_int16_t left;
! 83: u_int16_t bottom;
! 84: u_int16_t right;
! 85: u_int16_t version;
! 86: u_int16_t packType;
! 87: u_int32_t packSize;
! 88: u_int32_t hRes;
! 89: u_int32_t vRes;
! 90: u_int16_t pixelType;
! 91: u_int16_t pixelSize;
! 92: u_int16_t cmpCount;
! 93: u_int16_t cmpSize;
! 94: u_int32_t planeBytes;
! 95: };
! 96:
! 97: #define VID_PARAMS 1
! 98: #define VID_TABLE_OFFSET 2
! 99: #define VID_PAGE_CNT 3
! 100: #define VID_DEV_TYPE 4
! 101:
! 102: struct macfb_devconfig {
! 103: vaddr_t dc_vaddr; /* memory space virtual base address */
! 104: paddr_t dc_paddr; /* memory space physical base address */
! 105: psize_t dc_size; /* size of slot memory */
! 106: vaddr_t dc_cmapregs; /* va of cmap registers if known */
! 107:
! 108: int dc_offset; /* offset to base of flat fb */
! 109:
! 110: int dc_wid; /* width of frame buffer */
! 111: int dc_ht; /* height of frame buffer */
! 112: int dc_depth; /* depth of frame buffer */
! 113: int dc_rowbytes; /* bytes in fb scan line */
! 114:
! 115: int dc_flags; /* various flags */
! 116: #define FB_MACOS_PALETTE 0x01 /* text mode uses MacOS palette */
! 117:
! 118: /* rasops information */
! 119: struct rasops_info dc_ri;
! 120:
! 121: /* shadow colormap */
! 122: u_int8_t dc_cmap[256 * 3];
! 123: void (*dc_setcolor)(void *, u_int, u_int);
! 124:
! 125: /* wsdisplay information */
! 126: struct wsscreen_descr dc_wsd;
! 127: struct wsscreen_descr *dc_scrlist[1];
! 128: struct wsscreen_list dc_screenlist;
! 129: int dc_nscreens;
! 130: };
! 131:
! 132: struct macfb_softc {
! 133: struct device sc_dev;
! 134:
! 135: nubus_slot sc_slot;
! 136:
! 137: bus_addr_t sc_basepa; /* base of video space */
! 138: bus_addr_t sc_fbofs; /* offset to framebuffer */
! 139:
! 140: bus_space_tag_t sc_tag;
! 141: bus_space_handle_t sc_handle;
! 142: bus_space_handle_t sc_regh;
! 143:
! 144: u_int32_t card_id; /* DrHW value for nubus cards */
! 145: bus_size_t cli_offset; /* Offset of byte to clear intr */
! 146: /* for cards where that's suff. */
! 147: u_int32_t cli_value; /* Value to write at cli_offset */
! 148:
! 149: struct macfb_devconfig *sc_dc;
! 150: };
! 151:
! 152: void macfb_attach_common(struct macfb_softc *, struct macfb_devconfig *);
! 153: int macfb_cnattach(void);
CVSweb