xref: /openbsd/sys/arch/sparc64/include/fbvar.h (revision 86dac4ab)
1*86dac4abSmiod /*	$OpenBSD: fbvar.h,v 1.8 2008/12/29 22:07:35 miod Exp $	*/
270d3ea64Smiod /*	$NetBSD: fbvar.h,v 1.9 1997/07/07 23:31:30 pk Exp $ */
370d3ea64Smiod 
470d3ea64Smiod /*
570d3ea64Smiod  * Copyright (c) 1992, 1993
670d3ea64Smiod  *	The Regents of the University of California.  All rights reserved.
770d3ea64Smiod  *
870d3ea64Smiod  * This software was developed by the Computer Systems Engineering group
970d3ea64Smiod  * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
1070d3ea64Smiod  * contributed to Berkeley.
1170d3ea64Smiod  *
1270d3ea64Smiod  * All advertising materials mentioning features or use of this software
1370d3ea64Smiod  * must display the following acknowledgement:
1470d3ea64Smiod  *	This product includes software developed by the University of
1570d3ea64Smiod  *	California, Lawrence Berkeley Laboratory.
1670d3ea64Smiod  *
1770d3ea64Smiod  * Redistribution and use in source and binary forms, with or without
1870d3ea64Smiod  * modification, are permitted provided that the following conditions
1970d3ea64Smiod  * are met:
2070d3ea64Smiod  * 1. Redistributions of source code must retain the above copyright
2170d3ea64Smiod  *    notice, this list of conditions and the following disclaimer.
2270d3ea64Smiod  * 2. Redistributions in binary form must reproduce the above copyright
2370d3ea64Smiod  *    notice, this list of conditions and the following disclaimer in the
2470d3ea64Smiod  *    documentation and/or other materials provided with the distribution.
2570d3ea64Smiod  * 3. Neither the name of the University nor the names of its contributors
2670d3ea64Smiod  *    may be used to endorse or promote products derived from this software
2770d3ea64Smiod  *    without specific prior written permission.
2870d3ea64Smiod  *
2970d3ea64Smiod  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
3070d3ea64Smiod  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
3170d3ea64Smiod  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
3270d3ea64Smiod  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
3370d3ea64Smiod  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
3470d3ea64Smiod  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
3570d3ea64Smiod  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
3670d3ea64Smiod  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
3770d3ea64Smiod  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3870d3ea64Smiod  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3970d3ea64Smiod  * SUCH DAMAGE.
4070d3ea64Smiod  *
4170d3ea64Smiod  *	@(#)fbvar.h	8.1 (Berkeley) 6/11/93
4270d3ea64Smiod  */
4370d3ea64Smiod 
4470d3ea64Smiod /*
4570d3ea64Smiod  * Common frame buffer variables.
4670d3ea64Smiod  * All framebuffer softc structures must start with such a structure.
4770d3ea64Smiod  */
4870d3ea64Smiod struct sunfb {
4970d3ea64Smiod 	struct	device sf_dev;		/* base device */
5070d3ea64Smiod 
5170d3ea64Smiod 	int	sf_width;
5270d3ea64Smiod 	int	sf_height;
5370d3ea64Smiod 	int	sf_depth;
5470d3ea64Smiod 	int	sf_linebytes;
5570d3ea64Smiod 
5670d3ea64Smiod 	int	sf_fbsize;		/* sf_height * sf_linebytes */
5770d3ea64Smiod 
582628683eSmiod 	int	*sf_crowp, *sf_ccolp;	/* PROM cursor position */
592628683eSmiod 
6070d3ea64Smiod 	struct	rasops_info sf_ro;
61de9ae89dSmiod 
62de9ae89dSmiod 	struct	wsscreen_descr sf_wsd;
63cffcb173Smiod 	struct	wsscreen_list sf_wsl;
64ece7a61fSmiod 	struct	wsscreen_descr *sf_scrlist[1];
65607827a8Smiod 	int	sf_nscreens;
6670d3ea64Smiod };
6770d3ea64Smiod 
6870d3ea64Smiod /*
6970d3ea64Smiod  * Selected framebuffer node on OBP systems if k/d console.
7070d3ea64Smiod  */
7170d3ea64Smiod extern int fbnode;
7270d3ea64Smiod 
7370d3ea64Smiod void	fb_setsize(struct sunfb*, int, int, int, int, int);
74607827a8Smiod void	fbwscons_init(struct sunfb *, int, int);
75aca70fa6Smiod void	fbwscons_console_init(struct sunfb *, int);
7670d3ea64Smiod void	fbwscons_setcolormap(struct sunfb *,
7770d3ea64Smiod     void (*)(void *, u_int, u_int8_t, u_int8_t, u_int8_t));
78de9ae89dSmiod void	fbwscons_attach(struct sunfb *,	struct wsdisplay_accessops *, int);
79*86dac4abSmiod 
80*86dac4abSmiod int	ifb_ident(void *);
81