NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
GXHardwareCP.h
1#ifndef RVL_SDK_GX_HARDWARE_CP_H
2#define RVL_SDK_GX_HARDWARE_CP_H
3#include <revolution/GX/GXTypes.h>
4#include <types.h>
5#ifdef __cplusplus
6extern "C" {
7#endif
8
9/******************************************************************************
10 *
11 *
12 * GX Command Processor (CP)
13 *
14 *
15 *****************************************************************************/
16
17/**
18 * CP registers
19 */
20typedef enum {
21 GX_CP_REG_MATRIXINDEXA = 0x30,
22 GX_CP_REG_MATRIXINDEXB = 0x40,
23 GX_CP_REG_VCD_LO = 0x50,
24 GX_CP_REG_VCD_HI = 0x60,
25 GX_CP_REG_VAT_GROUP0 = 0x70,
26 GX_CP_REG_VAT_GROUP1 = 0x80,
27 GX_CP_REG_VAT_GROUP2 = 0x90,
28 GX_CP_REG_ARRAYBASE = 0xA0,
29 GX_CP_REG_ARRAYSTRIDE = 0xB0,
30} GX_CP_REG;
31
32/******************************************************************************
33 * CP register 0x30 - MatrixIndexA
34 *****************************************************************************/
35// TEX3 [2:7] (6)
36 /* start bit */ #define GX_CP_MATRIXINDEXA_TEX3_B 2
37 /* end bit */ #define GX_CP_MATRIXINDEXA_TEX3_E 7
38 /* bit size */ #define GX_CP_MATRIXINDEXA_TEX3_SZ 6
39
40 /* raw mask */ #define GX_CP_MATRIXINDEXA_TEX3_MASK (((1 << 6) - 1) << 31 - 7)
41 /* local mask */ #define GX_CP_MATRIXINDEXA_TEX3_LMASK ((1 << 6) - 1)
42 /* bit shift */ #define GX_CP_MATRIXINDEXA_TEX3_SHIFT 24
43
44 /* get value */ #define GX_CP_GET_MATRIXINDEXA_TEX3(reg) GX_BITGET((reg), 2, 6)
45 /* set value */ #define GX_CP_SET_MATRIXINDEXA_TEX3(reg, x) ((reg) = GX_BITSET((reg), 2, 6, x))
46
47// TEX2 [8:13] (6)
48 /* start bit */ #define GX_CP_MATRIXINDEXA_TEX2_B 8
49 /* end bit */ #define GX_CP_MATRIXINDEXA_TEX2_E 13
50 /* bit size */ #define GX_CP_MATRIXINDEXA_TEX2_SZ 6
51
52 /* raw mask */ #define GX_CP_MATRIXINDEXA_TEX2_MASK (((1 << 6) - 1) << 31 - 13)
53 /* local mask */ #define GX_CP_MATRIXINDEXA_TEX2_LMASK ((1 << 6) - 1)
54 /* bit shift */ #define GX_CP_MATRIXINDEXA_TEX2_SHIFT 18
55
56 /* get value */ #define GX_CP_GET_MATRIXINDEXA_TEX2(reg) GX_BITGET((reg), 8, 6)
57 /* set value */ #define GX_CP_SET_MATRIXINDEXA_TEX2(reg, x) ((reg) = GX_BITSET((reg), 8, 6, x))
58
59// TEX1 [14:19] (6)
60 /* start bit */ #define GX_CP_MATRIXINDEXA_TEX1_B 14
61 /* end bit */ #define GX_CP_MATRIXINDEXA_TEX1_E 19
62 /* bit size */ #define GX_CP_MATRIXINDEXA_TEX1_SZ 6
63
64 /* raw mask */ #define GX_CP_MATRIXINDEXA_TEX1_MASK (((1 << 6) - 1) << 31 - 19)
65 /* local mask */ #define GX_CP_MATRIXINDEXA_TEX1_LMASK ((1 << 6) - 1)
66 /* bit shift */ #define GX_CP_MATRIXINDEXA_TEX1_SHIFT 12
67
68 /* get value */ #define GX_CP_GET_MATRIXINDEXA_TEX1(reg) GX_BITGET((reg), 14, 6)
69 /* set value */ #define GX_CP_SET_MATRIXINDEXA_TEX1(reg, x) ((reg) = GX_BITSET((reg), 14, 6, x))
70
71// TEX0 [20:25] (6)
72 /* start bit */ #define GX_CP_MATRIXINDEXA_TEX0_B 20
73 /* end bit */ #define GX_CP_MATRIXINDEXA_TEX0_E 25
74 /* bit size */ #define GX_CP_MATRIXINDEXA_TEX0_SZ 6
75
76 /* raw mask */ #define GX_CP_MATRIXINDEXA_TEX0_MASK (((1 << 6) - 1) << 31 - 25)
77 /* local mask */ #define GX_CP_MATRIXINDEXA_TEX0_LMASK ((1 << 6) - 1)
78 /* bit shift */ #define GX_CP_MATRIXINDEXA_TEX0_SHIFT 6
79
80 /* get value */ #define GX_CP_GET_MATRIXINDEXA_TEX0(reg) GX_BITGET((reg), 20, 6)
81 /* set value */ #define GX_CP_SET_MATRIXINDEXA_TEX0(reg, x) ((reg) = GX_BITSET((reg), 20, 6, x))
82
83// POSNRM [26:31] (6)
84 /* start bit */ #define GX_CP_MATRIXINDEXA_POSNRM_B 26
85 /* end bit */ #define GX_CP_MATRIXINDEXA_POSNRM_E 31
86 /* bit size */ #define GX_CP_MATRIXINDEXA_POSNRM_SZ 6
87
88 /* raw mask */ #define GX_CP_MATRIXINDEXA_POSNRM_MASK (((1 << 6) - 1) << 31 - 31)
89 /* local mask */ #define GX_CP_MATRIXINDEXA_POSNRM_LMASK ((1 << 6) - 1)
90 /* bit shift */ #define GX_CP_MATRIXINDEXA_POSNRM_SHIFT 0
91
92 /* get value */ #define GX_CP_GET_MATRIXINDEXA_POSNRM(reg) GX_BITGET((reg), 26, 6)
93 /* set value */ #define GX_CP_SET_MATRIXINDEXA_POSNRM(reg, x) ((reg) = GX_BITSET((reg), 26, 6, x))
94
95
96/******************************************************************************
97 * CP register 0x40 - MatrixIndexB
98 *****************************************************************************/
99// TEX7 [8:13] (6)
100 /* start bit */ #define GX_CP_MATRIXINDEXB_TEX7_B 8
101 /* end bit */ #define GX_CP_MATRIXINDEXB_TEX7_E 13
102 /* bit size */ #define GX_CP_MATRIXINDEXB_TEX7_SZ 6
103
104 /* raw mask */ #define GX_CP_MATRIXINDEXB_TEX7_MASK (((1 << 6) - 1) << 31 - 13)
105 /* local mask */ #define GX_CP_MATRIXINDEXB_TEX7_LMASK ((1 << 6) - 1)
106 /* bit shift */ #define GX_CP_MATRIXINDEXB_TEX7_SHIFT 18
107
108 /* get value */ #define GX_CP_GET_MATRIXINDEXB_TEX7(reg) GX_BITGET((reg), 8, 6)
109 /* set value */ #define GX_CP_SET_MATRIXINDEXB_TEX7(reg, x) ((reg) = GX_BITSET((reg), 8, 6, x))
110
111// TEX6 [14:19] (6)
112 /* start bit */ #define GX_CP_MATRIXINDEXB_TEX6_B 14
113 /* end bit */ #define GX_CP_MATRIXINDEXB_TEX6_E 19
114 /* bit size */ #define GX_CP_MATRIXINDEXB_TEX6_SZ 6
115
116 /* raw mask */ #define GX_CP_MATRIXINDEXB_TEX6_MASK (((1 << 6) - 1) << 31 - 19)
117 /* local mask */ #define GX_CP_MATRIXINDEXB_TEX6_LMASK ((1 << 6) - 1)
118 /* bit shift */ #define GX_CP_MATRIXINDEXB_TEX6_SHIFT 12
119
120 /* get value */ #define GX_CP_GET_MATRIXINDEXB_TEX6(reg) GX_BITGET((reg), 14, 6)
121 /* set value */ #define GX_CP_SET_MATRIXINDEXB_TEX6(reg, x) ((reg) = GX_BITSET((reg), 14, 6, x))
122
123// TEX5 [20:25] (6)
124 /* start bit */ #define GX_CP_MATRIXINDEXB_TEX5_B 20
125 /* end bit */ #define GX_CP_MATRIXINDEXB_TEX5_E 25
126 /* bit size */ #define GX_CP_MATRIXINDEXB_TEX5_SZ 6
127
128 /* raw mask */ #define GX_CP_MATRIXINDEXB_TEX5_MASK (((1 << 6) - 1) << 31 - 25)
129 /* local mask */ #define GX_CP_MATRIXINDEXB_TEX5_LMASK ((1 << 6) - 1)
130 /* bit shift */ #define GX_CP_MATRIXINDEXB_TEX5_SHIFT 6
131
132 /* get value */ #define GX_CP_GET_MATRIXINDEXB_TEX5(reg) GX_BITGET((reg), 20, 6)
133 /* set value */ #define GX_CP_SET_MATRIXINDEXB_TEX5(reg, x) ((reg) = GX_BITSET((reg), 20, 6, x))
134
135// TEX4 [26:31] (6)
136 /* start bit */ #define GX_CP_MATRIXINDEXB_TEX4_B 26
137 /* end bit */ #define GX_CP_MATRIXINDEXB_TEX4_E 31
138 /* bit size */ #define GX_CP_MATRIXINDEXB_TEX4_SZ 6
139
140 /* raw mask */ #define GX_CP_MATRIXINDEXB_TEX4_MASK (((1 << 6) - 1) << 31 - 31)
141 /* local mask */ #define GX_CP_MATRIXINDEXB_TEX4_LMASK ((1 << 6) - 1)
142 /* bit shift */ #define GX_CP_MATRIXINDEXB_TEX4_SHIFT 0
143
144 /* get value */ #define GX_CP_GET_MATRIXINDEXB_TEX4(reg) GX_BITGET((reg), 26, 6)
145 /* set value */ #define GX_CP_SET_MATRIXINDEXB_TEX4(reg, x) ((reg) = GX_BITSET((reg), 26, 6, x))
146
147
148/******************************************************************************
149 * CP register 0x50 - VCD_Lo
150 *****************************************************************************/
151// POSMATIDX [31:31] (1)
152 /* start bit */ #define GX_CP_VCD_LO_POSMATIDX_B 31
153 /* end bit */ #define GX_CP_VCD_LO_POSMATIDX_E 31
154 /* bit size */ #define GX_CP_VCD_LO_POSMATIDX_SZ 1
155
156 /* raw mask */ #define GX_CP_VCD_LO_POSMATIDX_MASK (((1 << 1) - 1) << 31 - 31)
157 /* local mask */ #define GX_CP_VCD_LO_POSMATIDX_LMASK ((1 << 1) - 1)
158 /* bit shift */ #define GX_CP_VCD_LO_POSMATIDX_SHIFT 0
159
160 /* get value */ #define GX_CP_GET_VCD_LO_POSMATIDX(reg) GX_BITGET((reg), 31, 1)
161 /* set value */ #define GX_CP_SET_VCD_LO_POSMATIDX(reg, x) ((reg) = GX_BITSET((reg), 31, 1, x))
162
163// TEX0MATIDX [30:30] (1)
164 /* start bit */ #define GX_CP_VCD_LO_TEX0MATIDX_B 30
165 /* end bit */ #define GX_CP_VCD_LO_TEX0MATIDX_E 30
166 /* bit size */ #define GX_CP_VCD_LO_TEX0MATIDX_SZ 1
167
168 /* raw mask */ #define GX_CP_VCD_LO_TEX0MATIDX_MASK (((1 << 1) - 1) << 31 - 30)
169 /* local mask */ #define GX_CP_VCD_LO_TEX0MATIDX_LMASK ((1 << 1) - 1)
170 /* bit shift */ #define GX_CP_VCD_LO_TEX0MATIDX_SHIFT 1
171
172 /* get value */ #define GX_CP_GET_VCD_LO_TEX0MATIDX(reg) GX_BITGET((reg), 30, 1)
173 /* set value */ #define GX_CP_SET_VCD_LO_TEX0MATIDX(reg, x) ((reg) = GX_BITSET((reg), 30, 1, x))
174
175// TEX1MATIDX [29:29] (1)
176 /* start bit */ #define GX_CP_VCD_LO_TEX1MATIDX_B 29
177 /* end bit */ #define GX_CP_VCD_LO_TEX1MATIDX_E 29
178 /* bit size */ #define GX_CP_VCD_LO_TEX1MATIDX_SZ 1
179
180 /* raw mask */ #define GX_CP_VCD_LO_TEX1MATIDX_MASK (((1 << 1) - 1) << 31 - 29)
181 /* local mask */ #define GX_CP_VCD_LO_TEX1MATIDX_LMASK ((1 << 1) - 1)
182 /* bit shift */ #define GX_CP_VCD_LO_TEX1MATIDX_SHIFT 2
183
184 /* get value */ #define GX_CP_GET_VCD_LO_TEX1MATIDX(reg) GX_BITGET((reg), 29, 1)
185 /* set value */ #define GX_CP_SET_VCD_LO_TEX1MATIDX(reg, x) ((reg) = GX_BITSET((reg), 29, 1, x))
186
187// TEX2MATIDX [28:28] (1)
188 /* start bit */ #define GX_CP_VCD_LO_TEX2MATIDX_B 28
189 /* end bit */ #define GX_CP_VCD_LO_TEX2MATIDX_E 28
190 /* bit size */ #define GX_CP_VCD_LO_TEX2MATIDX_SZ 1
191
192 /* raw mask */ #define GX_CP_VCD_LO_TEX2MATIDX_MASK (((1 << 1) - 1) << 31 - 28)
193 /* local mask */ #define GX_CP_VCD_LO_TEX2MATIDX_LMASK ((1 << 1) - 1)
194 /* bit shift */ #define GX_CP_VCD_LO_TEX2MATIDX_SHIFT 3
195
196 /* get value */ #define GX_CP_GET_VCD_LO_TEX2MATIDX(reg) GX_BITGET((reg), 28, 1)
197 /* set value */ #define GX_CP_SET_VCD_LO_TEX2MATIDX(reg, x) ((reg) = GX_BITSET((reg), 28, 1, x))
198
199// TEX3MATIDX [27:27] (1)
200 /* start bit */ #define GX_CP_VCD_LO_TEX3MATIDX_B 27
201 /* end bit */ #define GX_CP_VCD_LO_TEX3MATIDX_E 27
202 /* bit size */ #define GX_CP_VCD_LO_TEX3MATIDX_SZ 1
203
204 /* raw mask */ #define GX_CP_VCD_LO_TEX3MATIDX_MASK (((1 << 1) - 1) << 31 - 27)
205 /* local mask */ #define GX_CP_VCD_LO_TEX3MATIDX_LMASK ((1 << 1) - 1)
206 /* bit shift */ #define GX_CP_VCD_LO_TEX3MATIDX_SHIFT 4
207
208 /* get value */ #define GX_CP_GET_VCD_LO_TEX3MATIDX(reg) GX_BITGET((reg), 27, 1)
209 /* set value */ #define GX_CP_SET_VCD_LO_TEX3MATIDX(reg, x) ((reg) = GX_BITSET((reg), 27, 1, x))
210
211// TEX4MATIDX [26:26] (1)
212 /* start bit */ #define GX_CP_VCD_LO_TEX4MATIDX_B 26
213 /* end bit */ #define GX_CP_VCD_LO_TEX4MATIDX_E 26
214 /* bit size */ #define GX_CP_VCD_LO_TEX4MATIDX_SZ 1
215
216 /* raw mask */ #define GX_CP_VCD_LO_TEX4MATIDX_MASK (((1 << 1) - 1) << 31 - 26)
217 /* local mask */ #define GX_CP_VCD_LO_TEX4MATIDX_LMASK ((1 << 1) - 1)
218 /* bit shift */ #define GX_CP_VCD_LO_TEX4MATIDX_SHIFT 5
219
220 /* get value */ #define GX_CP_GET_VCD_LO_TEX4MATIDX(reg) GX_BITGET((reg), 26, 1)
221 /* set value */ #define GX_CP_SET_VCD_LO_TEX4MATIDX(reg, x) ((reg) = GX_BITSET((reg), 26, 1, x))
222
223// TEX5MATIDX [25:25] (1)
224 /* start bit */ #define GX_CP_VCD_LO_TEX5MATIDX_B 25
225 /* end bit */ #define GX_CP_VCD_LO_TEX5MATIDX_E 25
226 /* bit size */ #define GX_CP_VCD_LO_TEX5MATIDX_SZ 1
227
228 /* raw mask */ #define GX_CP_VCD_LO_TEX5MATIDX_MASK (((1 << 1) - 1) << 31 - 25)
229 /* local mask */ #define GX_CP_VCD_LO_TEX5MATIDX_LMASK ((1 << 1) - 1)
230 /* bit shift */ #define GX_CP_VCD_LO_TEX5MATIDX_SHIFT 6
231
232 /* get value */ #define GX_CP_GET_VCD_LO_TEX5MATIDX(reg) GX_BITGET((reg), 25, 1)
233 /* set value */ #define GX_CP_SET_VCD_LO_TEX5MATIDX(reg, x) ((reg) = GX_BITSET((reg), 25, 1, x))
234
235// TEX6MATIDX [24:24] (1)
236 /* start bit */ #define GX_CP_VCD_LO_TEX6MATIDX_B 24
237 /* end bit */ #define GX_CP_VCD_LO_TEX6MATIDX_E 24
238 /* bit size */ #define GX_CP_VCD_LO_TEX6MATIDX_SZ 1
239
240 /* raw mask */ #define GX_CP_VCD_LO_TEX6MATIDX_MASK (((1 << 1) - 1) << 31 - 24)
241 /* local mask */ #define GX_CP_VCD_LO_TEX6MATIDX_LMASK ((1 << 1) - 1)
242 /* bit shift */ #define GX_CP_VCD_LO_TEX6MATIDX_SHIFT 7
243
244 /* get value */ #define GX_CP_GET_VCD_LO_TEX6MATIDX(reg) GX_BITGET((reg), 24, 1)
245 /* set value */ #define GX_CP_SET_VCD_LO_TEX6MATIDX(reg, x) ((reg) = GX_BITSET((reg), 24, 1, x))
246
247// TEX7MATIDX [23:23] (1)
248 /* start bit */ #define GX_CP_VCD_LO_TEX7MATIDX_B 23
249 /* end bit */ #define GX_CP_VCD_LO_TEX7MATIDX_E 23
250 /* bit size */ #define GX_CP_VCD_LO_TEX7MATIDX_SZ 1
251
252 /* raw mask */ #define GX_CP_VCD_LO_TEX7MATIDX_MASK (((1 << 1) - 1) << 31 - 23)
253 /* local mask */ #define GX_CP_VCD_LO_TEX7MATIDX_LMASK ((1 << 1) - 1)
254 /* bit shift */ #define GX_CP_VCD_LO_TEX7MATIDX_SHIFT 8
255
256 /* get value */ #define GX_CP_GET_VCD_LO_TEX7MATIDX(reg) GX_BITGET((reg), 23, 1)
257 /* set value */ #define GX_CP_SET_VCD_LO_TEX7MATIDX(reg, x) ((reg) = GX_BITSET((reg), 23, 1, x))
258
259// POSITION [21:22] (2)
260 /* start bit */ #define GX_CP_VCD_LO_POSITION_B 21
261 /* end bit */ #define GX_CP_VCD_LO_POSITION_E 22
262 /* bit size */ #define GX_CP_VCD_LO_POSITION_SZ 2
263
264 /* raw mask */ #define GX_CP_VCD_LO_POSITION_MASK (((1 << 2) - 1) << 31 - 22)
265 /* local mask */ #define GX_CP_VCD_LO_POSITION_LMASK ((1 << 2) - 1)
266 /* bit shift */ #define GX_CP_VCD_LO_POSITION_SHIFT 9
267
268 /* get value */ #define GX_CP_GET_VCD_LO_POSITION(reg) GX_BITGET((reg), 21, 2)
269 /* set value */ #define GX_CP_SET_VCD_LO_POSITION(reg, x) ((reg) = GX_BITSET((reg), 21, 2, x))
270
271// NORMAL [19:20] (2)
272 /* start bit */ #define GX_CP_VCD_LO_NORMAL_B 19
273 /* end bit */ #define GX_CP_VCD_LO_NORMAL_E 20
274 /* bit size */ #define GX_CP_VCD_LO_NORMAL_SZ 2
275
276 /* raw mask */ #define GX_CP_VCD_LO_NORMAL_MASK (((1 << 2) - 1) << 31 - 20)
277 /* local mask */ #define GX_CP_VCD_LO_NORMAL_LMASK ((1 << 2) - 1)
278 /* bit shift */ #define GX_CP_VCD_LO_NORMAL_SHIFT 11
279
280 /* get value */ #define GX_CP_GET_VCD_LO_NORMAL(reg) GX_BITGET((reg), 19, 2)
281 /* set value */ #define GX_CP_SET_VCD_LO_NORMAL(reg, x) ((reg) = GX_BITSET((reg), 19, 2, x))
282
283// COLORDIFFUSED [17:18] (2)
284 /* start bit */ #define GX_CP_VCD_LO_COLORDIFFUSED_B 17
285 /* end bit */ #define GX_CP_VCD_LO_COLORDIFFUSED_E 18
286 /* bit size */ #define GX_CP_VCD_LO_COLORDIFFUSED_SZ 2
287
288 /* raw mask */ #define GX_CP_VCD_LO_COLORDIFFUSED_MASK (((1 << 2) - 1) << 31 - 18)
289 /* local mask */ #define GX_CP_VCD_LO_COLORDIFFUSED_LMASK ((1 << 2) - 1)
290 /* bit shift */ #define GX_CP_VCD_LO_COLORDIFFUSED_SHIFT 13
291
292 /* get value */ #define GX_CP_GET_VCD_LO_COLORDIFFUSED(reg) GX_BITGET((reg), 17, 2)
293 /* set value */ #define GX_CP_SET_VCD_LO_COLORDIFFUSED(reg, x) ((reg) = GX_BITSET((reg), 17, 2, x))
294
295// COLORSPECULAR [15:16] (2)
296 /* start bit */ #define GX_CP_VCD_LO_COLORSPECULAR_B 15
297 /* end bit */ #define GX_CP_VCD_LO_COLORSPECULAR_E 16
298 /* bit size */ #define GX_CP_VCD_LO_COLORSPECULAR_SZ 2
299
300 /* raw mask */ #define GX_CP_VCD_LO_COLORSPECULAR_MASK (((1 << 2) - 1) << 31 - 16)
301 /* local mask */ #define GX_CP_VCD_LO_COLORSPECULAR_LMASK ((1 << 2) - 1)
302 /* bit shift */ #define GX_CP_VCD_LO_COLORSPECULAR_SHIFT 15
303
304 /* get value */ #define GX_CP_GET_VCD_LO_COLORSPECULAR(reg) GX_BITGET((reg), 15, 2)
305 /* set value */ #define GX_CP_SET_VCD_LO_COLORSPECULAR(reg, x) ((reg) = GX_BITSET((reg), 15, 2, x))
306
307
308/******************************************************************************
309 * CP register 0x60 - VCD_Hi
310 *****************************************************************************/
311// TEX0COORD [30:31] (2)
312 /* start bit */ #define GX_CP_VCD_HI_TEX0COORD_B 30
313 /* end bit */ #define GX_CP_VCD_HI_TEX0COORD_E 31
314 /* bit size */ #define GX_CP_VCD_HI_TEX0COORD_SZ 2
315
316 /* raw mask */ #define GX_CP_VCD_HI_TEX0COORD_MASK (((1 << 2) - 1) << 31 - 31)
317 /* local mask */ #define GX_CP_VCD_HI_TEX0COORD_LMASK ((1 << 2) - 1)
318 /* bit shift */ #define GX_CP_VCD_HI_TEX0COORD_SHIFT 0
319
320 /* get value */ #define GX_CP_GET_VCD_HI_TEX0COORD(reg) GX_BITGET((reg), 30, 2)
321 /* set value */ #define GX_CP_SET_VCD_HI_TEX0COORD(reg, x) ((reg) = GX_BITSET((reg), 30, 2, x))
322
323// TEX1COORD [28:29] (2)
324 /* start bit */ #define GX_CP_VCD_HI_TEX1COORD_B 28
325 /* end bit */ #define GX_CP_VCD_HI_TEX1COORD_E 29
326 /* bit size */ #define GX_CP_VCD_HI_TEX1COORD_SZ 2
327
328 /* raw mask */ #define GX_CP_VCD_HI_TEX1COORD_MASK (((1 << 2) - 1) << 31 - 29)
329 /* local mask */ #define GX_CP_VCD_HI_TEX1COORD_LMASK ((1 << 2) - 1)
330 /* bit shift */ #define GX_CP_VCD_HI_TEX1COORD_SHIFT 2
331
332 /* get value */ #define GX_CP_GET_VCD_HI_TEX1COORD(reg) GX_BITGET((reg), 28, 2)
333 /* set value */ #define GX_CP_SET_VCD_HI_TEX1COORD(reg, x) ((reg) = GX_BITSET((reg), 28, 2, x))
334
335// TEX2COORD [26:27] (2)
336 /* start bit */ #define GX_CP_VCD_HI_TEX2COORD_B 26
337 /* end bit */ #define GX_CP_VCD_HI_TEX2COORD_E 27
338 /* bit size */ #define GX_CP_VCD_HI_TEX2COORD_SZ 2
339
340 /* raw mask */ #define GX_CP_VCD_HI_TEX2COORD_MASK (((1 << 2) - 1) << 31 - 27)
341 /* local mask */ #define GX_CP_VCD_HI_TEX2COORD_LMASK ((1 << 2) - 1)
342 /* bit shift */ #define GX_CP_VCD_HI_TEX2COORD_SHIFT 4
343
344 /* get value */ #define GX_CP_GET_VCD_HI_TEX2COORD(reg) GX_BITGET((reg), 26, 2)
345 /* set value */ #define GX_CP_SET_VCD_HI_TEX2COORD(reg, x) ((reg) = GX_BITSET((reg), 26, 2, x))
346
347// TEX3COORD [24:25] (2)
348 /* start bit */ #define GX_CP_VCD_HI_TEX3COORD_B 24
349 /* end bit */ #define GX_CP_VCD_HI_TEX3COORD_E 25
350 /* bit size */ #define GX_CP_VCD_HI_TEX3COORD_SZ 2
351
352 /* raw mask */ #define GX_CP_VCD_HI_TEX3COORD_MASK (((1 << 2) - 1) << 31 - 25)
353 /* local mask */ #define GX_CP_VCD_HI_TEX3COORD_LMASK ((1 << 2) - 1)
354 /* bit shift */ #define GX_CP_VCD_HI_TEX3COORD_SHIFT 6
355
356 /* get value */ #define GX_CP_GET_VCD_HI_TEX3COORD(reg) GX_BITGET((reg), 24, 2)
357 /* set value */ #define GX_CP_SET_VCD_HI_TEX3COORD(reg, x) ((reg) = GX_BITSET((reg), 24, 2, x))
358
359// TEX4COORD [22:23] (2)
360 /* start bit */ #define GX_CP_VCD_HI_TEX4COORD_B 22
361 /* end bit */ #define GX_CP_VCD_HI_TEX4COORD_E 23
362 /* bit size */ #define GX_CP_VCD_HI_TEX4COORD_SZ 2
363
364 /* raw mask */ #define GX_CP_VCD_HI_TEX4COORD_MASK (((1 << 2) - 1) << 31 - 23)
365 /* local mask */ #define GX_CP_VCD_HI_TEX4COORD_LMASK ((1 << 2) - 1)
366 /* bit shift */ #define GX_CP_VCD_HI_TEX4COORD_SHIFT 8
367
368 /* get value */ #define GX_CP_GET_VCD_HI_TEX4COORD(reg) GX_BITGET((reg), 22, 2)
369 /* set value */ #define GX_CP_SET_VCD_HI_TEX4COORD(reg, x) ((reg) = GX_BITSET((reg), 22, 2, x))
370
371// TEX5COORD [20:21] (2)
372 /* start bit */ #define GX_CP_VCD_HI_TEX5COORD_B 20
373 /* end bit */ #define GX_CP_VCD_HI_TEX5COORD_E 21
374 /* bit size */ #define GX_CP_VCD_HI_TEX5COORD_SZ 2
375
376 /* raw mask */ #define GX_CP_VCD_HI_TEX5COORD_MASK (((1 << 2) - 1) << 31 - 21)
377 /* local mask */ #define GX_CP_VCD_HI_TEX5COORD_LMASK ((1 << 2) - 1)
378 /* bit shift */ #define GX_CP_VCD_HI_TEX5COORD_SHIFT 10
379
380 /* get value */ #define GX_CP_GET_VCD_HI_TEX5COORD(reg) GX_BITGET((reg), 20, 2)
381 /* set value */ #define GX_CP_SET_VCD_HI_TEX5COORD(reg, x) ((reg) = GX_BITSET((reg), 20, 2, x))
382
383// TEX6COORD [18:19] (2)
384 /* start bit */ #define GX_CP_VCD_HI_TEX6COORD_B 18
385 /* end bit */ #define GX_CP_VCD_HI_TEX6COORD_E 19
386 /* bit size */ #define GX_CP_VCD_HI_TEX6COORD_SZ 2
387
388 /* raw mask */ #define GX_CP_VCD_HI_TEX6COORD_MASK (((1 << 2) - 1) << 31 - 19)
389 /* local mask */ #define GX_CP_VCD_HI_TEX6COORD_LMASK ((1 << 2) - 1)
390 /* bit shift */ #define GX_CP_VCD_HI_TEX6COORD_SHIFT 12
391
392 /* get value */ #define GX_CP_GET_VCD_HI_TEX6COORD(reg) GX_BITGET((reg), 18, 2)
393 /* set value */ #define GX_CP_SET_VCD_HI_TEX6COORD(reg, x) ((reg) = GX_BITSET((reg), 18, 2, x))
394
395// TEX7COORD [16:17] (2)
396 /* start bit */ #define GX_CP_VCD_HI_TEX7COORD_B 16
397 /* end bit */ #define GX_CP_VCD_HI_TEX7COORD_E 17
398 /* bit size */ #define GX_CP_VCD_HI_TEX7COORD_SZ 2
399
400 /* raw mask */ #define GX_CP_VCD_HI_TEX7COORD_MASK (((1 << 2) - 1) << 31 - 17)
401 /* local mask */ #define GX_CP_VCD_HI_TEX7COORD_LMASK ((1 << 2) - 1)
402 /* bit shift */ #define GX_CP_VCD_HI_TEX7COORD_SHIFT 14
403
404 /* get value */ #define GX_CP_GET_VCD_HI_TEX7COORD(reg) GX_BITGET((reg), 16, 2)
405 /* set value */ #define GX_CP_SET_VCD_HI_TEX7COORD(reg, x) ((reg) = GX_BITSET((reg), 16, 2, x))
406
407
408/******************************************************************************
409 * CP register 0x70 - VAT_group0
410 *****************************************************************************/
411// POS_CNT [31:31] (1)
412 /* start bit */ #define GX_CP_VAT_GROUP0_POS_CNT_B 31
413 /* end bit */ #define GX_CP_VAT_GROUP0_POS_CNT_E 31
414 /* bit size */ #define GX_CP_VAT_GROUP0_POS_CNT_SZ 1
415
416 /* raw mask */ #define GX_CP_VAT_GROUP0_POS_CNT_MASK (((1 << 1) - 1) << 31 - 31)
417 /* local mask */ #define GX_CP_VAT_GROUP0_POS_CNT_LMASK ((1 << 1) - 1)
418 /* bit shift */ #define GX_CP_VAT_GROUP0_POS_CNT_SHIFT 0
419
420 /* get value */ #define GX_CP_GET_VAT_GROUP0_POS_CNT(reg) GX_BITGET((reg), 31, 1)
421 /* set value */ #define GX_CP_SET_VAT_GROUP0_POS_CNT(reg, x) ((reg) = GX_BITSET((reg), 31, 1, x))
422
423// POS_TYPE [28:30] (3)
424 /* start bit */ #define GX_CP_VAT_GROUP0_POS_TYPE_B 28
425 /* end bit */ #define GX_CP_VAT_GROUP0_POS_TYPE_E 30
426 /* bit size */ #define GX_CP_VAT_GROUP0_POS_TYPE_SZ 3
427
428 /* raw mask */ #define GX_CP_VAT_GROUP0_POS_TYPE_MASK (((1 << 3) - 1) << 31 - 30)
429 /* local mask */ #define GX_CP_VAT_GROUP0_POS_TYPE_LMASK ((1 << 3) - 1)
430 /* bit shift */ #define GX_CP_VAT_GROUP0_POS_TYPE_SHIFT 1
431
432 /* get value */ #define GX_CP_GET_VAT_GROUP0_POS_TYPE(reg) GX_BITGET((reg), 28, 3)
433 /* set value */ #define GX_CP_SET_VAT_GROUP0_POS_TYPE(reg, x) ((reg) = GX_BITSET((reg), 28, 3, x))
434
435// POS_SHIFT [23:27] (5)
436 /* start bit */ #define GX_CP_VAT_GROUP0_POS_SHIFT_B 23
437 /* end bit */ #define GX_CP_VAT_GROUP0_POS_SHIFT_E 27
438 /* bit size */ #define GX_CP_VAT_GROUP0_POS_SHIFT_SZ 5
439
440 /* raw mask */ #define GX_CP_VAT_GROUP0_POS_SHIFT_MASK (((1 << 5) - 1) << 31 - 27)
441 /* local mask */ #define GX_CP_VAT_GROUP0_POS_SHIFT_LMASK ((1 << 5) - 1)
442 /* bit shift */ #define GX_CP_VAT_GROUP0_POS_SHIFT_SHIFT 4
443
444 /* get value */ #define GX_CP_GET_VAT_GROUP0_POS_SHIFT(reg) GX_BITGET((reg), 23, 5)
445 /* set value */ #define GX_CP_SET_VAT_GROUP0_POS_SHIFT(reg, x) ((reg) = GX_BITSET((reg), 23, 5, x))
446
447// NRM_CNT [22:22] (1)
448 /* start bit */ #define GX_CP_VAT_GROUP0_NRM_CNT_B 22
449 /* end bit */ #define GX_CP_VAT_GROUP0_NRM_CNT_E 22
450 /* bit size */ #define GX_CP_VAT_GROUP0_NRM_CNT_SZ 1
451
452 /* raw mask */ #define GX_CP_VAT_GROUP0_NRM_CNT_MASK (((1 << 1) - 1) << 31 - 22)
453 /* local mask */ #define GX_CP_VAT_GROUP0_NRM_CNT_LMASK ((1 << 1) - 1)
454 /* bit shift */ #define GX_CP_VAT_GROUP0_NRM_CNT_SHIFT 9
455
456 /* get value */ #define GX_CP_GET_VAT_GROUP0_NRM_CNT(reg) GX_BITGET((reg), 22, 1)
457 /* set value */ #define GX_CP_SET_VAT_GROUP0_NRM_CNT(reg, x) ((reg) = GX_BITSET((reg), 22, 1, x))
458
459// NRM_TYPE [19:21] (3)
460 /* start bit */ #define GX_CP_VAT_GROUP0_NRM_TYPE_B 19
461 /* end bit */ #define GX_CP_VAT_GROUP0_NRM_TYPE_E 21
462 /* bit size */ #define GX_CP_VAT_GROUP0_NRM_TYPE_SZ 3
463
464 /* raw mask */ #define GX_CP_VAT_GROUP0_NRM_TYPE_MASK (((1 << 3) - 1) << 31 - 21)
465 /* local mask */ #define GX_CP_VAT_GROUP0_NRM_TYPE_LMASK ((1 << 3) - 1)
466 /* bit shift */ #define GX_CP_VAT_GROUP0_NRM_TYPE_SHIFT 10
467
468 /* get value */ #define GX_CP_GET_VAT_GROUP0_NRM_TYPE(reg) GX_BITGET((reg), 19, 3)
469 /* set value */ #define GX_CP_SET_VAT_GROUP0_NRM_TYPE(reg, x) ((reg) = GX_BITSET((reg), 19, 3, x))
470
471// COLORDIFF_CNT [18:18] (1)
472 /* start bit */ #define GX_CP_VAT_GROUP0_COLORDIFF_CNT_B 18
473 /* end bit */ #define GX_CP_VAT_GROUP0_COLORDIFF_CNT_E 18
474 /* bit size */ #define GX_CP_VAT_GROUP0_COLORDIFF_CNT_SZ 1
475
476 /* raw mask */ #define GX_CP_VAT_GROUP0_COLORDIFF_CNT_MASK (((1 << 1) - 1) << 31 - 18)
477 /* local mask */ #define GX_CP_VAT_GROUP0_COLORDIFF_CNT_LMASK ((1 << 1) - 1)
478 /* bit shift */ #define GX_CP_VAT_GROUP0_COLORDIFF_CNT_SHIFT 13
479
480 /* get value */ #define GX_CP_GET_VAT_GROUP0_COLORDIFF_CNT(reg) GX_BITGET((reg), 18, 1)
481 /* set value */ #define GX_CP_SET_VAT_GROUP0_COLORDIFF_CNT(reg, x) ((reg) = GX_BITSET((reg), 18, 1, x))
482
483// COLORDIFF_TYPE [15:17] (3)
484 /* start bit */ #define GX_CP_VAT_GROUP0_COLORDIFF_TYPE_B 15
485 /* end bit */ #define GX_CP_VAT_GROUP0_COLORDIFF_TYPE_E 17
486 /* bit size */ #define GX_CP_VAT_GROUP0_COLORDIFF_TYPE_SZ 3
487
488 /* raw mask */ #define GX_CP_VAT_GROUP0_COLORDIFF_TYPE_MASK (((1 << 3) - 1) << 31 - 17)
489 /* local mask */ #define GX_CP_VAT_GROUP0_COLORDIFF_TYPE_LMASK ((1 << 3) - 1)
490 /* bit shift */ #define GX_CP_VAT_GROUP0_COLORDIFF_TYPE_SHIFT 14
491
492 /* get value */ #define GX_CP_GET_VAT_GROUP0_COLORDIFF_TYPE(reg) GX_BITGET((reg), 15, 3)
493 /* set value */ #define GX_CP_SET_VAT_GROUP0_COLORDIFF_TYPE(reg, x) ((reg) = GX_BITSET((reg), 15, 3, x))
494
495// COLORSPEC_CNT [14:14] (1)
496 /* start bit */ #define GX_CP_VAT_GROUP0_COLORSPEC_CNT_B 14
497 /* end bit */ #define GX_CP_VAT_GROUP0_COLORSPEC_CNT_E 14
498 /* bit size */ #define GX_CP_VAT_GROUP0_COLORSPEC_CNT_SZ 1
499
500 /* raw mask */ #define GX_CP_VAT_GROUP0_COLORSPEC_CNT_MASK (((1 << 1) - 1) << 31 - 14)
501 /* local mask */ #define GX_CP_VAT_GROUP0_COLORSPEC_CNT_LMASK ((1 << 1) - 1)
502 /* bit shift */ #define GX_CP_VAT_GROUP0_COLORSPEC_CNT_SHIFT 17
503
504 /* get value */ #define GX_CP_GET_VAT_GROUP0_COLORSPEC_CNT(reg) GX_BITGET((reg), 14, 1)
505 /* set value */ #define GX_CP_SET_VAT_GROUP0_COLORSPEC_CNT(reg, x) ((reg) = GX_BITSET((reg), 14, 1, x))
506
507// COLORSPEC_TYPE [11:13] (3)
508 /* start bit */ #define GX_CP_VAT_GROUP0_COLORSPEC_TYPE_B 11
509 /* end bit */ #define GX_CP_VAT_GROUP0_COLORSPEC_TYPE_E 13
510 /* bit size */ #define GX_CP_VAT_GROUP0_COLORSPEC_TYPE_SZ 3
511
512 /* raw mask */ #define GX_CP_VAT_GROUP0_COLORSPEC_TYPE_MASK (((1 << 3) - 1) << 31 - 13)
513 /* local mask */ #define GX_CP_VAT_GROUP0_COLORSPEC_TYPE_LMASK ((1 << 3) - 1)
514 /* bit shift */ #define GX_CP_VAT_GROUP0_COLORSPEC_TYPE_SHIFT 18
515
516 /* get value */ #define GX_CP_GET_VAT_GROUP0_COLORSPEC_TYPE(reg) GX_BITGET((reg), 11, 3)
517 /* set value */ #define GX_CP_SET_VAT_GROUP0_COLORSPEC_TYPE(reg, x) ((reg) = GX_BITSET((reg), 11, 3, x))
518
519// TXC0_CNT [10:10] (1)
520 /* start bit */ #define GX_CP_VAT_GROUP0_TXC0_CNT_B 10
521 /* end bit */ #define GX_CP_VAT_GROUP0_TXC0_CNT_E 10
522 /* bit size */ #define GX_CP_VAT_GROUP0_TXC0_CNT_SZ 1
523
524 /* raw mask */ #define GX_CP_VAT_GROUP0_TXC0_CNT_MASK (((1 << 1) - 1) << 31 - 10)
525 /* local mask */ #define GX_CP_VAT_GROUP0_TXC0_CNT_LMASK ((1 << 1) - 1)
526 /* bit shift */ #define GX_CP_VAT_GROUP0_TXC0_CNT_SHIFT 21
527
528 /* get value */ #define GX_CP_GET_VAT_GROUP0_TXC0_CNT(reg) GX_BITGET((reg), 10, 1)
529 /* set value */ #define GX_CP_SET_VAT_GROUP0_TXC0_CNT(reg, x) ((reg) = GX_BITSET((reg), 10, 1, x))
530
531// TXC0_TYPE [7:9] (3)
532 /* start bit */ #define GX_CP_VAT_GROUP0_TXC0_TYPE_B 7
533 /* end bit */ #define GX_CP_VAT_GROUP0_TXC0_TYPE_E 9
534 /* bit size */ #define GX_CP_VAT_GROUP0_TXC0_TYPE_SZ 3
535
536 /* raw mask */ #define GX_CP_VAT_GROUP0_TXC0_TYPE_MASK (((1 << 3) - 1) << 31 - 9)
537 /* local mask */ #define GX_CP_VAT_GROUP0_TXC0_TYPE_LMASK ((1 << 3) - 1)
538 /* bit shift */ #define GX_CP_VAT_GROUP0_TXC0_TYPE_SHIFT 22
539
540 /* get value */ #define GX_CP_GET_VAT_GROUP0_TXC0_TYPE(reg) GX_BITGET((reg), 7, 3)
541 /* set value */ #define GX_CP_SET_VAT_GROUP0_TXC0_TYPE(reg, x) ((reg) = GX_BITSET((reg), 7, 3, x))
542
543// TXC0_SHIFT [2:6] (5)
544 /* start bit */ #define GX_CP_VAT_GROUP0_TXC0_SHIFT_B 2
545 /* end bit */ #define GX_CP_VAT_GROUP0_TXC0_SHIFT_E 6
546 /* bit size */ #define GX_CP_VAT_GROUP0_TXC0_SHIFT_SZ 5
547
548 /* raw mask */ #define GX_CP_VAT_GROUP0_TXC0_SHIFT_MASK (((1 << 5) - 1) << 31 - 6)
549 /* local mask */ #define GX_CP_VAT_GROUP0_TXC0_SHIFT_LMASK ((1 << 5) - 1)
550 /* bit shift */ #define GX_CP_VAT_GROUP0_TXC0_SHIFT_SHIFT 25
551
552 /* get value */ #define GX_CP_GET_VAT_GROUP0_TXC0_SHIFT(reg) GX_BITGET((reg), 2, 5)
553 /* set value */ #define GX_CP_SET_VAT_GROUP0_TXC0_SHIFT(reg, x) ((reg) = GX_BITSET((reg), 2, 5, x))
554
555// BYTEDEQUANT [1:1] (1)
556 /* start bit */ #define GX_CP_VAT_GROUP0_BYTEDEQUANT_B 1
557 /* end bit */ #define GX_CP_VAT_GROUP0_BYTEDEQUANT_E 1
558 /* bit size */ #define GX_CP_VAT_GROUP0_BYTEDEQUANT_SZ 1
559
560 /* raw mask */ #define GX_CP_VAT_GROUP0_BYTEDEQUANT_MASK (((1 << 1) - 1) << 31 - 1)
561 /* local mask */ #define GX_CP_VAT_GROUP0_BYTEDEQUANT_LMASK ((1 << 1) - 1)
562 /* bit shift */ #define GX_CP_VAT_GROUP0_BYTEDEQUANT_SHIFT 30
563
564 /* get value */ #define GX_CP_GET_VAT_GROUP0_BYTEDEQUANT(reg) GX_BITGET((reg), 1, 1)
565 /* set value */ #define GX_CP_SET_VAT_GROUP0_BYTEDEQUANT(reg, x) ((reg) = GX_BITSET((reg), 1, 1, x))
566
567// NORMALINDEX3 [0:0] (1) - Input will be treated as three staggered indices (one per triple biased by component size) into normal table
568 /* start bit */ #define GX_CP_VAT_GROUP0_NORMALINDEX3_B 0
569 /* end bit */ #define GX_CP_VAT_GROUP0_NORMALINDEX3_E 0
570 /* bit size */ #define GX_CP_VAT_GROUP0_NORMALINDEX3_SZ 1
571
572 /* raw mask */ #define GX_CP_VAT_GROUP0_NORMALINDEX3_MASK (((1 << 1) - 1) << 31 - 0)
573 /* local mask */ #define GX_CP_VAT_GROUP0_NORMALINDEX3_LMASK ((1 << 1) - 1)
574 /* bit shift */ #define GX_CP_VAT_GROUP0_NORMALINDEX3_SHIFT 31
575
576 /* get value */ #define GX_CP_GET_VAT_GROUP0_NORMALINDEX3(reg) GX_BITGET((reg), 0, 1)
577 /* set value */ #define GX_CP_SET_VAT_GROUP0_NORMALINDEX3(reg, x) ((reg) = GX_BITSET((reg), 0, 1, x))
578
579
580/******************************************************************************
581 * CP register 0x80 - VAT_group1
582 *****************************************************************************/
583// TXC1_CNT [31:31] (1)
584 /* start bit */ #define GX_CP_VAT_GROUP1_TXC1_CNT_B 31
585 /* end bit */ #define GX_CP_VAT_GROUP1_TXC1_CNT_E 31
586 /* bit size */ #define GX_CP_VAT_GROUP1_TXC1_CNT_SZ 1
587
588 /* raw mask */ #define GX_CP_VAT_GROUP1_TXC1_CNT_MASK (((1 << 1) - 1) << 31 - 31)
589 /* local mask */ #define GX_CP_VAT_GROUP1_TXC1_CNT_LMASK ((1 << 1) - 1)
590 /* bit shift */ #define GX_CP_VAT_GROUP1_TXC1_CNT_SHIFT 0
591
592 /* get value */ #define GX_CP_GET_VAT_GROUP1_TXC1_CNT(reg) GX_BITGET((reg), 31, 1)
593 /* set value */ #define GX_CP_SET_VAT_GROUP1_TXC1_CNT(reg, x) ((reg) = GX_BITSET((reg), 31, 1, x))
594
595// TXC1_TYPE [28:30] (3)
596 /* start bit */ #define GX_CP_VAT_GROUP1_TXC1_TYPE_B 28
597 /* end bit */ #define GX_CP_VAT_GROUP1_TXC1_TYPE_E 30
598 /* bit size */ #define GX_CP_VAT_GROUP1_TXC1_TYPE_SZ 3
599
600 /* raw mask */ #define GX_CP_VAT_GROUP1_TXC1_TYPE_MASK (((1 << 3) - 1) << 31 - 30)
601 /* local mask */ #define GX_CP_VAT_GROUP1_TXC1_TYPE_LMASK ((1 << 3) - 1)
602 /* bit shift */ #define GX_CP_VAT_GROUP1_TXC1_TYPE_SHIFT 1
603
604 /* get value */ #define GX_CP_GET_VAT_GROUP1_TXC1_TYPE(reg) GX_BITGET((reg), 28, 3)
605 /* set value */ #define GX_CP_SET_VAT_GROUP1_TXC1_TYPE(reg, x) ((reg) = GX_BITSET((reg), 28, 3, x))
606
607// TXC1_SHIFT [23:27] (5)
608 /* start bit */ #define GX_CP_VAT_GROUP1_TXC1_SHIFT_B 23
609 /* end bit */ #define GX_CP_VAT_GROUP1_TXC1_SHIFT_E 27
610 /* bit size */ #define GX_CP_VAT_GROUP1_TXC1_SHIFT_SZ 5
611
612 /* raw mask */ #define GX_CP_VAT_GROUP1_TXC1_SHIFT_MASK (((1 << 5) - 1) << 31 - 27)
613 /* local mask */ #define GX_CP_VAT_GROUP1_TXC1_SHIFT_LMASK ((1 << 5) - 1)
614 /* bit shift */ #define GX_CP_VAT_GROUP1_TXC1_SHIFT_SHIFT 4
615
616 /* get value */ #define GX_CP_GET_VAT_GROUP1_TXC1_SHIFT(reg) GX_BITGET((reg), 23, 5)
617 /* set value */ #define GX_CP_SET_VAT_GROUP1_TXC1_SHIFT(reg, x) ((reg) = GX_BITSET((reg), 23, 5, x))
618
619// TXC2_CNT [22:22] (1)
620 /* start bit */ #define GX_CP_VAT_GROUP1_TXC2_CNT_B 22
621 /* end bit */ #define GX_CP_VAT_GROUP1_TXC2_CNT_E 22
622 /* bit size */ #define GX_CP_VAT_GROUP1_TXC2_CNT_SZ 1
623
624 /* raw mask */ #define GX_CP_VAT_GROUP1_TXC2_CNT_MASK (((1 << 1) - 1) << 31 - 22)
625 /* local mask */ #define GX_CP_VAT_GROUP1_TXC2_CNT_LMASK ((1 << 1) - 1)
626 /* bit shift */ #define GX_CP_VAT_GROUP1_TXC2_CNT_SHIFT 9
627
628 /* get value */ #define GX_CP_GET_VAT_GROUP1_TXC2_CNT(reg) GX_BITGET((reg), 22, 1)
629 /* set value */ #define GX_CP_SET_VAT_GROUP1_TXC2_CNT(reg, x) ((reg) = GX_BITSET((reg), 22, 1, x))
630
631// TXC2_TYPE [19:21] (3)
632 /* start bit */ #define GX_CP_VAT_GROUP1_TXC2_TYPE_B 19
633 /* end bit */ #define GX_CP_VAT_GROUP1_TXC2_TYPE_E 21
634 /* bit size */ #define GX_CP_VAT_GROUP1_TXC2_TYPE_SZ 3
635
636 /* raw mask */ #define GX_CP_VAT_GROUP1_TXC2_TYPE_MASK (((1 << 3) - 1) << 31 - 21)
637 /* local mask */ #define GX_CP_VAT_GROUP1_TXC2_TYPE_LMASK ((1 << 3) - 1)
638 /* bit shift */ #define GX_CP_VAT_GROUP1_TXC2_TYPE_SHIFT 10
639
640 /* get value */ #define GX_CP_GET_VAT_GROUP1_TXC2_TYPE(reg) GX_BITGET((reg), 19, 3)
641 /* set value */ #define GX_CP_SET_VAT_GROUP1_TXC2_TYPE(reg, x) ((reg) = GX_BITSET((reg), 19, 3, x))
642
643// TXC2_SHIFT [14:18] (5)
644 /* start bit */ #define GX_CP_VAT_GROUP1_TXC2_SHIFT_B 14
645 /* end bit */ #define GX_CP_VAT_GROUP1_TXC2_SHIFT_E 18
646 /* bit size */ #define GX_CP_VAT_GROUP1_TXC2_SHIFT_SZ 5
647
648 /* raw mask */ #define GX_CP_VAT_GROUP1_TXC2_SHIFT_MASK (((1 << 5) - 1) << 31 - 18)
649 /* local mask */ #define GX_CP_VAT_GROUP1_TXC2_SHIFT_LMASK ((1 << 5) - 1)
650 /* bit shift */ #define GX_CP_VAT_GROUP1_TXC2_SHIFT_SHIFT 13
651
652 /* get value */ #define GX_CP_GET_VAT_GROUP1_TXC2_SHIFT(reg) GX_BITGET((reg), 14, 5)
653 /* set value */ #define GX_CP_SET_VAT_GROUP1_TXC2_SHIFT(reg, x) ((reg) = GX_BITSET((reg), 14, 5, x))
654
655// TXC3_CNT [13:13] (1)
656 /* start bit */ #define GX_CP_VAT_GROUP1_TXC3_CNT_B 13
657 /* end bit */ #define GX_CP_VAT_GROUP1_TXC3_CNT_E 13
658 /* bit size */ #define GX_CP_VAT_GROUP1_TXC3_CNT_SZ 1
659
660 /* raw mask */ #define GX_CP_VAT_GROUP1_TXC3_CNT_MASK (((1 << 1) - 1) << 31 - 13)
661 /* local mask */ #define GX_CP_VAT_GROUP1_TXC3_CNT_LMASK ((1 << 1) - 1)
662 /* bit shift */ #define GX_CP_VAT_GROUP1_TXC3_CNT_SHIFT 18
663
664 /* get value */ #define GX_CP_GET_VAT_GROUP1_TXC3_CNT(reg) GX_BITGET((reg), 13, 1)
665 /* set value */ #define GX_CP_SET_VAT_GROUP1_TXC3_CNT(reg, x) ((reg) = GX_BITSET((reg), 13, 1, x))
666
667// TXC3_TYPE [10:12] (3)
668 /* start bit */ #define GX_CP_VAT_GROUP1_TXC3_TYPE_B 10
669 /* end bit */ #define GX_CP_VAT_GROUP1_TXC3_TYPE_E 12
670 /* bit size */ #define GX_CP_VAT_GROUP1_TXC3_TYPE_SZ 3
671
672 /* raw mask */ #define GX_CP_VAT_GROUP1_TXC3_TYPE_MASK (((1 << 3) - 1) << 31 - 12)
673 /* local mask */ #define GX_CP_VAT_GROUP1_TXC3_TYPE_LMASK ((1 << 3) - 1)
674 /* bit shift */ #define GX_CP_VAT_GROUP1_TXC3_TYPE_SHIFT 19
675
676 /* get value */ #define GX_CP_GET_VAT_GROUP1_TXC3_TYPE(reg) GX_BITGET((reg), 10, 3)
677 /* set value */ #define GX_CP_SET_VAT_GROUP1_TXC3_TYPE(reg, x) ((reg) = GX_BITSET((reg), 10, 3, x))
678
679// TXC3_SHIFT [5:9] (5)
680 /* start bit */ #define GX_CP_VAT_GROUP1_TXC3_SHIFT_B 5
681 /* end bit */ #define GX_CP_VAT_GROUP1_TXC3_SHIFT_E 9
682 /* bit size */ #define GX_CP_VAT_GROUP1_TXC3_SHIFT_SZ 5
683
684 /* raw mask */ #define GX_CP_VAT_GROUP1_TXC3_SHIFT_MASK (((1 << 5) - 1) << 31 - 9)
685 /* local mask */ #define GX_CP_VAT_GROUP1_TXC3_SHIFT_LMASK ((1 << 5) - 1)
686 /* bit shift */ #define GX_CP_VAT_GROUP1_TXC3_SHIFT_SHIFT 22
687
688 /* get value */ #define GX_CP_GET_VAT_GROUP1_TXC3_SHIFT(reg) GX_BITGET((reg), 5, 5)
689 /* set value */ #define GX_CP_SET_VAT_GROUP1_TXC3_SHIFT(reg, x) ((reg) = GX_BITSET((reg), 5, 5, x))
690
691// TXC4_CNT [4:4] (1)
692 /* start bit */ #define GX_CP_VAT_GROUP1_TXC4_CNT_B 4
693 /* end bit */ #define GX_CP_VAT_GROUP1_TXC4_CNT_E 4
694 /* bit size */ #define GX_CP_VAT_GROUP1_TXC4_CNT_SZ 1
695
696 /* raw mask */ #define GX_CP_VAT_GROUP1_TXC4_CNT_MASK (((1 << 1) - 1) << 31 - 4)
697 /* local mask */ #define GX_CP_VAT_GROUP1_TXC4_CNT_LMASK ((1 << 1) - 1)
698 /* bit shift */ #define GX_CP_VAT_GROUP1_TXC4_CNT_SHIFT 27
699
700 /* get value */ #define GX_CP_GET_VAT_GROUP1_TXC4_CNT(reg) GX_BITGET((reg), 4, 1)
701 /* set value */ #define GX_CP_SET_VAT_GROUP1_TXC4_CNT(reg, x) ((reg) = GX_BITSET((reg), 4, 1, x))
702
703// TXC4_TYPE [1:3] (3)
704 /* start bit */ #define GX_CP_VAT_GROUP1_TXC4_TYPE_B 1
705 /* end bit */ #define GX_CP_VAT_GROUP1_TXC4_TYPE_E 3
706 /* bit size */ #define GX_CP_VAT_GROUP1_TXC4_TYPE_SZ 3
707
708 /* raw mask */ #define GX_CP_VAT_GROUP1_TXC4_TYPE_MASK (((1 << 3) - 1) << 31 - 3)
709 /* local mask */ #define GX_CP_VAT_GROUP1_TXC4_TYPE_LMASK ((1 << 3) - 1)
710 /* bit shift */ #define GX_CP_VAT_GROUP1_TXC4_TYPE_SHIFT 28
711
712 /* get value */ #define GX_CP_GET_VAT_GROUP1_TXC4_TYPE(reg) GX_BITGET((reg), 1, 3)
713 /* set value */ #define GX_CP_SET_VAT_GROUP1_TXC4_TYPE(reg, x) ((reg) = GX_BITSET((reg), 1, 3, x))
714
715
716/******************************************************************************
717 * CP register 0x90 - VAT_group2
718 *****************************************************************************/
719// TXC4_SHIFT [27:31] (5)
720 /* start bit */ #define GX_CP_VAT_GROUP2_TXC4_SHIFT_B 27
721 /* end bit */ #define GX_CP_VAT_GROUP2_TXC4_SHIFT_E 31
722 /* bit size */ #define GX_CP_VAT_GROUP2_TXC4_SHIFT_SZ 5
723
724 /* raw mask */ #define GX_CP_VAT_GROUP2_TXC4_SHIFT_MASK (((1 << 5) - 1) << 31 - 31)
725 /* local mask */ #define GX_CP_VAT_GROUP2_TXC4_SHIFT_LMASK ((1 << 5) - 1)
726 /* bit shift */ #define GX_CP_VAT_GROUP2_TXC4_SHIFT_SHIFT 0
727
728 /* get value */ #define GX_CP_GET_VAT_GROUP2_TXC4_SHIFT(reg) GX_BITGET((reg), 27, 5)
729 /* set value */ #define GX_CP_SET_VAT_GROUP2_TXC4_SHIFT(reg, x) ((reg) = GX_BITSET((reg), 27, 5, x))
730
731// TXC5_CNT [26:26] (1)
732 /* start bit */ #define GX_CP_VAT_GROUP2_TXC5_CNT_B 26
733 /* end bit */ #define GX_CP_VAT_GROUP2_TXC5_CNT_E 26
734 /* bit size */ #define GX_CP_VAT_GROUP2_TXC5_CNT_SZ 1
735
736 /* raw mask */ #define GX_CP_VAT_GROUP2_TXC5_CNT_MASK (((1 << 1) - 1) << 31 - 26)
737 /* local mask */ #define GX_CP_VAT_GROUP2_TXC5_CNT_LMASK ((1 << 1) - 1)
738 /* bit shift */ #define GX_CP_VAT_GROUP2_TXC5_CNT_SHIFT 5
739
740 /* get value */ #define GX_CP_GET_VAT_GROUP2_TXC5_CNT(reg) GX_BITGET((reg), 26, 1)
741 /* set value */ #define GX_CP_SET_VAT_GROUP2_TXC5_CNT(reg, x) ((reg) = GX_BITSET((reg), 26, 1, x))
742
743// TXC5_TYPE [23:25] (3)
744 /* start bit */ #define GX_CP_VAT_GROUP2_TXC5_TYPE_B 23
745 /* end bit */ #define GX_CP_VAT_GROUP2_TXC5_TYPE_E 25
746 /* bit size */ #define GX_CP_VAT_GROUP2_TXC5_TYPE_SZ 3
747
748 /* raw mask */ #define GX_CP_VAT_GROUP2_TXC5_TYPE_MASK (((1 << 3) - 1) << 31 - 25)
749 /* local mask */ #define GX_CP_VAT_GROUP2_TXC5_TYPE_LMASK ((1 << 3) - 1)
750 /* bit shift */ #define GX_CP_VAT_GROUP2_TXC5_TYPE_SHIFT 6
751
752 /* get value */ #define GX_CP_GET_VAT_GROUP2_TXC5_TYPE(reg) GX_BITGET((reg), 23, 3)
753 /* set value */ #define GX_CP_SET_VAT_GROUP2_TXC5_TYPE(reg, x) ((reg) = GX_BITSET((reg), 23, 3, x))
754
755// TXC5_SHIFT [18:22] (5)
756 /* start bit */ #define GX_CP_VAT_GROUP2_TXC5_SHIFT_B 18
757 /* end bit */ #define GX_CP_VAT_GROUP2_TXC5_SHIFT_E 22
758 /* bit size */ #define GX_CP_VAT_GROUP2_TXC5_SHIFT_SZ 5
759
760 /* raw mask */ #define GX_CP_VAT_GROUP2_TXC5_SHIFT_MASK (((1 << 5) - 1) << 31 - 22)
761 /* local mask */ #define GX_CP_VAT_GROUP2_TXC5_SHIFT_LMASK ((1 << 5) - 1)
762 /* bit shift */ #define GX_CP_VAT_GROUP2_TXC5_SHIFT_SHIFT 9
763
764 /* get value */ #define GX_CP_GET_VAT_GROUP2_TXC5_SHIFT(reg) GX_BITGET((reg), 18, 5)
765 /* set value */ #define GX_CP_SET_VAT_GROUP2_TXC5_SHIFT(reg, x) ((reg) = GX_BITSET((reg), 18, 5, x))
766
767// TXC6_CNT [17:17] (1)
768 /* start bit */ #define GX_CP_VAT_GROUP2_TXC6_CNT_B 17
769 /* end bit */ #define GX_CP_VAT_GROUP2_TXC6_CNT_E 17
770 /* bit size */ #define GX_CP_VAT_GROUP2_TXC6_CNT_SZ 1
771
772 /* raw mask */ #define GX_CP_VAT_GROUP2_TXC6_CNT_MASK (((1 << 1) - 1) << 31 - 17)
773 /* local mask */ #define GX_CP_VAT_GROUP2_TXC6_CNT_LMASK ((1 << 1) - 1)
774 /* bit shift */ #define GX_CP_VAT_GROUP2_TXC6_CNT_SHIFT 14
775
776 /* get value */ #define GX_CP_GET_VAT_GROUP2_TXC6_CNT(reg) GX_BITGET((reg), 17, 1)
777 /* set value */ #define GX_CP_SET_VAT_GROUP2_TXC6_CNT(reg, x) ((reg) = GX_BITSET((reg), 17, 1, x))
778
779// TXC6_TYPE [14:16] (3)
780 /* start bit */ #define GX_CP_VAT_GROUP2_TXC6_TYPE_B 14
781 /* end bit */ #define GX_CP_VAT_GROUP2_TXC6_TYPE_E 16
782 /* bit size */ #define GX_CP_VAT_GROUP2_TXC6_TYPE_SZ 3
783
784 /* raw mask */ #define GX_CP_VAT_GROUP2_TXC6_TYPE_MASK (((1 << 3) - 1) << 31 - 16)
785 /* local mask */ #define GX_CP_VAT_GROUP2_TXC6_TYPE_LMASK ((1 << 3) - 1)
786 /* bit shift */ #define GX_CP_VAT_GROUP2_TXC6_TYPE_SHIFT 15
787
788 /* get value */ #define GX_CP_GET_VAT_GROUP2_TXC6_TYPE(reg) GX_BITGET((reg), 14, 3)
789 /* set value */ #define GX_CP_SET_VAT_GROUP2_TXC6_TYPE(reg, x) ((reg) = GX_BITSET((reg), 14, 3, x))
790
791// TXC6_SHIFT [9:13] (5)
792 /* start bit */ #define GX_CP_VAT_GROUP2_TXC6_SHIFT_B 9
793 /* end bit */ #define GX_CP_VAT_GROUP2_TXC6_SHIFT_E 13
794 /* bit size */ #define GX_CP_VAT_GROUP2_TXC6_SHIFT_SZ 5
795
796 /* raw mask */ #define GX_CP_VAT_GROUP2_TXC6_SHIFT_MASK (((1 << 5) - 1) << 31 - 13)
797 /* local mask */ #define GX_CP_VAT_GROUP2_TXC6_SHIFT_LMASK ((1 << 5) - 1)
798 /* bit shift */ #define GX_CP_VAT_GROUP2_TXC6_SHIFT_SHIFT 18
799
800 /* get value */ #define GX_CP_GET_VAT_GROUP2_TXC6_SHIFT(reg) GX_BITGET((reg), 9, 5)
801 /* set value */ #define GX_CP_SET_VAT_GROUP2_TXC6_SHIFT(reg, x) ((reg) = GX_BITSET((reg), 9, 5, x))
802
803// TXC7_CNT [8:8] (1)
804 /* start bit */ #define GX_CP_VAT_GROUP2_TXC7_CNT_B 8
805 /* end bit */ #define GX_CP_VAT_GROUP2_TXC7_CNT_E 8
806 /* bit size */ #define GX_CP_VAT_GROUP2_TXC7_CNT_SZ 1
807
808 /* raw mask */ #define GX_CP_VAT_GROUP2_TXC7_CNT_MASK (((1 << 1) - 1) << 31 - 8)
809 /* local mask */ #define GX_CP_VAT_GROUP2_TXC7_CNT_LMASK ((1 << 1) - 1)
810 /* bit shift */ #define GX_CP_VAT_GROUP2_TXC7_CNT_SHIFT 23
811
812 /* get value */ #define GX_CP_GET_VAT_GROUP2_TXC7_CNT(reg) GX_BITGET((reg), 8, 1)
813 /* set value */ #define GX_CP_SET_VAT_GROUP2_TXC7_CNT(reg, x) ((reg) = GX_BITSET((reg), 8, 1, x))
814
815// TXC7_TYPE [5:7] (3)
816 /* start bit */ #define GX_CP_VAT_GROUP2_TXC7_TYPE_B 5
817 /* end bit */ #define GX_CP_VAT_GROUP2_TXC7_TYPE_E 7
818 /* bit size */ #define GX_CP_VAT_GROUP2_TXC7_TYPE_SZ 3
819
820 /* raw mask */ #define GX_CP_VAT_GROUP2_TXC7_TYPE_MASK (((1 << 3) - 1) << 31 - 7)
821 /* local mask */ #define GX_CP_VAT_GROUP2_TXC7_TYPE_LMASK ((1 << 3) - 1)
822 /* bit shift */ #define GX_CP_VAT_GROUP2_TXC7_TYPE_SHIFT 24
823
824 /* get value */ #define GX_CP_GET_VAT_GROUP2_TXC7_TYPE(reg) GX_BITGET((reg), 5, 3)
825 /* set value */ #define GX_CP_SET_VAT_GROUP2_TXC7_TYPE(reg, x) ((reg) = GX_BITSET((reg), 5, 3, x))
826
827// TXC7_SHIFT [0:4] (5)
828 /* start bit */ #define GX_CP_VAT_GROUP2_TXC7_SHIFT_B 0
829 /* end bit */ #define GX_CP_VAT_GROUP2_TXC7_SHIFT_E 4
830 /* bit size */ #define GX_CP_VAT_GROUP2_TXC7_SHIFT_SZ 5
831
832 /* raw mask */ #define GX_CP_VAT_GROUP2_TXC7_SHIFT_MASK (((1 << 5) - 1) << 31 - 4)
833 /* local mask */ #define GX_CP_VAT_GROUP2_TXC7_SHIFT_LMASK ((1 << 5) - 1)
834 /* bit shift */ #define GX_CP_VAT_GROUP2_TXC7_SHIFT_SHIFT 27
835
836 /* get value */ #define GX_CP_GET_VAT_GROUP2_TXC7_SHIFT(reg) GX_BITGET((reg), 0, 5)
837 /* set value */ #define GX_CP_SET_VAT_GROUP2_TXC7_SHIFT(reg, x) ((reg) = GX_BITSET((reg), 0, 5, x))
838
839
840/******************************************************************************
841 * CP register 0xA0 - ArrayBase
842 *****************************************************************************/
843// BASE [6:31] (26)
844 /* start bit */ #define GX_CP_ARRAYBASE_BASE_B 6
845 /* end bit */ #define GX_CP_ARRAYBASE_BASE_E 31
846 /* bit size */ #define GX_CP_ARRAYBASE_BASE_SZ 26
847
848 /* raw mask */ #define GX_CP_ARRAYBASE_BASE_MASK (((1 << 26) - 1) << 31 - 31)
849 /* local mask */ #define GX_CP_ARRAYBASE_BASE_LMASK ((1 << 26) - 1)
850 /* bit shift */ #define GX_CP_ARRAYBASE_BASE_SHIFT 0
851
852 /* get value */ #define GX_CP_GET_ARRAYBASE_BASE(reg) GX_BITGET((reg), 6, 26)
853 /* set value */ #define GX_CP_SET_ARRAYBASE_BASE(reg, x) ((reg) = GX_BITSET((reg), 6, 26, x))
854
855
856/******************************************************************************
857 * CP register 0xB0 - ArrayStride
858 *****************************************************************************/
859// STRIDE [24:31] (8)
860 /* start bit */ #define GX_CP_ARRAYSTRIDE_STRIDE_B 24
861 /* end bit */ #define GX_CP_ARRAYSTRIDE_STRIDE_E 31
862 /* bit size */ #define GX_CP_ARRAYSTRIDE_STRIDE_SZ 8
863
864 /* raw mask */ #define GX_CP_ARRAYSTRIDE_STRIDE_MASK (((1 << 8) - 1) << 31 - 31)
865 /* local mask */ #define GX_CP_ARRAYSTRIDE_STRIDE_LMASK ((1 << 8) - 1)
866 /* bit shift */ #define GX_CP_ARRAYSTRIDE_STRIDE_SHIFT 0
867
868 /* get value */ #define GX_CP_GET_ARRAYSTRIDE_STRIDE(reg) GX_BITGET((reg), 24, 8)
869 /* set value */ #define GX_CP_SET_ARRAYSTRIDE_STRIDE(reg, x) ((reg) = GX_BITSET((reg), 24, 8, x))
870
871
872
873#ifdef __cplusplus
874}
875#endif
876#endif