cg6tec.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 1991,1997-1998 by Sun Microsystems, Inc.
* All rights reserved.
*/
#ifndef _SYS_CG6TEC_H
#define _SYS_CG6TEC_H
#pragma ident "%Z%%M% %I% %E% SMI" /* SunOS-4.1 1.2 */
#ifdef __cplusplus
extern "C" {
#endif
/*
* TEC register offsets from base address. These offsets are
* u_intended to be added to a pointer-to-integer whose value is the
* base address of the CG6 memory mapped register area.
*/
/* base for transform data registers */
/* matrix registers */
/* command register */
/* uint32_teger indexed address registers */
/* fixed pouint32_t indexed address registers */
/* floating pouint32_t indexed address registers */
/*
* Generic unsigned types for bit fields
*/
typedef enum {
L_TEC_UNUSED = 0
/*
* typedefs for entering index registers
*/
typedef enum { /* coordinate type of {pou_int,line,etc} */
L_TEC_X = 0,
L_TEC_Y = 1,
L_TEC_Z = 2,
/* tec_data array */
L_TEC_X_MV = 4,
L_TEC_Y_MV = 5,
L_TEC_Z_MV = 6,
L_TEC_X_VDC = 8,
L_TEC_Y_VDC = 9,
typedef enum { /* index coordinate type */
L_TEC_INT = 0,
L_TEC_FRAC = 1,
L_TEC_FLOAT = 2
} l_tec_type_t;
typedef enum { /* index object type */
L_TEC_POINT = 0,
L_TEC_LINE = 1,
L_TEC_TRI = 2,
L_TEC_QUAD = 3,
L_TEC_RECT = 4
typedef enum {
L_TEC_ABS = 0,
L_TEC_REL = 1
} l_tec_mode_t;
/*
* TEC MV_MATRIX register bits.
*/
typedef enum {
L_TEC_MV_DIV_OFF = 0,
L_TEC_MV_DIV_ON = 1
typedef enum {
L_TEC_MV_AUTO_OFF = 0,
L_TEC_MV_AUTO_ON = 1
typedef enum {
L_TEC_MV_H_FALSE = 0,
L_TEC_MV_H_TRUE = 1
} l_tec_mv_h_t;
typedef enum {
} l_tec_mv_z_t;
typedef enum {
} l_tec_mv_i_t;
typedef enum {
} l_tec_mv_j_t;
typedef struct l_tec_mv {
/* register */
} l_tec_mv_t;
/*
* TEC CLIPCHECK bits.
*/
typedef enum {
typedef enum {
typedef enum {
typedef enum {
typedef enum {
typedef enum {
typedef enum {
typedef enum {
typedef enum {
typedef enum {
typedef enum {
typedef struct l_tec_clip { /* big assumption here is compiler */
/* assigns bit fields left to right */
} l_tec_clip_t;
/*
* TEC VDC_MATRIX register bits.
*/
typedef enum {
typedef enum {
typedef enum {
typedef struct l_tec_vdc {
/* register */
} l_tec_vdc_t;
/*
* TEC COMMAND register bits.
*/
typedef enum {
L_TEC_CMD_M1 = 0,
L_TEC_CMD_M2 = 1,
L_TEC_CMD_M3 = 2,
L_TEC_CMD_M4 = 3
typedef enum {
L_TEC_CMD_N1 = 0,
L_TEC_CMD_N2 = 1,
L_TEC_CMD_N3 = 2,
L_TEC_CMD_N4 = 3
typedef enum {
L_TEC_CMD_I_POS = 0,
L_TEC_CMD_I_NEG = 1
typedef struct l_tec_cmd {
} l_tec_cmd_t;
/*
* TEC registers defined as a structure.
*/
struct tec {
#ifdef structures
#else
#endif
};
#ifdef __cplusplus
}
#endif
#endif /* _SYS_CG6TEC_H */