OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-mips/] [ng1hw.h] - Blame information for rev 1774

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1276 phoenix
/*
2
 * ng1hw.h: Tweaks the newport.h structures and definations to be compatible
3
 *          with IRIX.  Quite ugly, but it works.
4
 *
5
 * Copyright (C) 1999 Ulf Carlsson (ulfc@thepuffingroup.com)
6
 */
7
#ifndef _SGI_NG1HW_H
8
#define _SGI_NG1HW_H
9
 
10
#include <video/newport.h>
11
 
12
#define rex3regs        newport_rexregs
13
#define configregs      newport_cregs
14
#define float_long      npfreg_t
15
 
16
typedef struct newport_rexregs Rex3regs;
17
typedef struct newport_cregs Configregs;
18
typedef union np_dcb DCB_reg;
19
 
20
 
21
/* It looks like I can't do a simple tweak with this structure because the IRIX
22
 * version is just *too* stupid.  Ok, here's a new version of it..
23
 */
24
 
25
struct rex3chip {
26
        struct newport_rexregs set;
27
        unsigned long _unused0[0x16e];
28
        struct newport_rexregs go;
29
        unsigned long _unused1[0x22e];
30
        struct {
31
                struct newport_cregs set;
32
                unsigned long _unused2[0x1ef];
33
                struct newport_cregs go;
34
        } p1;
35
};
36
 
37
typedef struct rex3chip rex3Chip;
38
typedef struct rex3chip Rex3chip;
39
 
40
/* Tweak the defines .. */
41
 
42
#define DM0_OPCODE              NPORT_DMODE0_OPMASK
43
#define DM0_NOP                 NPORT_DMODE0_NOP
44
#define DM0_READ                NPORT_DMODE0_RD
45
#define DM0_DRAW                NPORT_DMODE0_DRAW
46
#define DM0_SCR2SCR             NPORT_DMODE0_S2S
47
 
48
#define DM0_ADRMODE_SHIFT       2
49
#define DM0_ADRMODE             NPORT_DMODE0_AMMASK
50
#define DM0_SPAN                NPORT_DMODE0_SPAN
51
#define DM0_BLOCK               NPORT_DMODE0_BLOCK
52
#define DM0_ILINE               NPORT_DMODE0_ILINE
53
#define DM0_FLINE               NPORT_DMODE0_FLINE
54
#define DM0_ALINE               NPORT_DMODE0_ALINE
55
#define DM0_TLINE               NPORT_DMODE0_TLINE
56
#define DM0_BLINE               NPORT_DMODE0_BLINE
57
 
58
#define DM0_DOSETUP             NPORT_DMODE0_DOSETUP
59
#define DM0_COLORHOST           NPORT_DMODE0_CHOST
60
#define DM0_ALPHAHOST           NPORT_DMODE0_AHOST
61
#define DM0_STOPONX             NPORT_DMODE0_STOPX
62
#define DM0_STOPONY             NPORT_DMODE0_STOPY
63
#define DM0_STOPONXY            (NPORT_DMODE0_STOPX | NPORT_DMODE0_STOPY)
64
#define DM0_SKIPFIRST           NPORT_DMODE0_SK1ST
65
#define DM0_SKIPLAST            NPORT_DMODE0_SKLST
66
#define DM0_ENZPATTERN          NPORT_DMODE0_ZPENAB
67
#define DM0_ENLSPATTERN         NPORT_DMODE0_LISPENAB
68
#define DM0_LSADVLAST           NPORT_DMODE0_LISLST
69
#define DM0_LENGTH32            NPORT_DMODE0_L32
70
#define DM0_ZOPAQUE             NPORT_DMODE0_ZOPQ
71
#define DM0_LSOPAQUE            NPORT_DMODE0_LISOPQ
72
#define DM0_SHADE               NPORT_DMODE0_SHADE
73
#define DM0_LRONLY              NPORT_DMODE0_LRONLY
74
#define DM0_XYOFFSET            NPORT_DMODE0_XYOFF
75
#define DM0_CICLAMP             NPORT_DMODE0_CLAMP
76
#define DM0_ENDPTFILTER         NPORT_DMODE0_ENDPF
77
#define DM0_YSTRIDE             NPORT_DMODE0_YSTR
78
 
79
#define DM1_PLANES_SHIFT        0
80
/* The rest of the DM1 planes defines are in newport.h */
81
 
82
#define DM1_DRAWDEPTH_SHIFT     3
83
#define DM1_DRAWDEPTH_MASK      NPORT_DMODE1_DDMASK
84
#define DM1_DRAWDEPTH           NPORT_DMODE1_DD24 /* An alias? */
85
#define DM1_DRAWDEPTH4          NPORT_DMODE1_DD4
86
#define DM1_DRAWDEPTH8          NPORT_DMODE1_DD8
87
#define DM1_DRAWDEPTH12         NPORT_DMODE1_DD12
88
#define DM1_DRAWDEPTH24         NPORT_DMODE1_DD24
89
 
90
#define DM1_DBLSRC              NPORT_DMODE1_DSRC
91
#define DM1_YFLIP               NPORT_DMODE1_YFLIP
92
#define DM1_RWPACKED            NPORT_DMODE1_RWPCKD
93
 
94
#define DM1_HOSTDEPTH_SHIFT     8
95
#define DM1_HOSTDEPTH_MASK      NPORT_DMODE1_HDMASK
96
#define DM1_HOSTDEPTH           NPORT_DMODE1_HD32 /* An alias? */
97
#define DM1_HOSTDEPTH4          NPORT_DMODE1_HD4
98
#define DM1_HOSTDEPTH8          NPORT_DMODE1_HD8
99
#define DM1_HOSTDEPTH12         NPORT_DMODE1_HD12
100
#define DM1_HOSTDEPTH32         NPORT_DMODE1_HD32
101
 
102
#define DM1_RWDOUBLE            NPORT_DMODE1_RWDBL
103
#define DM1_SWAPENDIAN          NPORT_DMODE1_ESWAP
104
 
105
#define DM1_COLORCOMPARE_SHIFT  12
106
#define DM1_COLORCOMPARE_MASK   NPORT_DMODE1_CCMASK
107
#define DM1_COLORCOMPARE        NPORT_DMODE1_CCMASK
108
#define DM1_COLORCOMPLT         NPORT_DMODE1_CCLT
109
#define DM1_COLORCOMPEQ         NPORT_DMODE1_CCEQ
110
#define DM1_COLORCOMPGT         NPORT_DMODE1_CCGT
111
 
112
#define DM1_RGBMODE             NPORT_DMODE1_RGBMD
113
#define DM1_ENDITHER            NPORT_DMODE1_DENAB
114
#define DM1_FASTCLEAR           NPORT_DMODE1_FCLR
115
#define DM1_ENBLEND             NPORT_DMODE1_BENAB
116
 
117
#define DM1_SF_SHIFT            19
118
#define DM1_SF_MASK             NPORT_DMODE1_SFMASK
119
#define DM1_SF                  NPORT_DMODE1_SFMASK
120
#define DM1_SF_ZERO             NPORT_DMODE1_SF0
121
#define DM1_SF_ONE              NPORT_DMODE1_SF1
122
#define DM1_SF_DC               NPORT_DMODE1_SFDC
123
#define DM1_SF_MDC              NPORT_DMODE1_SFMDC
124
#define DM1_SF_SA               NPORT_DMODE1_SFSA
125
#define DM1_SF_MSA              NPORT_DMODE1_SFMSA
126
 
127
#define DM1_DF_SHIFT            22      /* dfactor(2:0) */
128
#define DM1_DF_MASK             NPORT_DMODE1_DFMASK
129
#define DM1_DF                  NPORT_DMODE1_DFMASK
130
#define DM1_DF_ZERO             NPORT_DMODE1_DF0
131
#define DM1_DF_ONE              NPORT_DMODE1_DF1
132
#define DM1_DF_SC               NPORT_DMODE1_DFSC
133
#define DM1_DF_MSC              NPORT_DMODE1_DFMSC
134
#define DM1_DF_SA               NPORT_DMODE1_DFSA
135
#define DM1_DF_MSA              NPORT_DMODE1_DFMSA
136
 
137
#define DM1_ENBACKBLEND         NPORT_DMODE1_BBENAB
138
#define DM1_ENPREFETCH          NPORT_DMODE1_PFENAB
139
#define DM1_BLENDALPHA          NPORT_DMODE1_ABLEND
140
 
141
#define DM1_LO_SHIFT            28
142
#define DM1_LO                  NPORT_DMODE1_LOMASK
143
#define DM1_LO_MASK             NPORT_DMODE1_LOMASK
144
#define DM1_LO_ZERO             NPORT_DMODE1_LOZERO
145
#define DM1_LO_AND              NPORT_DMODE1_LOAND
146
#define DM1_LO_ANDR             NPORT_DMODE1_LOANDR
147
#define DM1_LO_SRC              NPORT_DMODE1_LOSRC
148
#define DM1_LO_ANDI             NPORT_DMODE1_LOANDI
149
#define DM1_LO_DST              NPORT_DMODE1_LODST
150
#define DM1_LO_XOR              NPORT_DMODE1_LOXOR
151
#define DM1_LO_OR               NPORT_DMODE1_LOOR
152
#define DM1_LO_NOR              NPORT_DMODE1_LONOR
153
#define DM1_LO_XNOR             NPORT_DMODE1_LOXNOR
154
#define DM1_LO_NDST             NPORT_DMODE1_LONDST
155
#define DM1_LO_ORR              NPORT_DMODE1_LOORR
156
#define DM1_LO_NSRC             NPORT_DMODE1_LONSRC
157
#define DM1_LO_ORI              NPORT_DMODE1_LOORI
158
#define DM1_LO_NAND             NPORT_DMODE1_LONAND
159
#define DM1_LO_ONE              NPORT_DMODE1_LOONE
160
 
161
#define SMASK0                  NPORT_CMODE_SM0
162
#define SMASK1                  NPORT_CMODE_SM1
163
#define SMASK2                  NPORT_CMODE_SM2
164
#define SMASK3                  NPORT_CMODE_SM3
165
#define SMASK4                  NPORT_CMODE_SM4
166
#define ALL_SMASKS              0x1f
167
 
168
#define CM_CIDMATCH_SHIFT       9
169
#define CM_CIDMATCH_MASK        NPORT_CMODE_CMSK
170
 
171
#define REX3VERSION_MASK        NPORT_STAT_VERS
172
#define GFXBUSY                 NPORT_STAT_GBUSY
173
#define BACKBUSY                NPORT_STAT_BBUSY
174
#define VRINT                   NPORT_STAT_VRINT
175
#define VIDEOINT                NPORT_STAT_VIDINT
176
#define GFIFO_LEVEL_SHIFT       7
177
#define GFIFO_LEVEL_MASK        NPORT_STAT_GLMSK
178
#define BFIFO_LEVEL_SHIFT       13
179
#define BFIFO_LEVEL_MASK        NPORT_STAT_BLMSK
180
#define BFIFO_INT               NPORT_STAT_BFIRQ
181
#define GFIFO_INT               NPORT_STAT_GFIRQ
182
 
183
#define GIO32MODE               NPORT_CFG_G32MD
184
#define BUSWIDTH                NPORT_CFG_BWIDTH
185
#define EXTREGXCVR              NPORT_CFG_ERCVR
186
#define BFIFODEPTH_SHIFT        3
187
#define BFIFODEPTH_MASK         NPORT_CFG_BDMSK
188
#define BFIFOABOVEINT           NPORT_CFG_BFAINT
189
#define GFIFODEPTH_SHIFT        8
190
#define GFIFODEPTH_MASK         NPORT_CFG_GDMSK
191
#define GFIFOABOVEINT           NPORT_CFG_GFAINT
192
#define TIMEOUT_SHIFT           14
193
#define TIMEOUT_MASK            NPORT_CFG_TOMSK
194
#define VREFRESH_SHIFT          17
195
#define VREFRESH_MASK           NPORT_CFG_VRMSK
196
#define FB_TYPE                 NPORT_CFG_FBTYP
197
 
198
#define DCB_DATAWIDTH_MASK      (0x3)
199
 
200
#define DCB_CRS_MASK            (0x7 << DCB_CRS_SHIFT)
201
#define DCB_ADDR_MASK           (0xf << DCB_ADDR_SHIFT)
202
#define DCB_CSWIDTH_MASK        (0x1f << DCB_CSWIDTH_SHIFT)
203
#define DCB_CSHOLD_MASK         (0x1f << DCB_CSHOLD_SHIFT)
204
#define DCB_CSSETUP_MASK        (0x1f << DCB_CSSETUP_SHIFT)
205
 
206
#define DCB_SWAPENDIAN          (1 << 28)
207
 
208
#define REX3WAIT(rex3)  while ((rex3)->p1.set.status & GFXBUSY)
209
#define BFIFOWAIT(rex3)  while ((rex3)->p1.set.status & BACKBUSY)
210
 
211
#define REX3_GIO_ADDR_0         0x1f0f0000
212
#define REX3_GIO_ADDR_1         0x1f4f0000
213
#define REX3_GIO_ADDR_2         0x1f8f0000
214
#define REX3_GIO_ADDR_3         0x1fcf0000
215
 
216
#define NG1_XSIZE               1280
217
#define NG1_YSIZE               1024
218
 
219
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.