1f29dbc25Smrg/*
2f29dbc25Smrg * Copyright (c) 2006 Advanced Micro Devices, Inc.
3f29dbc25Smrg *
4f29dbc25Smrg * Permission is hereby granted, free of charge, to any person obtaining a
5f29dbc25Smrg * copy of this software and associated documentation files (the "Software"),
6f29dbc25Smrg * to deal in the Software without restriction, including without limitation
7f29dbc25Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8f29dbc25Smrg * and/or sell copies of the Software, and to permit persons to whom the
9f29dbc25Smrg * Software is furnished to do so, subject to the following conditions:
10f29dbc25Smrg *
11f29dbc25Smrg * The above copyright notice and this permission notice shall be included in
12f29dbc25Smrg * all copies or substantial portions of the Software.
13f29dbc25Smrg *
14f29dbc25Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15f29dbc25Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16f29dbc25Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17f29dbc25Smrg * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18f29dbc25Smrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19f29dbc25Smrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20f29dbc25Smrg * DEALINGS IN THE SOFTWARE.
21f29dbc25Smrg *
22f29dbc25Smrg * Neither the name of the Advanced Micro Devices, Inc. nor the names of its
23f29dbc25Smrg * contributors may be used to endorse or promote products derived from this
24f29dbc25Smrg * software without specific prior written permission.
25f29dbc25Smrg */
26f29dbc25Smrg
27f29dbc25Smrg /*
28f29dbc25Smrg  * Cimarron register definitions
29f29dbc25Smrg  */
30f29dbc25Smrg
31f29dbc25Smrg#ifndef _cim_regs_h
32f29dbc25Smrg#define _cim_regs_h
33f29dbc25Smrg
34f29dbc25Smrg/*----------------------------------------------------------------*/
35f29dbc25Smrg/*                GRAPHICS PROCESSOR DEFINITIONS                  */
36f29dbc25Smrg/*----------------------------------------------------------------*/
37f29dbc25Smrg
38f29dbc25Smrg/*----------------------------*/
39f29dbc25Smrg/* COMMAND BUFFER DEFINITIONS */
40f29dbc25Smrg/*----------------------------*/
41f29dbc25Smrg
42f29dbc25Smrg#define GP3_BLT_COMMAND_SIZE			    68  /* 18 DWORDS */
43f29dbc25Smrg#define GP3_VECTOR_COMMAND_SIZE             56  /* 14 DWORDS */
44f29dbc25Smrg#define GP3_4BPP_LUT_COMMAND_SIZE           76  /* 16 DWORDS + 3 CMD DWORDS */
45f29dbc25Smrg#define GP3_8BPP_LUT_COMMAND_SIZE           1036        /* 256 DWORDS +
46f29dbc25Smrg                                                         * 3 CMD DWORDS */
47f29dbc25Smrg#define GP3_VECTOR_PATTERN_COMMAND_SIZE     20  /* 2 DWORDS + 3 CMD DWORDS */
48f29dbc25Smrg#define GP3_MAX_COMMAND_SIZE                9000        /* 8K +
49f29dbc25Smrg                                                         * WORKAROUND SPACE */
50f29dbc25Smrg#define GP3_SCRATCH_BUFFER_SIZE             0x100000    /* 1MB SCRATCH
51f29dbc25Smrg                                                         * BUFFER */
52f29dbc25Smrg#define GP3_BLT_1PASS_SIZE                  0xC7F8      /* (50K - 8) is largest
53f29dbc25Smrg                                                         * 1-Pass load size */
54f29dbc25Smrg
55f29dbc25Smrg/*-------------------------------------*/
56f29dbc25Smrg/* BLT COMMAND BUFFER REGISTER OFFSETS */
57f29dbc25Smrg/*-------------------------------------*/
58f29dbc25Smrg
59f29dbc25Smrg#define GP3_BLT_CMD_HEADER				    0x00000000
60f29dbc25Smrg#define GP3_BLT_RASTER_MODE                 0x00000004
61f29dbc25Smrg#define GP3_BLT_DST_OFFSET				    0x00000008
62f29dbc25Smrg#define GP3_BLT_SRC_OFFSET				    0x0000000C
63f29dbc25Smrg#define GP3_BLT_STRIDE					    0x00000010
64f29dbc25Smrg#define GP3_BLT_WID_HEIGHT				    0x00000014
65f29dbc25Smrg#define GP3_BLT_SRC_COLOR_FG			    0x00000018
66f29dbc25Smrg#define GP3_BLT_SRC_COLOR_BG			    0x0000001C
67f29dbc25Smrg#define GP3_BLT_PAT_COLOR_0				    0x00000020
68f29dbc25Smrg#define GP3_BLT_PAT_COLOR_1				    0x00000024
69f29dbc25Smrg#define GP3_BLT_PAT_DATA_0				    0x00000028
70f29dbc25Smrg#define GP3_BLT_PAT_DATA_1				    0x0000002C
71f29dbc25Smrg#define GP3_BLT_CH3_OFFSET				    0x00000030
72f29dbc25Smrg#define GP3_BLT_CH3_MODE_STR			    0x00000034
73f29dbc25Smrg#define GP3_BLT_CH3_WIDHI				    0x00000038
74f29dbc25Smrg#define GP3_BLT_BASE_OFFSET				    0x0000003C
75f29dbc25Smrg#define GP3_BLT_MODE					    0x00000040
76f29dbc25Smrg
77f29dbc25Smrg/*-----------------------------------------------------------------*/
78f29dbc25Smrg/* VECTOR COMMAND BUFFER REGISTER OFFSETS                          */
79f29dbc25Smrg/* Some of these are identical to the BLT registers (and we will   */
80f29dbc25Smrg/* be assumed to be such in the Cimarron code, but they are listed */
81f29dbc25Smrg/* here for clarity and for future changes.                        */
82f29dbc25Smrg/*-----------------------------------------------------------------*/
83f29dbc25Smrg
84f29dbc25Smrg#define GP3_VEC_CMD_HEADER				    0x00000000
85f29dbc25Smrg#define GP3_VECTOR_RASTER_MODE			    0x00000004
86f29dbc25Smrg#define GP3_VECTOR_DST_OFFSET			    0x00000008
87f29dbc25Smrg#define GP3_VECTOR_VEC_ERR				    0x0000000C
88f29dbc25Smrg#define GP3_VECTOR_STRIDE				    0x00000010
89f29dbc25Smrg#define GP3_VECTOR_VEC_LEN				    0x00000014
90f29dbc25Smrg#define GP3_VECTOR_SRC_COLOR_FG			    0x00000018
91f29dbc25Smrg#define GP3_VECTOR_PAT_COLOR_0			    0x0000001C
92f29dbc25Smrg#define GP3_VECTOR_PAT_COLOR_1			    0x00000020
93f29dbc25Smrg#define GP3_VECTOR_PAT_DATA_0			    0x00000024
94f29dbc25Smrg#define GP3_VECTOR_PAT_DATA_1			    0x00000028
95f29dbc25Smrg#define GP3_VECTOR_CH3_MODE_STR			    0x0000002C
96f29dbc25Smrg#define GP3_VECTOR_BASE_OFFSET			    0x00000030
97f29dbc25Smrg#define GP3_VECTOR_MODE					    0x00000034
98f29dbc25Smrg
99f29dbc25Smrg/*---------------------------------------------------*/
100f29dbc25Smrg/* GP REGISTER DEFINITIONS                           */
101f29dbc25Smrg/* Addresses for writing or reading directly to/from */
102f29dbc25Smrg/* the graphics processor.                           */
103f29dbc25Smrg/*---------------------------------------------------*/
104f29dbc25Smrg
105f29dbc25Smrg#define GP3_DST_OFFSET                      0x00000000
106f29dbc25Smrg#define GP3_SRC_OFFSET                      0x00000004
107f29dbc25Smrg#define GP3_VEC_ERR                         0x00000004
108f29dbc25Smrg#define GP3_STRIDE                          0x00000008
109f29dbc25Smrg#define GP3_WID_HEIGHT                      0x0000000C
110f29dbc25Smrg#define GP3_VEC_LEN                         0x0000000C
111f29dbc25Smrg#define GP3_SRC_COLOR_FG                    0x00000010
112f29dbc25Smrg#define GP3_SRC_COLOR_BG                    0x00000014
113f29dbc25Smrg#define GP3_PAT_COLOR_0                     0x00000018
114f29dbc25Smrg#define GP3_PAT_COLOR_1                     0x0000001C
115f29dbc25Smrg#define GP3_PAT_COLOR_2                     0x00000020
116f29dbc25Smrg#define GP3_PAT_COLOR_3                     0x00000024
117f29dbc25Smrg#define GP3_PAT_COLOR_4                     0x00000028
118f29dbc25Smrg#define GP3_PAT_COLOR_5                     0x0000002C
119f29dbc25Smrg#define GP3_PAT_DATA_0                      0x00000030
120f29dbc25Smrg#define GP3_PAT_DATA_1                      0x00000034
121f29dbc25Smrg#define GP3_RASTER_MODE                     0x00000038
122f29dbc25Smrg#define GP3_VEC_MODE                        0x0000003C
123f29dbc25Smrg#define GP3_BLT_MODE                        0x00000040
124f29dbc25Smrg#define GP3_BLT_STATUS                      0x00000044
125f29dbc25Smrg#define GP3_HST_SRC                         0x00000048
126f29dbc25Smrg#define GP3_BASE_OFFSET                     0x0000004C
127f29dbc25Smrg#define GP3_CMD_TOP                         0x00000050
128f29dbc25Smrg#define GP3_CMD_BOT                         0x00000054
129f29dbc25Smrg#define GP3_CMD_READ					    0x00000058
130f29dbc25Smrg#define GP3_CMD_WRITE					    0x0000005C
131f29dbc25Smrg#define GP3_CH3_OFFSET                      0x00000060
132f29dbc25Smrg#define GP3_CH3_MODE_STR                    0x00000064
133f29dbc25Smrg#define GP3_CH3_WIDHI                       0x00000068
134f29dbc25Smrg#define GP3_CH3_HST_SRC                     0x0000006C
135f29dbc25Smrg#define GP3_LUT_ADDRESS                     0x00000070
136f29dbc25Smrg#define GP3_LUT_DATA                        0x00000074
137f29dbc25Smrg#define GP3_INT_CTL                         0x00000078
138f29dbc25Smrg#define GP3_HST_SRC_RANGE                   0x00000100
139f29dbc25Smrg
140f29dbc25Smrg/*------------------------*/
141f29dbc25Smrg/* REGISTER BIT FIELDS    */
142f29dbc25Smrg/*------------------------*/
143f29dbc25Smrg
144f29dbc25Smrg/* GP3_BLT_CMD_HEADER BIT DEFINITIONS */
145f29dbc25Smrg
146f29dbc25Smrg#define GP3_BLT_HDR_WRAP				    0x80000000
147f29dbc25Smrg#define GP3_BLT_HDR_TYPE				    0x00000000
148f29dbc25Smrg#define GP3_BLT_HDR_HAZARD_ENABLE           0x10000000
149f29dbc25Smrg#define GP3_BLT_HDR_RASTER_ENABLE		    0x00000001
150f29dbc25Smrg#define GP3_BLT_HDR_DST_OFF_ENABLE		    0x00000002
151f29dbc25Smrg#define GP3_BLT_HDR_SRC_OFF_ENABLE          0x00000004
152f29dbc25Smrg#define GP3_BLT_HDR_STRIDE_ENABLE		    0x00000008
153f29dbc25Smrg#define GP3_BLT_HDR_WIDHI_ENABLE		    0x00000010
154f29dbc25Smrg#define GP3_BLT_HDR_SRC_FG_ENABLE		    0x00000020
155f29dbc25Smrg#define GP3_BLT_HDR_SRC_BG_ENABLE		    0x00000040
156f29dbc25Smrg#define GP3_BLT_HDR_PAT_CLR0_ENABLE		    0x00000080
157f29dbc25Smrg#define GP3_BLT_HDR_PAT_CLR1_ENABLE		    0x00000100
158f29dbc25Smrg#define GP3_BLT_HDR_PAT_DATA0_ENABLE	    0x00000200
159f29dbc25Smrg#define GP3_BLT_HDR_PAT_DATA1_ENABLE        0x00000400
160f29dbc25Smrg#define GP3_BLT_HDR_CH3_OFF_ENABLE          0x00000800
161f29dbc25Smrg#define GP3_BLT_HDR_CH3_STR_ENABLE          0x00001000
162f29dbc25Smrg#define GP3_BLT_HDR_CH3_WIDHI_ENABLE        0x00002000
163f29dbc25Smrg#define GP3_BLT_HDR_BASE_OFFSET_ENABLE      0x00004000
164f29dbc25Smrg#define GP3_BLT_HDR_BLT_MODE_ENABLE         0x00008000
165f29dbc25Smrg
166f29dbc25Smrg/* GP3_VEC_CMD_HEADER BIT DEFINITIONS */
167f29dbc25Smrg
168f29dbc25Smrg#define GP3_VEC_HDR_WRAP				    0x80000000
169f29dbc25Smrg#define GP3_VEC_HDR_TYPE				    0x20000000
170f29dbc25Smrg#define GP3_VEC_HDR_HAZARD_ENABLE           0x10000000
171f29dbc25Smrg#define GP3_VEC_HDR_RASTER_ENABLE		    0x00000001
172f29dbc25Smrg#define GP3_VEC_HDR_DST_OFF_ENABLE		    0x00000002
173f29dbc25Smrg#define GP3_VEC_HDR_VEC_ERR_ENABLE          0x00000004
174f29dbc25Smrg#define GP3_VEC_HDR_STRIDE_ENABLE		    0x00000008
175f29dbc25Smrg#define GP3_VEC_HDR_VEC_LEN_ENABLE		    0x00000010
176f29dbc25Smrg#define GP3_VEC_HDR_SRC_FG_ENABLE		    0x00000020
177f29dbc25Smrg#define GP3_VEC_HDR_PAT_CLR0_ENABLE		    0x00000040
178f29dbc25Smrg#define GP3_VEC_HDR_PAT_CLR1_ENABLE		    0x00000080
179f29dbc25Smrg#define GP3_VEC_HDR_PAT_DATA0_ENABLE	    0x00000100
180f29dbc25Smrg#define GP3_VEC_HDR_PAT_DATA1_ENABLE        0x00000200
181f29dbc25Smrg#define GP3_VEC_HDR_CH3_STR_ENABLE          0x00000400
182f29dbc25Smrg#define GP3_VEC_HDR_BASE_OFFSET_ENABLE      0x00000800
183f29dbc25Smrg#define GP3_VEC_HDR_VEC_MODE_ENABLE         0x00001000
184f29dbc25Smrg
185f29dbc25Smrg/* GP3_RASTER_MODE BIT DEFINITIONS */
186f29dbc25Smrg
187f29dbc25Smrg#define GP3_RM_BPPFMT_332			0x00000000      /* 8 BPP, palettized        */
188f29dbc25Smrg#define GP3_RM_BPPFMT_4444			0x40000000      /* 16 BPP, 4:4:4:4          */
189f29dbc25Smrg#define GP3_RM_BPPFMT_1555			0x50000000      /* 16 BPP, 1:5:5:5          */
190f29dbc25Smrg#define GP3_RM_BPPFMT_565			0x60000000      /* 16 BPP, 5:6:5            */
191f29dbc25Smrg#define GP3_RM_BPPFMT_8888			0x80000000      /* 32 BPP, 8:8:8:8          */
192f29dbc25Smrg#define GP3_RM_ALPHA_ALL			0x00C00000      /* Alpha enable             */
193f29dbc25Smrg#define GP3_RM_ALPHA_TO_RGB			0x00400000      /* Alpha applies to RGB     */
194f29dbc25Smrg#define GP3_RM_ALPHA_TO_ALPHA		0x00800000      /* Alpha applies to alpha   */
195f29dbc25Smrg#define GP3_RM_ALPHA_OP_MASK		0x00300000      /* Alpha operation          */
196f29dbc25Smrg#define GP3_RM_ALPHA_TIMES_A		0x00000000      /* Alpha * A                */
197f29dbc25Smrg#define GP3_RM_BETA_TIMES_B			0x00100000      /* (1-alpha) * B            */
198f29dbc25Smrg#define GP3_RM_A_PLUS_BETA_B		0x00200000      /* A + (1-alpha) * B        */
199f29dbc25Smrg#define GP3_RM_ALPHA_A_PLUS_BETA_B	0x00300000      /* alpha * A + (1 - alpha)B */
200f29dbc25Smrg#define GP3_RM_ALPHA_SELECT			0x000E0000      /* Alpha Select             */
201f29dbc25Smrg#define GP3_RM_SELECT_ALPHA_A		0x00000000      /* Alpha from channel A     */
202f29dbc25Smrg#define GP3_RM_SELECT_ALPHA_B		0x00020000      /* Alpha from channel B     */
203f29dbc25Smrg#define GP3_RM_SELECT_ALPHA_R		0x00040000      /* Registered alpha         */
204f29dbc25Smrg#define GP3_RM_SELECT_ALPHA_1		0x00060000      /* Constant 1               */
205f29dbc25Smrg#define GP3_RM_SELECT_ALPHA_CHAN_A	0x00080000      /* RGB Values from A        */
206f29dbc25Smrg#define GP3_RM_SELECT_ALPHA_CHAN_B	0x000A0000      /* RGB Values from B        */
207f29dbc25Smrg#define GP3_RM_SELECT_ALPHA_CHAN_3  0x000C0000  /* Alpha from channel 3     */
208f29dbc25Smrg#define GP3_RM_DEST_FROM_CHAN_A		0x00010000      /* Alpha channel select     */
209f29dbc25Smrg#define GP3_RM_PATTERN_INVERT       0x00001000  /* Invert monochrome pat    */
210f29dbc25Smrg#define GP3_RM_SOURCE_INVERT        0x00002000  /* Invert monochrome src    */
211f29dbc25Smrg#define GP3_RM_PAT_FLAGS			0x00000700      /* pattern related bits     */
212f29dbc25Smrg#define GP3_RM_PAT_MONO				0x00000100      /* monochrome pattern       */
213f29dbc25Smrg#define GP3_RM_PAT_COLOR			0x00000200      /* color pattern            */
214f29dbc25Smrg#define GP3_RM_PAT_TRANS			0x00000400      /* pattern transparency     */
215f29dbc25Smrg#define GP3_RM_SRC_TRANS			0x00000800      /* source transparency      */
216f29dbc25Smrg
217f29dbc25Smrg/* GP3_VECTOR_MODE REGISTER DESCRIPTIONS */
218f29dbc25Smrg
219f29dbc25Smrg#define GP3_VM_DST_REQ			    0x00000008  /* dst data required        */
220f29dbc25Smrg#define GP3_VM_THROTTLE			    0x00000010  /* sync to VBLANK           */
221f29dbc25Smrg
222f29dbc25Smrg/* GP3_BLT_MODE REGISTER DEFINITIONS */
223f29dbc25Smrg
224f29dbc25Smrg#define GP3_BM_SRC_FB			    0x00000001  /* src = frame buffer       */
225f29dbc25Smrg#define GP3_BM_SRC_HOST			    0x00000002  /* src = host register      */
226f29dbc25Smrg#define GP3_BM_DST_REQ			    0x00000004  /* dst data required        */
227f29dbc25Smrg#define GP3_BM_SRC_MONO			    0x00000040  /* monochrome source data   */
228f29dbc25Smrg#define GP3_BM_SRC_BP_MONO		    0x00000080  /* Byte-packed monochrome   */
229f29dbc25Smrg#define GP3_BM_NEG_YDIR			    0x00000100  /* negative Y direction     */
230f29dbc25Smrg#define GP3_BM_NEG_XDIR			    0x00000200  /* negative X direction     */
231f29dbc25Smrg#define GP3_BM_THROTTLE			    0x00000400  /* sync to VBLANK           */
232f29dbc25Smrg
233f29dbc25Smrg/* GP3_BLT_STATUS REGISTER DEFINITIONS */
234f29dbc25Smrg
235f29dbc25Smrg#define GP3_BS_BLT_BUSY			    0x00000001  /* GP is not idle           */
236f29dbc25Smrg#define GP3_BS_BLT_PENDING		    0x00000004  /* second BLT is pending    */
237f29dbc25Smrg#define GP3_BS_HALF_EMPTY		    0x00000008  /* src FIFO half empty      */
238f29dbc25Smrg#define GP3_BS_CB_EMPTY             0x00000010  /* Command buffer empty.    */
239f29dbc25Smrg
240f29dbc25Smrg/* GP3_CH3_MODE_STR REGISTER DEFINITIONS */
241f29dbc25Smrg
242f29dbc25Smrg#define GP3_CH3_C3EN                        0x80000000
243f29dbc25Smrg#define GP3_CH3_REPLACE_SOURCE              0x40000000
244f29dbc25Smrg#define GP3_CH3_NEG_XDIR                    0x20000000
245f29dbc25Smrg#define GP3_CH3_NEG_YDIR                    0x10000000
246f29dbc25Smrg#define GP3_CH3_SRC_FMT_MASK                0x0f000000
247f29dbc25Smrg#define GP3_CH3_SRC_3_3_2                   0x00000000
248f29dbc25Smrg#define GP3_CH3_SRC_8BPP_INDEXED            0x01000000
249f29dbc25Smrg#define GP3_CH3_SRC_8BPP_ALPHA              0x02000000
250f29dbc25Smrg#define GP3_CH3_SRC_4_4_4_4                 0x04000000
251f29dbc25Smrg#define GP3_CH3_SRC_1_5_5_5                 0x05000000
252f29dbc25Smrg#define GP3_CH3_SRC_0_5_6_5                 0x06000000
253f29dbc25Smrg#define GP3_CH3_SRC_Y_U_V                   0x07000000
254f29dbc25Smrg#define GP3_CH3_SRC_8_8_8_8                 0x08000000
255f29dbc25Smrg#define GP3_CH3_SRC_24BPP_PACKED            0x0B000000
256f29dbc25Smrg#define GP3_CH3_SRC_4BPP_INDEXED            0x0D000000
257f29dbc25Smrg#define GP3_CH3_SRC_4BPP_ALPHA              0x0E000000
258f29dbc25Smrg#define GP3_CH3_SRC_MASK                    0x0F000000
259f29dbc25Smrg#define GP3_CH3_ROTATE_ENABLE               0x00800000
260f29dbc25Smrg#define GP3_CH3_BGR_ORDER                   0x00400000
261f29dbc25Smrg#define GP3_CH3_COLOR_PAT_ENABLE            0x00200000
262f29dbc25Smrg#define GP3_CH3_PRESERVE_LUT                0x00100000
263f29dbc25Smrg#define GP3_CH3_PREFETCH_ENABLE             0x00080000
264f29dbc25Smrg#define GP3_CH3_HST_SRC_ENABLE			    0x00040000
265f29dbc25Smrg#define GP3_CH3_STRIDE_MASK                 0x0000FFFF
266f29dbc25Smrg
267f29dbc25Smrg/* DATA AND LUT LOAD BIT DEFINITIONS */
268f29dbc25Smrg
269f29dbc25Smrg#define GP3_LUT_HDR_WRAP                    0x80000000
270f29dbc25Smrg#define GP3_LUT_HDR_TYPE				    0x40000000
271f29dbc25Smrg#define GP3_LUT_HDR_DATA_ENABLE             0x00000003
272f29dbc25Smrg#define GP3_DATA_LOAD_HDR_WRAP              0x80000000
273f29dbc25Smrg#define GP3_DATA_LOAD_HDR_TYPE              0x60000000
274f29dbc25Smrg#define GP3_DATA_LOAD_HDR_ENABLE            0x00000001
275f29dbc25Smrg
276f29dbc25Smrg#define GP3_HOST_SOURCE_TYPE			    0x00000000
277f29dbc25Smrg#define GP3_CH3_HOST_SOURCE_TYPE		    0x20000000
278f29dbc25Smrg#define GP3_OLD_PATTERN_COLORS			    0x40000000
279f29dbc25Smrg#define GP3_LUT_DATA_TYPE				    0x60000000
280f29dbc25Smrg
281f29dbc25Smrg#define GP3_BASE_OFFSET_DSTMASK             0xFFC00000
282f29dbc25Smrg#define GP3_BASE_OFFSET_SRCMASK             0x003FF000
283f29dbc25Smrg#define GP3_BASE_OFFSET_CH3MASK             0x00000FFC
284f29dbc25Smrg
285f29dbc25Smrg/*----------------------------------------------------------------*/
286f29dbc25Smrg/*                  VIDEO GENERATOR DEFINITIONS                   */
287f29dbc25Smrg/*----------------------------------------------------------------*/
288f29dbc25Smrg
289f29dbc25Smrg#define DC3_UNLOCK              0x00000000      /* Unlock register              */
290f29dbc25Smrg#define DC3_GENERAL_CFG         0x00000004      /* Config registers             */
291f29dbc25Smrg#define DC3_DISPLAY_CFG         0x00000008
292f29dbc25Smrg#define DC3_ARB_CFG             0x0000000C
293f29dbc25Smrg
294f29dbc25Smrg#define DC3_FB_ST_OFFSET        0x00000010      /* Frame buffer start offset    */
295f29dbc25Smrg#define DC3_CB_ST_OFFSET        0x00000014      /* Compression start offset     */
296f29dbc25Smrg#define DC3_CURS_ST_OFFSET      0x00000018      /* Cursor buffer start offset   */
297f29dbc25Smrg#define DC3_VID_Y_ST_OFFSET     0x00000020      /* Video Y Buffer start offset  */
298f29dbc25Smrg#define DC3_VID_U_ST_OFFSET     0x00000024      /* Video U Buffer start offset  */
299f29dbc25Smrg#define DC3_VID_V_ST_OFFSET     0x00000028      /* Video V Buffer start offset  */
300f29dbc25Smrg#define DC3_DV_TOP              0x0000002C      /* DV Ram Limit Register        */
301f29dbc25Smrg#define DC3_LINE_SIZE           0x00000030      /* Video, CB, and FB line sizes */
302f29dbc25Smrg#define DC3_GFX_PITCH           0x00000034      /* FB and DB skip counts        */
303f29dbc25Smrg#define DC3_VID_YUV_PITCH       0x00000038      /* Y, U and V buffer skip counts */
304f29dbc25Smrg
305f29dbc25Smrg#define DC3_H_ACTIVE_TIMING     0x00000040      /* Horizontal timings           */
306f29dbc25Smrg#define DC3_H_BLANK_TIMING      0x00000044
307f29dbc25Smrg#define DC3_H_SYNC_TIMING       0x00000048
308f29dbc25Smrg#define DC3_V_ACTIVE_TIMING     0x00000050      /* Vertical Timings             */
309f29dbc25Smrg#define DC3_V_BLANK_TIMING      0x00000054
310f29dbc25Smrg#define DC3_V_SYNC_TIMING       0x00000058
311f29dbc25Smrg#define DC3_FB_ACTIVE           0x0000005C
312f29dbc25Smrg
313f29dbc25Smrg#define DC3_CURSOR_X            0x00000060      /* Cursor X position            */
314f29dbc25Smrg#define DC3_CURSOR_Y            0x00000064      /* Cursor Y Position            */
315f29dbc25Smrg#define DC3_LINE_CNT_STATUS     0x0000006C
316f29dbc25Smrg
317f29dbc25Smrg#define DC3_PAL_ADDRESS         0x00000070      /* Palette Address              */
318f29dbc25Smrg#define DC3_PAL_DATA            0x00000074      /* Palette Data                 */
319f29dbc25Smrg#define DC3_DFIFO_DIAG          0x00000078      /* Display FIFO diagnostic      */
320f29dbc25Smrg#define DC3_CFIFO_DIAG          0x0000007C      /* Compression FIFO diagnostic  */
321f29dbc25Smrg
322f29dbc25Smrg#define DC3_VID_DS_DELTA        0x00000080      /* Vertical Downscaling fraction */
323f29dbc25Smrg
324f29dbc25Smrg#define DC3_PHY_MEM_OFFSET      0x00000084      /* VG Base Address Register     */
325f29dbc25Smrg#define DC3_DV_CTL              0x00000088      /* Dirty-Valid Control Register */
326f29dbc25Smrg#define DC3_DV_ACC              0x0000008C      /* Dirty-Valid RAM Access       */
327f29dbc25Smrg
328f29dbc25Smrg#define DC3_GFX_SCALE           0x00000090      /* Graphics Scaling             */
329f29dbc25Smrg#define DC3_IRQ_FILT_CTL        0x00000094      /* VBlank interrupt and filters */
330f29dbc25Smrg#define DC3_FILT_COEFF1         0x00000098
331f29dbc25Smrg#define DC3_FILT_COEFF2         0x0000009C
332f29dbc25Smrg
333f29dbc25Smrg#define DC3_VBI_EVEN_CTL        0x000000A0      /* VBI Data Buffer Controls     */
334f29dbc25Smrg#define DC3_VBI_ODD_CTL         0x000000A4
335f29dbc25Smrg#define DC3_VBI_HOR             0x000000A8
336f29dbc25Smrg#define DC3_VBI_LN_ODD          0x000000AC
337f29dbc25Smrg#define DC3_VBI_LN_EVEN         0x000000B0
338f29dbc25Smrg#define DC3_VBI_PITCH           0x000000B4
339f29dbc25Smrg
340f29dbc25Smrg#define DC3_COLOR_KEY           0x000000B8      /* Graphics color key           */
341f29dbc25Smrg#define DC3_COLOR_MASK          0x000000BC      /* Graphics color key mask      */
342f29dbc25Smrg#define DC3_CLR_KEY_X           0x000000C0
343f29dbc25Smrg#define DC3_CLR_KEY_Y           0x000000C4
344f29dbc25Smrg
345f29dbc25Smrg#define DC3_IRQ                 0x000000C8
346f29dbc25Smrg#define DC3_GENLK_CTL           0x000000D4
347f29dbc25Smrg
348f29dbc25Smrg#define DC3_VID_EVEN_Y_ST_OFFSET    0x000000D8  /* Even field video buffers */
349f29dbc25Smrg#define DC3_VID_EVEN_U_ST_OFFSET    0x000000DC
350f29dbc25Smrg#define DC3_VID_EVEN_V_ST_OFFSET    0x000000E0
351f29dbc25Smrg
352f29dbc25Smrg#define DC3_V_ACTIVE_EVEN       0x000000E4      /* Even field timing registers  */
353f29dbc25Smrg#define DC3_V_BLANK_EVEN        0x000000E8
354f29dbc25Smrg#define DC3_V_SYNC_EVEN         0x000000EC
355f29dbc25Smrg
356f29dbc25Smrg/* UNLOCK VALUE */
357f29dbc25Smrg
358f29dbc25Smrg#define DC3_UNLOCK_VALUE	    0x00004758  /* used to unlock DC regs       */
359f29dbc25Smrg
360f29dbc25Smrg/* VG GEODELINK DEVICE SMI MSR FIELDS */
361f29dbc25Smrg
362f29dbc25Smrg#define DC3_VG_BL_MASK                      0x00000001
363f29dbc25Smrg#define DC3_MISC_MASK                       0x00000002
364f29dbc25Smrg#define DC3_ISR0_MASK                       0x00000004
365f29dbc25Smrg#define DC3_VGA_BL_MASK                     0x00000008
366f29dbc25Smrg#define DC3_CRTCIO_MSK                      0x00000010
367f29dbc25Smrg#define DC3_VG_BLANK_SMI                    0x00000001
368f29dbc25Smrg#define DC3_MISC_SMI                        0x00000002
369f29dbc25Smrg#define DC3_ISR0_SMI                        0x00000004
370f29dbc25Smrg#define DC3_VGA_BLANK_SMI                   0x00000008
371f29dbc25Smrg#define DC3_CRTCIO_SMI                      0x00000010
372f29dbc25Smrg
373f29dbc25Smrg/* DC3_GENERAL_CFG BIT FIELDS */
374f29dbc25Smrg
375f29dbc25Smrg#define DC3_GCFG_DBUG                       0x80000000
376f29dbc25Smrg#define DC3_GCFG_DBSL                       0x40000000
377f29dbc25Smrg#define DC3_GCFG_CFRW                       0x20000000
378f29dbc25Smrg#define DC3_GCFG_DIAG                       0x10000000
379f29dbc25Smrg#define DC3_GCFG_CRC_MODE                   0x08000000
380f29dbc25Smrg#define DC3_GCFG_SGFR                       0x04000000
381f29dbc25Smrg#define DC3_GCFG_SGRE                       0x02000000
382f29dbc25Smrg#define DC3_GCFG_SIGE                       0x01000000
383f29dbc25Smrg#define DC3_GCFG_SIG_SEL                    0x00800000
384f29dbc25Smrg#define DC3_GCFG_YUV_420                    0x00100000
385f29dbc25Smrg#define DC3_GCFG_VDSE                       0x00080000
386f29dbc25Smrg#define DC3_GCFG_VGAFT                      0x00040000
387f29dbc25Smrg#define DC3_GCFG_FDTY                       0x00020000
388f29dbc25Smrg#define DC3_GCFG_STFM                       0x00010000
389f29dbc25Smrg#define DC3_GCFG_DFHPEL_MASK                0x0000F000
390f29dbc25Smrg#define DC3_GCFG_DFHPSL_MASK                0x00000F00
391f29dbc25Smrg#define DC3_GCFG_VGAE                       0x00000080
392f29dbc25Smrg#define DC3_GCFG_DECE                       0x00000040
393f29dbc25Smrg#define DC3_GCFG_CMPE                       0x00000020
394f29dbc25Smrg#define DC3_GCFG_FILT_SIG_SEL               0x00000010
395f29dbc25Smrg#define DC3_GCFG_VIDE                       0x00000008
396f29dbc25Smrg#define DC3_GCFG_CLR_CUR                    0x00000004
397f29dbc25Smrg#define DC3_GCFG_CURE                       0x00000002
398f29dbc25Smrg#define DC3_GCFG_DFLE                       0x00000001
399f29dbc25Smrg
400f29dbc25Smrg/* DC3_DISPLAY_CFG BIT FIELDS */
401f29dbc25Smrg
402f29dbc25Smrg#define DC3_DCFG_VISL                       0x08000000
403f29dbc25Smrg#define DC3_DCFG_FRLK                       0x04000000
404f29dbc25Smrg#define DC3_DCFG_PALB                       0x02000000
405f29dbc25Smrg#define DC3_DCFG_DCEN                       0x01000000
406f29dbc25Smrg#define DC3_DCFG_VFHPEL_MASK                0x000F0000
407f29dbc25Smrg#define DC3_DCFG_VFHPSL_MASK                0x0000F000
408f29dbc25Smrg#define DC3_DCFG_16BPP_MODE_MASK            0x00000C00
409f29dbc25Smrg#define DC3_DCFG_16BPP                      0x00000000
410f29dbc25Smrg#define DC3_DCFG_15BPP                      0x00000400
411f29dbc25Smrg#define DC3_DCFG_12BPP                      0x00000800
412f29dbc25Smrg#define DC3_DCFG_DISP_MODE_MASK             0x00000300
413f29dbc25Smrg#define DC3_DCFG_DISP_MODE_8BPP             0x00000000
414f29dbc25Smrg#define DC3_DCFG_DISP_MODE_16BPP            0x00000100
415f29dbc25Smrg#define DC3_DCFG_DISP_MODE_24BPP            0x00000200
416f29dbc25Smrg#define DC3_DCFG_DISP_MODE_32BPP            0x00000300
417f29dbc25Smrg#define DC3_DCFG_TRUP                       0x00000040
418f29dbc25Smrg#define DC3_DCFG_VDEN                       0x00000010
419f29dbc25Smrg#define DC3_DCFG_GDEN                       0x00000008
420f29dbc25Smrg#define DC3_DCFG_TGEN                       0x00000001
421f29dbc25Smrg
422f29dbc25Smrg/* DC3_ARB_CFG BIT FIELDS */
423f29dbc25Smrg
424f29dbc25Smrg#define DC3_ACFG_LB_LOAD_WM_EN              0x00100000
425f29dbc25Smrg#define DC3_ACFG_LB_LOAD_WM_MASK            0x000F0000
426f29dbc25Smrg#define DC3_ACFG_LPEN_END_COUNT_MASK        0x0000FE00
427f29dbc25Smrg#define DC3_ACFG_HPEN_SBINV                 0x00000100
428f29dbc25Smrg#define DC3_ACFG_HPEN_FB_INV_HALFSB         0x00000080
429f29dbc25Smrg#define DC3_ACFG_HPEN_FB_INV_SBRD           0x00000040
430f29dbc25Smrg#define DC3_ACFG_HPEN_FB_INV                0x00000020
431f29dbc25Smrg#define DC3_ACFG_HPEN_1LB_INV               0x00000010
432f29dbc25Smrg#define DC3_ACFG_HPEN_2LB_INV               0x00000008
433f29dbc25Smrg#define DC3_ACFG_HPEN_3LB_INV               0x00000004
434f29dbc25Smrg#define DC3_ACFG_HPEN_LB_FILL               0x00000002
435f29dbc25Smrg#define DC3_ACFG_LPEN_VSYNC                 0x00000001
436f29dbc25Smrg
437f29dbc25Smrg/* DC3_FB_ST_OFFSET BIT FIELDS */
438f29dbc25Smrg
439f29dbc25Smrg#define DC3_FB_ST_OFFSET_MASK               0x0FFFFFFF
440f29dbc25Smrg
441f29dbc25Smrg/* DC3_CB_ST_OFFSET BIT FIELDS */
442f29dbc25Smrg
443f29dbc25Smrg#define DC3_CB_ST_OFFSET_MASK               0x0FFFFFFF
444f29dbc25Smrg
445f29dbc25Smrg/* DC3_CURS_ST_OFFSET BIT FIELDS */
446f29dbc25Smrg
447f29dbc25Smrg#define DC3_CURS_ST_OFFSET_MASK             0x0FFFFFFF
448f29dbc25Smrg
449f29dbc25Smrg/* DC3_ICON_ST_OFFSET BIT FIELDS */
450f29dbc25Smrg
451f29dbc25Smrg#define DC3_ICON_ST_OFFSET_MASK             0x0FFFFFFF
452f29dbc25Smrg
453f29dbc25Smrg/* DC3_VID_Y_ST_OFFSET BIT FIELDS */
454f29dbc25Smrg
455f29dbc25Smrg#define DC3_VID_Y_ST_OFFSET_MASK            0x0FFFFFFF
456f29dbc25Smrg
457f29dbc25Smrg/* DC3_VID_U_ST_OFFSET BIT FIELDS */
458f29dbc25Smrg
459f29dbc25Smrg#define DC3_VID_U_ST_OFFSET_MASK            0x0FFFFFFF
460f29dbc25Smrg
461f29dbc25Smrg/* DC3_VID_V_ST_OFFSET BIT FIELDS */
462f29dbc25Smrg
463f29dbc25Smrg#define DC3_VID_V_ST_OFFSET_MASK            0x0FFFFFFF
464f29dbc25Smrg
465f29dbc25Smrg/* DC3_DV_TOP BIT FIELDS */
466f29dbc25Smrg
467f29dbc25Smrg#define DC3_DVTOP_ENABLE                    0x00000001
468f29dbc25Smrg#define DC3_DVTOP_MAX_MASK                  0x00FFFC00
469f29dbc25Smrg#define DC3_DVTOP_MAX_SHIFT                 10
470f29dbc25Smrg
471f29dbc25Smrg/* DC3_LINE_SIZE BIT FIELDS */
472f29dbc25Smrg
473f29dbc25Smrg#define DC3_LINE_SIZE_VLS_MASK              0x3FF00000
474f29dbc25Smrg#define DC3_LINE_SIZE_CBLS_MASK             0x0007F000
475f29dbc25Smrg#define DC3_LINE_SIZE_FBLS_MASK             0x000003FF
476f29dbc25Smrg#define DC3_LINE_SIZE_CB_SHIFT              12
477f29dbc25Smrg#define DC3_LINE_SIZE_VB_SHIFT              20
478f29dbc25Smrg
479f29dbc25Smrg/* DC3_GFX_PITCH BIT FIELDS */
480f29dbc25Smrg
481f29dbc25Smrg#define DC3_GFX_PITCH_CBP_MASK              0xFFFF0000
482f29dbc25Smrg#define DC3_GFX_PITCH_FBP_MASK              0x0000FFFF
483f29dbc25Smrg
484f29dbc25Smrg/* DC3_VID_YUV_PITCH BIT FIELDS */
485f29dbc25Smrg
486f29dbc25Smrg#define DC3_YUV_PITCH_UVP_MASK              0xFFFF0000
487f29dbc25Smrg#define DC3_YUV_PITCH_YBP_MASK              0x0000FFFF
488f29dbc25Smrg
489f29dbc25Smrg/* DC3_H_ACTIVE_TIMING BIT FIELDS */
490f29dbc25Smrg
491f29dbc25Smrg#define DC3_HAT_HT_MASK                     0x0FF80000
492f29dbc25Smrg#define DC3_HAT_HA_MASK                     0x00000FF8
493f29dbc25Smrg
494f29dbc25Smrg/* DC3_H_BLANK_TIMING BIT FIELDS */
495f29dbc25Smrg
496f29dbc25Smrg#define DC3_HBT_HBE_MASK                    0x0FF80000
497f29dbc25Smrg#define DC3_HBT_HBS_MASK                    0x00000FF8
498f29dbc25Smrg
499f29dbc25Smrg/* DC3_H_SYNC_TIMING BIT FIELDS */
500f29dbc25Smrg
501f29dbc25Smrg#define DC3_HST_HSE_MASK                    0x0FF80000
502f29dbc25Smrg#define DC3_HST_HSS_MASK                    0x00000FF8
503f29dbc25Smrg
504f29dbc25Smrg/* DC3_V_ACTIVE_TIMING BIT FIELDS */
505f29dbc25Smrg
506f29dbc25Smrg#define DC3_VAT_VT_MASK                     0x07FF0000
507f29dbc25Smrg#define DC3_VAT_VA_MASK                     0x000007FF
508f29dbc25Smrg
509f29dbc25Smrg/* DC3_V_BLANK_TIMING BIT FIELDS */
510f29dbc25Smrg
511f29dbc25Smrg#define DC3_VBT_VBE_MASK                    0x07FF0000
512f29dbc25Smrg#define DC3_VBT_VBS_MASK                    0x000007FF
513f29dbc25Smrg
514f29dbc25Smrg/* DC3_V_SYNC_TIMING BIT FIELDS */
515f29dbc25Smrg
516f29dbc25Smrg#define DC3_VST_VSE_MASK                    0x07FF0000
517f29dbc25Smrg#define DC3_VST_VSS_MASK                    0x000007FF
518f29dbc25Smrg
519f29dbc25Smrg/* DC3_LINE_CNT_STATUS BIT FIELDS     */
520f29dbc25Smrg
521f29dbc25Smrg#define DC3_LNCNT_DNA                       0x80000000
522f29dbc25Smrg#define DC3_LNCNT_VNA                       0x40000000
523f29dbc25Smrg#define DC3_LNCNT_VSA                       0x20000000
524f29dbc25Smrg#define DC3_LNCNT_VINT                      0x10000000
525f29dbc25Smrg#define DC3_LNCNT_FLIP                      0x08000000
526f29dbc25Smrg#define DC3_LNCNT_V_LINE_CNT                0x07FF0000
527f29dbc25Smrg#define DC3_LNCNT_VFLIP                     0x00008000
528f29dbc25Smrg#define DC3_LNCNT_SIGC                      0x00004000
529f29dbc25Smrg#define DC3_LNCNT_EVEN_FIELD                0x00002000
530f29dbc25Smrg#define DC3_LNCNT_SS_LINE_CMP               0x000007FF
531f29dbc25Smrg
532f29dbc25Smrg/* DC3_VID_DS_DELTA BIT FIELDS */
533f29dbc25Smrg
534f29dbc25Smrg#define DC3_DS_DELTA_MASK                   0xFFFC0000
535f29dbc25Smrg#define DC3_601_VSYNC_SHIFT_MASK            0x00000FFF
536f29dbc25Smrg#define DC3_601_VSYNC_SHIFT_ENABLE          0x00008000
537f29dbc25Smrg
538f29dbc25Smrg/* DC3_DV_CTL BIT DEFINITIONS */
539f29dbc25Smrg
540f29dbc25Smrg#define DC3_DV_LINE_SIZE_MASK               0x00000C00
541f29dbc25Smrg#define DC3_DV_LINE_SIZE_1024               0x00000000
542f29dbc25Smrg#define DC3_DV_LINE_SIZE_2048               0x00000400
543f29dbc25Smrg#define DC3_DV_LINE_SIZE_4096               0x00000800
544f29dbc25Smrg#define DC3_DV_LINE_SIZE_8192               0x00000C00
545f29dbc25Smrg
546f29dbc25Smrg/* DC3_IRQ_FILT_CTL DEFINITIONS */
547f29dbc25Smrg
548f29dbc25Smrg#define DC3_IRQFILT_LB_MASK                 0x80000200
549f29dbc25Smrg#define DC3_IRQFILT_LB_COEFF                0x00000000
550f29dbc25Smrg#define DC3_IRQFILT_SCALER_FILTER           0x00000200
551f29dbc25Smrg#define DC3_IRQFILT_SYNCHRONIZER            0x80000000
552f29dbc25Smrg#define DC3_IRQFILT_FLICKER_FILTER          0x80000200
553f29dbc25Smrg#define DC3_IRQFILT_LB_SEL_MASK             0x60000000
554f29dbc25Smrg#define DC3_IRQFILT_INTL_ADDR               0x10000000
555f29dbc25Smrg#define DC3_IRQFILT_LINE_MASK               0x07FF0000
556f29dbc25Smrg#define DC3_IRQFILT_ALPHA_FILT_EN           0x00004000
557f29dbc25Smrg#define DC3_IRQFILT_GFX_FILT_EN             0x00001000
558f29dbc25Smrg#define DC3_IRQFILT_INTL_EN                 0x00000800
559f29dbc25Smrg#define DC3_IRQFILT_H_FILT_SEL              0x00000400
560f29dbc25Smrg#define DC3_IRQFILT_LB_ADDR                 0x00000100
561f29dbc25Smrg
562f29dbc25Smrg/* DC3_VBI_EVEN_CTL DEFINITIONS */
563f29dbc25Smrg
564f29dbc25Smrg#define DC3_VBI_EVEN_ENABLE_CRC             (1L << 31)
565f29dbc25Smrg#define DC3_VBI_EVEN_CTL_ENABLE_16          (1L << 30)
566f29dbc25Smrg#define DC3_VBI_EVEN_CTL_UPSCALE            (1L << 29)
567f29dbc25Smrg#define DC3_VBI_ENABLE                      (1L << 28)
568f29dbc25Smrg#define DC3_VBI_EVEN_CTL_OFFSET_MASK        0x0FFFFFFF
569f29dbc25Smrg
570f29dbc25Smrg/* DC3_VBI_ODD_CTL DEFINITIONS */
571f29dbc25Smrg
572f29dbc25Smrg#define DC3_VBI_ODD_CTL_OFFSET_MASK         0x0FFFFFFF
573f29dbc25Smrg
574f29dbc25Smrg/* DC3_VBI_HOR BIT DEFINITIONS */
575f29dbc25Smrg
576f29dbc25Smrg#define DC3_VBI_HOR_END_SHIFT               16
577f29dbc25Smrg#define DC3_VBI_HOR_END_MASK				0x0FFF0000
578f29dbc25Smrg#define DC3_VBI_HOR_START_MASK				0x00000FFF
579f29dbc25Smrg
580f29dbc25Smrg/* DC3_VBI_LN_ODD BIT DEFINITIONS */
581f29dbc25Smrg
582f29dbc25Smrg#define DC3_VBI_ODD_ENABLE_SHIFT            2
583f29dbc25Smrg#define DC3_VBI_ODD_ENABLE_MASK             0x01FFFFFC
584f29dbc25Smrg#define DC3_VBI_ODD_LINE_SHIFT              25
585f29dbc25Smrg#define DC3_VBI_ODD_LINE_MASK               0xFE000000
586f29dbc25Smrg
587f29dbc25Smrg/* DC3_VBI_LN_EVEN BIT DEFINITIONS */
588f29dbc25Smrg
589f29dbc25Smrg#define DC3_VBI_EVEN_ENABLE_SHIFT           2
590f29dbc25Smrg#define DC3_VBI_EVEN_ENABLE_MASK			0x01FFFFFC
591f29dbc25Smrg#define DC3_VBI_EVEN_LINE_SHIFT             25
592f29dbc25Smrg#define DC3_VBI_EVEN_LINE_MASK				0xFE000000
593f29dbc25Smrg
594f29dbc25Smrg/* DC3_COLOR_KEY DEFINITIONS */
595f29dbc25Smrg
596f29dbc25Smrg#define DC3_CLR_KEY_DATA_MASK               0x00FFFFFF
597f29dbc25Smrg#define DC3_CLR_KEY_ENABLE                  0x01000000
598f29dbc25Smrg
599f29dbc25Smrg/* DC3_IRQ DEFINITIONS */
600f29dbc25Smrg
601f29dbc25Smrg#define DC3_IRQ_MASK                        0x00000001
602f29dbc25Smrg#define DC3_VSYNC_IRQ_MASK                  0x00000002
603f29dbc25Smrg#define DC3_IRQ_STATUS                      0x00010000
604f29dbc25Smrg#define DC3_VSYNC_IRQ_STATUS                0x00020000
605f29dbc25Smrg
606f29dbc25Smrg/* DC3_GENLK_CTL DEFINITIONS */
607f29dbc25Smrg
608f29dbc25Smrg#define DC3_GC_FLICKER_FILTER_NONE          0x00000000
609f29dbc25Smrg#define DC3_GC_FLICKER_FILTER_1_16          0x10000000
610f29dbc25Smrg#define DC3_GC_FLICKER_FILTER_1_8           0x20000000
611f29dbc25Smrg#define DC3_GC_FLICKER_FILTER_1_4           0x40000000
612f29dbc25Smrg#define DC3_GC_FLICKER_FILTER_5_16          0x50000000
613f29dbc25Smrg#define DC3_GC_FLICKER_FILTER_MASK          0xF0000000
614f29dbc25Smrg#define DC3_GC_ALPHA_FLICK_ENABLE           0x02000000
615f29dbc25Smrg#define DC3_GC_FLICKER_FILTER_ENABLE        0x01000000
616f29dbc25Smrg#define DC3_GC_VIP_VID_OK                   0x00800000
617f29dbc25Smrg#define DC3_GC_GENLK_ACTIVE                 0x00400000
618f29dbc25Smrg#define DC3_GC_SKEW_WAIT                    0x00200000
619f29dbc25Smrg#define DC3_GC_VSYNC_WAIT                   0x00100000
620f29dbc25Smrg#define DC3_GC_GENLOCK_TO_ENABLE            0x00080000
621f29dbc25Smrg#define DC3_GC_GENLOCK_ENABLE               0x00040000
622f29dbc25Smrg#define DC3_GC_GENLOCK_SKEW_MASK            0x0003FFFF
623f29dbc25Smrg
624f29dbc25Smrg/* VGA DEFINITIONS */
625f29dbc25Smrg
626f29dbc25Smrg#define DC3_SEQUENCER_INDEX                 0x03C4
627f29dbc25Smrg#define DC3_SEQUENCER_DATA                  0x03C5
628f29dbc25Smrg#define DC3_SEQUENCER_RESET                 0x00
629f29dbc25Smrg#define DC3_SEQUENCER_CLK_MODE              0x01
630f29dbc25Smrg
631f29dbc25Smrg#define DC3_RESET_VGA_DISP_ENABLE           0x03
632f29dbc25Smrg#define DC3_CLK_MODE_SCREEN_OFF             0x20
633f29dbc25Smrg
634f29dbc25Smrg/* DOT CLOCK FREQUENCY STRUCTURE */
635f29dbc25Smrg/* Note that m, n and p refer to the register m, n and p  */
636f29dbc25Smrg/* and not the m, n and p from the PLL equation.  The PLL */
637f29dbc25Smrg/* equation adds 1 to each value.                         */
638f29dbc25Smrg
63904007ebaSmrgtypedef struct tagPLLFrequency {
640f29dbc25Smrg    unsigned long pll_value;
641f29dbc25Smrg    unsigned long frequency;
642f29dbc25Smrg
643f29dbc25Smrg} PLL_FREQUENCY;
644f29dbc25Smrg
645f29dbc25Smrg/* VG MSRS */
646f29dbc25Smrg
647f29dbc25Smrg#define DC3_SPARE_MSR                       0x2011
648f29dbc25Smrg#define DC3_RAM_CTL                         0x2012
649f29dbc25Smrg
650f29dbc25Smrg/* DC3_SPARE_MSR DEFINITIONS */
651f29dbc25Smrg
652f29dbc25Smrg#define DC3_SPARE_DISABLE_CFIFO_HGO         0x00000800
653f29dbc25Smrg#define DC3_SPARE_VFIFO_ARB_SELECT          0x00000400
654f29dbc25Smrg#define DC3_SPARE_WM_LPEN_OVRD              0x00000200
655f29dbc25Smrg#define DC3_SPARE_LOAD_WM_LPEN_MASK         0x00000100
656f29dbc25Smrg#define DC3_SPARE_DISABLE_INIT_VID_PRI      0x00000080
657f29dbc25Smrg#define DC3_SPARE_DISABLE_VFIFO_WM          0x00000040
658f29dbc25Smrg#define DC3_SPARE_DISABLE_CWD_CHECK         0x00000020
659f29dbc25Smrg#define DC3_SPARE_PIX8_PAN_FIX              0x00000010
660f29dbc25Smrg#define DC3_SPARE_FIRST_REQ_MASK            0x00000002
661f29dbc25Smrg
662f29dbc25Smrg/* VG DIAG DEFINITIONS */
663f29dbc25Smrg
664f29dbc25Smrg#define DC3_MBD_DIAG_EN0                    0x00008000
665f29dbc25Smrg#define DC3_MBD_DIAG_EN1                    0x80000000
666f29dbc25Smrg#define DC3_DIAG_DOT_CRTC_DP                0x00000082
667f29dbc25Smrg#define DC3_DIAG_DOT_CRTC_DP_HIGH           0x00820000
668f29dbc25Smrg#define DC3_DIAG_EVEN_FIELD                 0x00002000
669f29dbc25Smrg
670f29dbc25Smrg/*----------------------------------------------------------------*/
671f29dbc25Smrg/*                DISPLAY FILTER DEFINITIONS                      */
672f29dbc25Smrg/*----------------------------------------------------------------*/
673f29dbc25Smrg
674f29dbc25Smrg#define DF_VIDEO_CONFIG 		            0x00000000
675f29dbc25Smrg#define DF_DISPLAY_CONFIG                   0x00000008
676f29dbc25Smrg#define DF_VIDEO_X_POS                      0x00000010
677f29dbc25Smrg#define DF_VIDEO_Y_POS                      0x00000018
678f29dbc25Smrg#define DF_VIDEO_SCALER                     0x00000020
679f29dbc25Smrg#define DF_VIDEO_COLOR_KEY			        0x00000028
680f29dbc25Smrg#define DF_VIDEO_COLOR_MASK			        0x00000030
681f29dbc25Smrg#define DF_PALETTE_ADDRESS 			        0x00000038
682f29dbc25Smrg#define DF_PALETTE_DATA	 			        0x00000040
683f29dbc25Smrg#define DF_SATURATION_LIMIT                 0x00000048
684f29dbc25Smrg#define DF_VID_MISC					        0x00000050
685f29dbc25Smrg#define DF_VIDEO_YSCALE                     0x00000060
686f29dbc25Smrg#define DF_VIDEO_XSCALE                     0x00000068
687f29dbc25Smrg#define DF_VID_CRC                          0x00000088
688f29dbc25Smrg#define DF_VID_CRC32                        0x00000090
689f29dbc25Smrg#define DF_VID_ALPHA_CONTROL                0x00000098
690f29dbc25Smrg#define DF_CURSOR_COLOR_KEY                 0x000000A0
691f29dbc25Smrg#define DF_CURSOR_COLOR_MASK                0x000000A8
692f29dbc25Smrg#define DF_CURSOR_COLOR_1                   0x000000B0
693f29dbc25Smrg#define DF_CURSOR_COLOR_2                   0x000000B8
694f29dbc25Smrg#define DF_ALPHA_XPOS_1                     0x000000C0
695f29dbc25Smrg#define DF_ALPHA_YPOS_1                     0x000000C8
696f29dbc25Smrg#define DF_ALPHA_COLOR_1                    0x000000D0
697f29dbc25Smrg#define DF_ALPHA_CONTROL_1                  0x000000D8
698f29dbc25Smrg#define DF_ALPHA_XPOS_2                     0x000000E0
699f29dbc25Smrg#define DF_ALPHA_YPOS_2                     0x000000E8
700f29dbc25Smrg#define DF_ALPHA_COLOR_2                    0x000000F0
701f29dbc25Smrg#define DF_ALPHA_CONTROL_2                  0x000000F8
702f29dbc25Smrg#define DF_ALPHA_XPOS_3                     0x00000100
703f29dbc25Smrg#define DF_ALPHA_YPOS_3                     0x00000108
704f29dbc25Smrg#define DF_ALPHA_COLOR_3                    0x00000110
705f29dbc25Smrg#define DF_ALPHA_CONTROL_3                  0x00000118
706f29dbc25Smrg#define DF_VIDEO_REQUEST                    0x00000120
707f29dbc25Smrg#define DF_ALPHA_WATCH                      0x00000128
708f29dbc25Smrg#define DF_VIDEO_TEST_MODE                  0x00000130
709f29dbc25Smrg#define DF_VID_YPOS_EVEN                    0x00000138
710f29dbc25Smrg#define DF_VID_ALPHA_Y_EVEN_1               0x00000140
711f29dbc25Smrg#define DF_VID_ALPHA_Y_EVEN_2               0x00000148
712f29dbc25Smrg#define DF_VID_ALPHA_Y_EVEN_3               0x00000150
713f29dbc25Smrg#define DF_VIDEO_PANEL_TIM1                 0x00000400
714f29dbc25Smrg#define DF_VIDEO_PANEL_TIM2                 0x00000408
715f29dbc25Smrg#define DF_POWER_MANAGEMENT                 0x00000410
716f29dbc25Smrg#define DF_DITHER_CONTROL                   0x00000418
717f29dbc25Smrg#define DF_DITHER_ACCESS                    0x00000448
718f29dbc25Smrg#define DF_DITHER_DATA                      0x00000450
719f29dbc25Smrg#define DF_PANEL_CRC                        0x00000458
720f29dbc25Smrg#define DF_PANEL_CRC32                      0x00000468
721f29dbc25Smrg#define DF_COEFFICIENT_BASE                 0x00001000
722f29dbc25Smrg
723f29dbc25Smrg/* DF_VIDEO_CONFIG BIT DEFINITIONS */
724f29dbc25Smrg
725f29dbc25Smrg#define DF_VCFG_VID_EN                      0x00000001
726f29dbc25Smrg#define DF_VCFG_VID_INP_FORMAT              0x0000000C
727f29dbc25Smrg#define DF_VCFG_SC_BYP                      0x00000020
728f29dbc25Smrg#define DF_VCFG_LINE_SIZE_LOWER_MASK        0x0000FF00
729f29dbc25Smrg#define DF_VCFG_INIT_READ_MASK              0x01FF0000
730f29dbc25Smrg#define DF_VCFG_LINE_SIZE_BIT8              0x08000000
731f29dbc25Smrg#define DF_VCFG_LINE_SIZE_BIT9              0x04000000
732f29dbc25Smrg#define DF_VCFG_4_2_0_MODE                  0x10000000
733f29dbc25Smrg#define DF_VCFG_UYVY_FORMAT                 0x00000000
734f29dbc25Smrg#define DF_VCFG_Y2YU_FORMAT                 0x00000004
735f29dbc25Smrg#define DF_VCFG_YUYV_FORMAT                 0x00000008
736f29dbc25Smrg#define DF_VCFG_YVYU_FORMAT                 0x0000000C
737f29dbc25Smrg
738f29dbc25Smrg/* DF_DISPLAY_CONFIG BIT DEFINITIONS */
739f29dbc25Smrg
740f29dbc25Smrg#define DF_DCFG_DIS_EN                      0x00000001
741f29dbc25Smrg#define DF_DCFG_HSYNC_EN                    0x00000002
742f29dbc25Smrg#define DF_DCFG_VSYNC_EN                    0x00000004
743f29dbc25Smrg#define DF_DCFG_DAC_BL_EN                   0x00000008
744f29dbc25Smrg#define DF_DCFG_CRT_HSYNC_POL               0x00000100
745f29dbc25Smrg#define DF_DCFG_CRT_VSYNC_POL               0x00000200
746f29dbc25Smrg#define DF_DCFG_CRT_SYNC_SKW_MASK           0x0001C000
747f29dbc25Smrg#define DF_DCFG_CRT_SYNC_SKW_INIT           0x00010000
748f29dbc25Smrg#define DF_DCFG_PWR_SEQ_DLY_MASK            0x000E0000
749f29dbc25Smrg#define DF_DCFG_PWR_SEQ_DLY_INIT            0x00080000
750f29dbc25Smrg#define DF_DCFG_VG_CK                       0x00100000
751f29dbc25Smrg#define DF_DCFG_GV_PAL_BYP                  0x00200000
752f29dbc25Smrg#define DF_DAC_VREF                         0x04000000
753f29dbc25Smrg
754f29dbc25Smrg/* DF_VID_MISC BIT DEFINITIONS */
755f29dbc25Smrg
756f29dbc25Smrg#define DF_GAMMA_BYPASS_BOTH                0x00000001
757f29dbc25Smrg#define DF_DAC_POWER_DOWN                   0x00000400
758f29dbc25Smrg#define DF_ANALOG_POWER_DOWN                0x00000800
759f29dbc25Smrg#define DF_USER_IMPLICIT_SCALING            0x00001000
760f29dbc25Smrg
761f29dbc25Smrg/* DF_VID_ALPHA_CONTROL DEFINITIONS */
762f29dbc25Smrg
763f29dbc25Smrg#define DF_HD_VIDEO                         0x00000040
764f29dbc25Smrg#define DF_YUV_CSC_EN                       0x00000080
765f29dbc25Smrg#define DF_NO_CK_OUTSIDE_ALPHA              0x00000100
766f29dbc25Smrg#define DF_HD_GRAPHICS                      0x00000200
767f29dbc25Smrg#define DF_CSC_VIDEO_YUV_TO_RGB             0x00000400
768f29dbc25Smrg#define DF_CSC_GRAPHICS_RGB_TO_YUV          0x00000800
769f29dbc25Smrg#define DF_CSC_VOP_RGB_TO_YUV               0x00001000
770f29dbc25Smrg#define DF_VIDEO_INPUT_IS_RGB               0x00002000
771f29dbc25Smrg#define DF_VID_ALPHA_EN                     0x00004000
772f29dbc25Smrg#define DF_ALPHA_DRGB                       0x00008000
773f29dbc25Smrg
774f29dbc25Smrg/* VIDEO CURSOR COLOR KEY DEFINITIONS */
775f29dbc25Smrg
776f29dbc25Smrg#define DF_CURSOR_COLOR_KEY_ENABLE          0x20000000
777f29dbc25Smrg
778f29dbc25Smrg/* ALPHA COLOR BIT DEFINITION */
779f29dbc25Smrg
780f29dbc25Smrg#define DF_ALPHA_COLOR_ENABLE               0x01000000
781f29dbc25Smrg
782f29dbc25Smrg/* ALPHA CONTROL BIT DEFINITIONS */
783f29dbc25Smrg
784f29dbc25Smrg#define DF_ACTRL_WIN_ENABLE                 0x00010000
785f29dbc25Smrg#define DF_ACTRL_LOAD_ALPHA	                0x00020000
786f29dbc25Smrg#define DF_ACTRL_PERPIXEL_EN                0x00040000
787f29dbc25Smrg
788f29dbc25Smrg/* DF_VIDEO_SCALER DEFINITIONS */
789f29dbc25Smrg
790f29dbc25Smrg#define DF_SCALE_128_PHASES                 0x00002000
791f29dbc25Smrg#define DF_SCALE_DOUBLE_H_DOWNSCALE         0x00004000
792f29dbc25Smrg
793f29dbc25Smrg/* DEFAULT PANEL TIMINGS DEFINITIONS */
794f29dbc25Smrg
795f29dbc25Smrg#define DF_DEFAULT_TFT_PMTIM1               0x00000000
796f29dbc25Smrg#define DF_DEFAULT_XVGA_PMTIM1              0x00000000
797f29dbc25Smrg#define DF_DEFAULT_TFT_PMTIM2               0x08C00000
798f29dbc25Smrg#define DF_DEFAULT_XVGA_PMTIM2              0x08C10000
799f29dbc25Smrg#define DF_DEFAULT_TFT_PAD_SEL_LOW          0xDFFFFFFF
800f29dbc25Smrg#define DF_DEFAULT_TFT_PAD_SEL_HIGH         0x0000003F
801f29dbc25Smrg#define DF_DEFAULT_XVGA_PAD_SEL_LOW         0x00000000
802f29dbc25Smrg#define DF_DEFAULT_XVGA_PAD_SEL_HIGH        0x00000000
803f29dbc25Smrg#define DF_DEFAULT_DITHCTL                  0x00000070
804f29dbc25Smrg#define DF_DEFAULT_TV_PAD_SEL_HIGH          0x000000BF
805f29dbc25Smrg#define DF_DEFAULT_TV_PAD_SEL_LOW           0xDFFFFFFF
806f29dbc25Smrg#define DF_INVERT_VOP_CLOCK                 0x00000080
807f29dbc25Smrg
808f29dbc25Smrg/* DF_VIDEO_PANEL_TIM2 DEFINITIONS */
809f29dbc25Smrg
810f29dbc25Smrg#define DF_PMTIM2_TFT_PASSHTHROUGH          0x40000000
811f29dbc25Smrg
812f29dbc25Smrg/* DF_POWER_MANAGEMENT DEFINITIONS */
813f29dbc25Smrg
814f29dbc25Smrg#define DF_PM_PANEL_ON                      0x01000000
815f29dbc25Smrg#define DF_PM_INVERT_SHFCLK                 0x00002000
816f29dbc25Smrg
817f29dbc25Smrg/* DISPLAY FILTER MSRS */
818f29dbc25Smrg
819f29dbc25Smrg#define DF_MBD_MSR_DIAG_DF                  0x2010
820f29dbc25Smrg#define DF_MSR_PAD_SEL                      0x2011
821f29dbc25Smrg#define DF_DIAG_32BIT_CRC                   0x80000000
822f29dbc25Smrg
823f29dbc25Smrg#define DF_OUTPUT_CRT                       0x00000000
824f29dbc25Smrg#define DF_OUTPUT_PANEL                     0x00000008
825f29dbc25Smrg#define DF_OUTPUT_VOP                       0x00000030
826f29dbc25Smrg#define DF_OUTPUT_DRGB                      0x00000038
827f29dbc25Smrg#define DF_SIMULTANEOUS_CRT_FP              0x00008000
828f29dbc25Smrg#define DF_CONFIG_OUTPUT_MASK               0x00000038
829f29dbc25Smrg
830f29dbc25Smrg/*----------------------------------------------------------------*/
831f29dbc25Smrg/*                       MSR DEFINITIONS                          */
832f29dbc25Smrg/*----------------------------------------------------------------*/
833f29dbc25Smrg
834f29dbc25Smrg/*----------------------------*/
83579d5fcd7Smrg/* STATIC GEODELINK ADDRESSES */
836f29dbc25Smrg/*----------------------------*/
837f29dbc25Smrg
838f29dbc25Smrg#define MSR_ADDRESS_GLIU0                   0x10000000
839f29dbc25Smrg#define MSR_ADDRESS_GLIU1                   0x40000000
840f29dbc25Smrg#define MSR_ADDRESS_GLIU2                   0x51010000
841f29dbc25Smrg#define MSR_ADDRESS_5535MPCI                0x51000000
842f29dbc25Smrg#define MSR_ADDRESS_VAIL                    0x00000000
843f29dbc25Smrg
844f29dbc25Smrg/*----------------------------*/
845f29dbc25Smrg/* UNIVERSAL DEVICE MSRS      */
846f29dbc25Smrg/*----------------------------*/
847f29dbc25Smrg
848f29dbc25Smrg#define MSR_GEODELINK_CAP                   0x2000
849f29dbc25Smrg#define MSR_GEODELINK_CONFIG                0x2001
850f29dbc25Smrg#define MSR_GEODELINK_SMI                   0x2002
851f29dbc25Smrg#define MSR_GEODELINK_ERROR                 0x2003
852f29dbc25Smrg#define MSR_GEODELINK_PM                    0x2004
853f29dbc25Smrg#define MSR_GEODELINK_DIAG                  0x2005
854f29dbc25Smrg
855f29dbc25Smrg/*----------------------------*/
856f29dbc25Smrg/* DEVICE CLASS CODES         */
857f29dbc25Smrg/*----------------------------*/
858f29dbc25Smrg
859f29dbc25Smrg#define MSR_CLASS_CODE_GLIU                 0x01
860f29dbc25Smrg#define MSR_CLASS_CODE_GLCP                 0x02
861f29dbc25Smrg#define MSR_CLASS_CODE_MPCI                 0x05
862f29dbc25Smrg#define MSR_CLASS_CODE_MC                   0x20
863f29dbc25Smrg#define MSR_CLASS_CODE_GP                   0x3D
864f29dbc25Smrg#define MSR_CLASS_CODE_VG                   0x3E
865f29dbc25Smrg#define MSR_CLASS_CODE_DF                   0x3F
866f29dbc25Smrg#define MSR_CLASS_CODE_FG                   0xF0
867f29dbc25Smrg#define MSR_CLASS_CODE_VAIL                 0x86
868f29dbc25Smrg#define MSR_CLASS_CODE_USB                  0x42
869f29dbc25Smrg#define MSR_CLASS_CODE_USB2                 0x43
870f29dbc25Smrg#define MSR_CLASS_CODE_ATAC	                0x47
871f29dbc25Smrg#define MSR_CLASS_CODE_MDD 	                0xDF
872f29dbc25Smrg#define MSR_CLASS_CODE_ACC 	                0x33
873f29dbc25Smrg#define MSR_CLASS_CODE_AES                  0x30
874f29dbc25Smrg#define MSR_CLASS_CODE_VIP                  0x3C
875f29dbc25Smrg#define MSR_CLASS_CODE_REFLECTIVE           0xFFF
876f29dbc25Smrg#define MSR_CLASS_CODE_UNPOPULATED          0x7FF
877f29dbc25Smrg
878f29dbc25Smrg/*----------------------------*/
879f29dbc25Smrg/*   GLIU MSR DEFINITIONS     */
880f29dbc25Smrg/*----------------------------*/
881f29dbc25Smrg
882f29dbc25Smrg#define MSR_GLIU_CAP                        0x0086
883f29dbc25Smrg#define MSR_GLIU_WHOAMI			            0x008B
884f29dbc25Smrg
885f29dbc25Smrg#define NUM_PORTS_MASK                      0x00380000
886f29dbc25Smrg#define NUM_PORTS_SHIFT                     19
887f29dbc25Smrg#define WHOAMI_MASK			                0x07
888f29dbc25Smrg
889f29dbc25Smrg/*----------------------------*/
890f29dbc25Smrg/*   GLCP MSR DEFINITIONS     */
891f29dbc25Smrg/*----------------------------*/
892f29dbc25Smrg
893f29dbc25Smrg#define GLCP_CLKOFF                         0x0010
894f29dbc25Smrg#define GLCP_CLKACTIVE                      0x0011
895f29dbc25Smrg#define GLCP_CLKDISABLE                     0x0012
896f29dbc25Smrg#define GLCP_CLK4ACK                        0x0013
897f29dbc25Smrg#define GLCP_SYS_RSTPLL                     0x0014
898f29dbc25Smrg#define GLCP_DOTPLL                         0x0015
899f29dbc25Smrg#define GLCP_DBGCLKCTL                      0x0016
900f29dbc25Smrg#define GLCP_REVID                          0x0017
901f29dbc25Smrg#define GLCP_RAW_DIAG                       0x0028
902f29dbc25Smrg#define GLCP_SETM0CTL                       0x0040
903f29dbc25Smrg#define GLCP_SETN0CTL                       0x0048
904f29dbc25Smrg#define GLCP_CMPVAL0                        0x0050
905f29dbc25Smrg#define GLCP_CMPMASK0                       0x0051
906f29dbc25Smrg#define GLCP_REGA                           0x0058
907f29dbc25Smrg#define GLCP_REGB                           0x0059
908f29dbc25Smrg#define GLCP_REGAMASK                       0x005A
909f29dbc25Smrg#define GLCP_REGAVAL                        0x005B
910f29dbc25Smrg#define GLCP_REGBMASK                       0x005C
911f29dbc25Smrg#define GLCP_REGBVAL                        0x005D
912f29dbc25Smrg#define GLCP_FIFOCTL                        0x005E
913f29dbc25Smrg#define GLCP_DIAGCTL                        0x005F
914f29dbc25Smrg#define GLCP_H0CTL                          0x0060
915f29dbc25Smrg#define GLCP_XSTATE                         0x0066
916f29dbc25Smrg#define GLCP_YSTATE                         0x0067
917f29dbc25Smrg#define GLCP_ACTION0                        0x0068
918f29dbc25Smrg
919f29dbc25Smrg/* GLCP_DOTPLL DEFINITIONS */
920f29dbc25Smrg
921f29dbc25Smrg#define GLCP_DOTPLL_RESET                   0x00000001
922f29dbc25Smrg#define GLCP_DOTPLL_BYPASS                  0x00008000
923f29dbc25Smrg#define GLCP_DOTPLL_HALFPIX                 0x01000000
924f29dbc25Smrg#define GLCP_DOTPLL_LOCK                    0x02000000
925f29dbc25Smrg#define GLCP_DOTPLL_VIPCLK                  0x00008000
926f29dbc25Smrg#define GLCP_DOTPLL_DIV4                    0x00010000
927f29dbc25Smrg
928f29dbc25Smrg/* GLCP DIAG DEFINITIONS */
929f29dbc25Smrg
930f29dbc25Smrg#define GLCP_MBD_DIAG_SEL0                  0x00000007
931f29dbc25Smrg#define GLCP_MBD_DIAG_EN0                   0x00008000
932f29dbc25Smrg#define GLCP_MBD_DIAG_SEL1                  0x00070000
933f29dbc25Smrg#define GLCP_MBD_DIAG_EN1                   0x80000000
934f29dbc25Smrg
935f29dbc25Smrg/*--------------------------------*/
936f29dbc25Smrg/* DISPLAY FILTER MSR DEFINITIONS */
937f29dbc25Smrg/*--------------------------------*/
938f29dbc25Smrg
939f29dbc25Smrg/* DISPLAY FILTER MBD_MSR_DIAG DEFINITIONS */
940f29dbc25Smrg
941f29dbc25Smrg#define DF_MBD_DIAG_SEL0                    0x00007FFF
942f29dbc25Smrg#define DF_MBD_DIAG_EN0                     0x00008000
943f29dbc25Smrg#define DF_MBD_DIAG_SEL1                    0x7FFF0000
944f29dbc25Smrg#define DF_MBD_DIAG_EN1                     0x80000000
945f29dbc25Smrg
946f29dbc25Smrg/* DISPLAY FILTER MBD_MSR_CONFIG DEFINITIONS */
947f29dbc25Smrg
948f29dbc25Smrg#define DF_CONFIG_FMT_MASK                  0x00000038
949f29dbc25Smrg#define DF_CONFIG_FMT_CRT                   0x00000000
950f29dbc25Smrg#define DF_CONFIG_FMT_FP                    0x00000008
951f29dbc25Smrg
952f29dbc25Smrg/*----------------------------------------------------------------*/
953f29dbc25Smrg/*                       PCI DEFINITIONS                          */
954f29dbc25Smrg/*----------------------------------------------------------------*/
955f29dbc25Smrg
956f29dbc25Smrg#define PCI_VENDOR_DEVICE_GEODEGX           0x0028100B
957f29dbc25Smrg#define PCI_VENDOR_DEVICE_GEODEGX_VIDEO     0x0030100B
958f29dbc25Smrg#define PCI_VENDOR_DEVICE_GEODELX           0x20801022
959f29dbc25Smrg#define PCI_VENDOR_DEVICE_GEODELX_VIDEO     0x20811022
960f29dbc25Smrg#define PCI_VENDOR_5535                     0x002B100B
961f29dbc25Smrg#define PCI_VENDOR_5536                     0x20901022
962f29dbc25Smrg
963f29dbc25Smrg/*----------------------------------------------------------------*/
964f29dbc25Smrg/*                       VIP DEFINITIONS                          */
965f29dbc25Smrg/*----------------------------------------------------------------*/
966f29dbc25Smrg
967f29dbc25Smrg#define VIP_CONTROL1                        0x00000000
968f29dbc25Smrg#define VIP_CONTROL2                        0x00000004
969f29dbc25Smrg#define VIP_STATUS                          0x00000008
970f29dbc25Smrg#define VIP_INTERRUPT                       0x0000000C
971f29dbc25Smrg#define VIP_CURRENT_TARGET                  0x00000010
972f29dbc25Smrg#define VIP_MAX_ADDRESS                     0x00000014
973f29dbc25Smrg#define	VIP_TASKA_VID_EVEN_BASE             0x00000018
974f29dbc25Smrg#define	VIP_TASKA_VID_ODD_BASE              0x0000001C
975f29dbc25Smrg#define	VIP_TASKA_VBI_EVEN_BASE             0x00000020
976f29dbc25Smrg#define	VIP_TASKA_VBI_ODD_BASE              0x00000024
977f29dbc25Smrg#define VIP_TASKA_VID_PITCH                 0x00000028
978f29dbc25Smrg#define VIP_CONTROL3                        0x0000002C
979f29dbc25Smrg#define VIP_TASKA_V_OFFSET                  0x00000030
980f29dbc25Smrg#define VIP_TASKA_U_OFFSET                  0x00000034
981f29dbc25Smrg#define	VIP_TASKB_VID_EVEN_BASE             0x00000038
982f29dbc25Smrg#define VIP_601_HORZ_END                    0x00000038
983f29dbc25Smrg#define	VIP_TASKB_VID_ODD_BASE              0x0000003C
984f29dbc25Smrg#define	VIP_601_HORZ_START                  0x0000003C
985f29dbc25Smrg#define	VIP_TASKB_VBI_EVEN_BASE             0x00000040
986f29dbc25Smrg#define	VIP_601_VBI_END                     0x00000040
987f29dbc25Smrg#define	VIP_TASKB_VBI_ODD_BASE              0x00000044
988f29dbc25Smrg#define	VIP_601_VBI_START                   0x00000044
989f29dbc25Smrg#define VIP_TASKB_VID_PITCH                 0x00000048
990f29dbc25Smrg#define VIP_601_EVEN_START_STOP             0x00000048
991f29dbc25Smrg#define VIP_TASKB_V_OFFSET                  0x00000050
992f29dbc25Smrg#define VIP_ODD_FIELD_DETECT                0x00000050
993f29dbc25Smrg#define VIP_TASKB_U_OFFSET                  0x00000054
994f29dbc25Smrg#define	VIP_ANC_MSG1_BASE                   0x00000058
995f29dbc25Smrg#define	VIP_ANC_MSG2_BASE                   0x0000005C
996f29dbc25Smrg#define	VIP_ANC_MSG_SIZE                    0x00000060
997f29dbc25Smrg#define VIP_PAGE_OFFSET                     0x00000068
998f29dbc25Smrg#define VIP_VERTICAL_START_STOP             0x0000006C
999f29dbc25Smrg#define VIP_601_ODD_START_STOP              0x0000006C
1000f29dbc25Smrg#define VIP_FIFO_ADDRESS                    0x00000070
1001f29dbc25Smrg#define VIP_FIFO_DATA                       0x00000074
1002f29dbc25Smrg#define VIP_VSYNC_ERR_COUNT                 0x00000078
1003f29dbc25Smrg#define VIP_TASKA_U_EVEN_OFFSET             0x0000007C
1004f29dbc25Smrg#define VIP_TASKA_V_EVEN_OFFSET             0x00000080
1005f29dbc25Smrg
1006f29dbc25Smrg/* INDIVIDUAL REGISTER BIT DEFINITIONS                          */
1007f29dbc25Smrg/* Multibit register subsets are expressed as a mask and shift. */
1008f29dbc25Smrg/* Single bit values are represented as a mask.                 */
1009f29dbc25Smrg
1010f29dbc25Smrg/* VIP_CONTROL1 REGISTER DEFINITIONS */
1011f29dbc25Smrg
1012f29dbc25Smrg#define VIP_CONTROL1_DEFAULT_ANC_FF         2
1013f29dbc25Smrg#define VIP_CONTROL1_ANC_FF_MASK            0xE0000000
1014f29dbc25Smrg#define VIP_CONTROL1_ANC_FF_SHIFT           29
1015f29dbc25Smrg
1016f29dbc25Smrg#define VIP_CONTROL1_DEFAULT_VID_FF         2
1017f29dbc25Smrg#define VIP_CONTROL1_VID_FF_MASK            0x1F000000
1018f29dbc25Smrg#define VIP_CONTROL1_VID_FF_SHIFT           24
1019f29dbc25Smrg
1020f29dbc25Smrg#define VIP_CONTROL1_VDE_FF_MASK            0x00F00000
1021f29dbc25Smrg#define VIP_CONTROL1_VDE_FF_SHIFT           20
1022f29dbc25Smrg
1023f29dbc25Smrg#define VIP_CONTROL1_NON_INTERLACED         (1L << 19)
1024f29dbc25Smrg#define VIP_CONTROL1_MSG_STRM_CTRL          (1L << 18)
1025f29dbc25Smrg#define VIP_CONTROL1_DISABLE_ZERO_DETECT    (1L << 17)
1026f29dbc25Smrg#define VIP_CONTROL1_DISABLE_DECIMATION     (1L << 16)
1027f29dbc25Smrg
1028f29dbc25Smrg#define VIP_CONTROL1_CAPTURE_ENABLE_MASK    0x0000FF00
1029f29dbc25Smrg#define VIP_CONTROL1_CAPTURE_ENABLE_SHIFT   8
1030f29dbc25Smrg
1031f29dbc25Smrg#define VIP_CONTROL1_RUNMODE_MASK           0x000000E0
1032f29dbc25Smrg#define VIP_CONTROL1_RUNMODE_SHIFT          5
1033f29dbc25Smrg
1034f29dbc25Smrg#define VIP_CONTROL1_PLANAR                 (1L << 4)
1035f29dbc25Smrg
1036f29dbc25Smrg#define VIP_CONTROL1_MODE_MASK              0x0000000E
1037f29dbc25Smrg#define VIP_CONTROL1_MODE_SHIFT             1
1038f29dbc25Smrg
1039f29dbc25Smrg#define VIP_CONTROL1_RESET                  0x00000001
1040f29dbc25Smrg
1041f29dbc25Smrg/* VIP_CONTROL2 REGISTER DEFINITIONS */
1042f29dbc25Smrg
1043f29dbc25Smrg#define VIP_CONTROL2_INVERT_POLARITY        (1L << 31)
1044f29dbc25Smrg#define VIP_CONTROL2_ADD_ERROR_ENABLE       (1L << 30)
1045f29dbc25Smrg#define VIP_CONTROL2_REPEAT_ENABLE          (1L << 29)
1046f29dbc25Smrg#define VIP_CONTROL2_SWC_ENABLE             (1L << 28)
1047f29dbc25Smrg#define VIP_CONTROL2_ANC10                  (1L << 27)
1048f29dbc25Smrg#define VIP_CONTROL2_ANCPEN                 (1L << 26)
1049f29dbc25Smrg#define VIP_CONTROL2_LOOPBACK_ENABLE        (1L << 25)
1050f29dbc25Smrg#define VIP_CONTROL2_FIFO_ACCESS            (1L << 24)
1051f29dbc25Smrg#define VIP_CONTROL2_VERTERROR_ENABLE       (1L << 15)
1052f29dbc25Smrg
1053f29dbc25Smrg#define VIP_CONTROL2_PAGECNT_MASK           0x00E00000
1054f29dbc25Smrg#define VIP_CONTROL2_PAGECNT_SHIFT          21
1055f29dbc25Smrg
1056f29dbc25Smrg#define VIP_CONTROL2_DEFAULT_ANCTH          5
1057f29dbc25Smrg#define VIP_CONTROL2_ANCTH_MASK             0x001F0000
1058f29dbc25Smrg#define VIP_CONTROL2_ANCTH_SHIFT            16
1059f29dbc25Smrg
1060f29dbc25Smrg#define VIP_CONTROL2_DEFAULT_VIDTH_420      19
1061f29dbc25Smrg#define VIP_CONTROL2_DEFAULT_VIDTH_422      19
1062f29dbc25Smrg#define VIP_CONTROL2_VIDTH_MASK             0x00007F00
1063f29dbc25Smrg#define VIP_CONTROL2_VIDTH_SHIFT            8
1064f29dbc25Smrg
1065f29dbc25Smrg#define VIP_CONTROL2_SYNC2PIN_MASK          0x000000E0
1066f29dbc25Smrg#define VIP_CONTROL2_SYNC2PIN_SHIFT         5
1067f29dbc25Smrg
1068f29dbc25Smrg#define VIP_CONTROL2_FIELD2VG_MASK          0x00000018
1069f29dbc25Smrg#define VIP_CONTROL2_FIELD2VG_SHIFT         3
1070f29dbc25Smrg
1071f29dbc25Smrg#define VIP_CONTROL2_SYNC2VG_MASK           0x00000007
1072f29dbc25Smrg#define VIP_CONTROL2_SYNC2VG_SHIFT          0
1073f29dbc25Smrg
1074f29dbc25Smrg/* VIP_CONTROL3 REGISTER DEFINITIONS */
1075f29dbc25Smrg
1076f29dbc25Smrg#define VIP_CONTROL3_PLANAR_DEINT           0x00000400
1077f29dbc25Smrg#define VIP_CONTROL3_BASE_UPDATE            0x00000200
1078f29dbc25Smrg#define VIP_CONTROL3_DISABLE_OVERFLOW       0x00000100
1079f29dbc25Smrg#define VIP_CONTROL3_DECIMATE_EVEN          0x00000080
1080f29dbc25Smrg#define VIP_CONTROL3_TASK_POLARITY          0x00000040
1081f29dbc25Smrg#define VIP_CONTROL3_VSYNC_POLARITY         0x00000020
1082f29dbc25Smrg#define VIP_CONTROL3_HSYNC_POLARITY         0x00000010
1083f29dbc25Smrg#define VIP_CONTROL3_FIFO_RESET             0x00000001
1084f29dbc25Smrg
1085f29dbc25Smrg/* VIP_STATUS REGISTER DEFINITIONS */
1086f29dbc25Smrg
1087f29dbc25Smrg#define VIP_STATUS_ANC_COUNT_MASK           0xFF000000
1088f29dbc25Smrg#define VIP_STATUS_ANC_COUNT_SHIFT          24
1089f29dbc25Smrg
1090f29dbc25Smrg#define VIP_STATUS_FIFO_ERROR               0x00700000
1091f29dbc25Smrg#define VIP_STATUS_ERROR_SHIFT              20
1092f29dbc25Smrg#define VIP_STATUS_DEC_COUNT                (1L << 18)
1093f29dbc25Smrg#define VIP_STATUS_SYNCOUT                  (1L << 17)
1094f29dbc25Smrg#define VIP_STATUS_BASEREG_NOTUPDT          (1L << 16)
1095f29dbc25Smrg#define VIP_STATUS_MSGBUFF_ERR              (1L << 14)
1096f29dbc25Smrg#define VIP_STATUS_MSGBUFF2_FULL            (1L << 13)
1097f29dbc25Smrg#define VIP_STATUS_MSGBUFF1_FULL            (1L << 12)
1098f29dbc25Smrg#define VIP_STATUS_WRITES_COMPLETE          (1L << 9)
1099f29dbc25Smrg#define VIP_STATUS_FIFO_EMPTY               (1L << 8)
1100f29dbc25Smrg#define VIP_STATUS_FIELD                    (1L << 4)
1101f29dbc25Smrg#define VIP_STATUS_VBLANK                   (1L << 3)
1102f29dbc25Smrg
1103f29dbc25Smrg#define VIP_STATUS_RUN_MASK                 0x00000007
1104f29dbc25Smrg#define VIP_STATUS_RUN_SHIFT                0
1105f29dbc25Smrg
1106f29dbc25Smrg/* VIP_CURRENT_TARGET REGISTER DEFINITIONS */
1107f29dbc25Smrg
1108f29dbc25Smrg#define VIP_CTARGET_TLINE_MASK              0xFFFF0000
1109f29dbc25Smrg#define VIP_CTARGET_TLINE_SHIFT             16
1110f29dbc25Smrg
1111f29dbc25Smrg#define VIP_CTARGET_CLINE_MASK              0x0000FFFF
1112f29dbc25Smrg#define VIP_CTARGET_CLINE_SHIFT             0
1113f29dbc25Smrg
1114f29dbc25Smrg/* VIP_MAX_ADDRESS REGISTER DEFINITIONS */
1115f29dbc25Smrg
1116f29dbc25Smrg#define VIP_MAXADDR_MASK                    0xFFFFFFFF
1117f29dbc25Smrg#define VIP_MAXADDR_SHIFT                   0
1118f29dbc25Smrg
1119f29dbc25Smrg/* VIP BUFFER PITCH DEFINITIONS */
1120f29dbc25Smrg
1121f29dbc25Smrg#define VIP_TASK_PITCH_MASK                 0x0000FFFF
1122f29dbc25Smrg#define VIP_TASK_PITCH_SHIFT                0
1123f29dbc25Smrg
1124f29dbc25Smrg/* VERTICAL START/STOP */
1125f29dbc25Smrg
1126f29dbc25Smrg#define VIP_VSTART_VERTEND_MASK             0x0FFF0000
1127f29dbc25Smrg#define VIP_VSTART_VERTEND_SHIFT            16
1128f29dbc25Smrg
1129f29dbc25Smrg#define VIP_VSTART_VERTSTART_MASK           0x00000FFF
1130f29dbc25Smrg#define VIP_VSTART_VERTSTART_SHIFT          0
1131f29dbc25Smrg
1132f29dbc25Smrg/* VIP FIFO ADDRESS DEFINITIONS */
1133f29dbc25Smrg
1134f29dbc25Smrg#define VIP_FIFO_ADDRESS_MASK               0x000000FF
1135f29dbc25Smrg#define VIP_FIFO_ADDRESS_SHIFT              0
1136f29dbc25Smrg
1137f29dbc25Smrg/* VIP VSYNC ERROR DEFINITIONS */
1138f29dbc25Smrg
1139f29dbc25Smrg#define VIP_VSYNC_ERR_WINDOW_MASK           0xFF000000
1140f29dbc25Smrg#define VIP_VSYNC_ERR_WINDOW_SHIFT          24
1141f29dbc25Smrg
1142f29dbc25Smrg#define VIP_VSYNC_ERR_COUNT_MASK            0x00FFFFFF
1143f29dbc25Smrg#define VIP_VSYNC_ERR_COUNT_SHIFT           0
1144f29dbc25Smrg
1145f29dbc25Smrg/*---------------------*/
1146f29dbc25Smrg/* VIP MSR DEFINITIONS */
1147f29dbc25Smrg/*---------------------*/
1148f29dbc25Smrg
1149f29dbc25Smrg/* CAPABILITIES */
1150f29dbc25Smrg
1151f29dbc25Smrg#define VIP_MSR_CAP_NSMI_MASK               0xF8000000
1152f29dbc25Smrg#define VIP_MSR_CAP_NSMI_SHIFT              27
1153f29dbc25Smrg#define VIP_MSR_CAP_NCLK_MASK               0x07000000
1154f29dbc25Smrg#define VIP_MSR_CAP_NCLK_SHIFT              24
1155f29dbc25Smrg#define VIP_MSR_CAP_DEVID_MASK              0x00FFFF00
1156f29dbc25Smrg#define VIP_MSR_CAP_DEVID_SHIFT             8
1157f29dbc25Smrg#define VIP_MSR_CAP_REVID_MASK              0x000000FF
1158f29dbc25Smrg#define VIP_MSR_CAP_REVID_SHIFT             0
1159f29dbc25Smrg
1160f29dbc25Smrg/* MASTER CONFIG */
1161f29dbc25Smrg
1162f29dbc25Smrg#define VIP_MSR_MCR_SECOND_PRIORITY_MASK    0x00000700
1163f29dbc25Smrg#define VIP_MSR_MCR_SECOND_PRIORITY_SHIFT   8
1164f29dbc25Smrg#define VIP_MSR_MCR_PRIMARY_PRIORITY_MASK   0x00000070
1165f29dbc25Smrg#define VIP_MSR_MCR_PRIMARY_PRIORITY_SHIFT  4
1166f29dbc25Smrg#define VIP_MSR_MCR_PID_MASK                0x00000007
1167f29dbc25Smrg#define VIP_MSR_MCR_PID_SHIFT               0
1168f29dbc25Smrg
1169f29dbc25Smrg/* VIP SMI */
1170f29dbc25Smrg
1171f29dbc25Smrg#define VIP_MSR_SMI_FIFO_OVERFLOW           (1L << 29)
1172f29dbc25Smrg#define VIP_MSR_SMI_FIFO_THRESHOLD          (1L << 28)
1173f29dbc25Smrg#define VIP_MSR_SMI_LONGLINE                (1L << 27)
1174f29dbc25Smrg#define VIP_MSR_SMI_VERTICAL_TIMING         (1L << 26)
1175f29dbc25Smrg#define VIP_MSR_SMI_ACTIVE_PIXELS           (1L << 25)
1176f29dbc25Smrg#define VIP_MSR_SMI_CLOCK_INPUT             (1L << 24)
1177f29dbc25Smrg#define VIP_MSR_SMI_ANC_CHECKSUM_PARITY     (1L << 23)
1178f29dbc25Smrg#define VIP_MSR_SMI_MSG_BUFFER_FULL         (1L << 22)
1179f29dbc25Smrg#define VIP_MSR_SMI_END_VBLANK              (1L << 21)
1180f29dbc25Smrg#define VIP_MSR_SMI_START_VBLANK            (1L << 20)
1181f29dbc25Smrg#define VIP_MSR_SMI_START_EVEN              (1L << 19)
1182f29dbc25Smrg#define VIP_MSR_SMI_START_ODD               (1L << 18)
1183f29dbc25Smrg#define VIP_MSR_SMI_LINE_MATCH_TARGET       (1L << 17)
1184f29dbc25Smrg#define VIP_MSR_SMI_GLINK                   (1L << 16)
1185f29dbc25Smrg
1186f29dbc25Smrg/* VIP ERROR */
1187f29dbc25Smrg
1188f29dbc25Smrg#define VIP_MSR_ERROR_ADDRESS_MASK          (1L << 17)
1189f29dbc25Smrg#define VIP_MSR_ERROR_ADDRESS_SHIFT         17
1190f29dbc25Smrg#define VIP_MSR_ERROR_ADDRESS_ENABLE        (1L << 1)
1191f29dbc25Smrg#define VIP_MSR_ERROR_ADDRESS_EN_SHIFT      1
1192f29dbc25Smrg#define VIP_MSR_ERROR_TYPE_MASK             (1L << 16)
1193f29dbc25Smrg#define VIP_MSR_ERROR_TYPE_SHIFT            16
1194f29dbc25Smrg#define VIP_MSR_ERROR_TYPE_ENABLE           1
1195f29dbc25Smrg#define VIP_MSR_ERROR_TYPE_EN_SHIFT         0
1196f29dbc25Smrg
1197f29dbc25Smrg/* VIP POWER */
1198f29dbc25Smrg
1199f29dbc25Smrg#define VIP_MSR_POWER_GLINK                 (1L << 0)
1200f29dbc25Smrg#define VIP_MSR_POWER_CLOCK                 (1L << 2)
1201f29dbc25Smrg
1202f29dbc25Smrg/* VIP DIAG */
1203f29dbc25Smrg
1204f29dbc25Smrg#define VIP_MSR_DIAG_BIST_WMASK             0x00000003
1205f29dbc25Smrg#define VIP_MSR_DIAG_BIST_RMASK             0x00000007
1206f29dbc25Smrg#define VIP_MSR_DIAG_BIST_SHIFT             0
1207f29dbc25Smrg
1208f29dbc25Smrg#define VIP_MSR_DIAG_MSB_ENABLE             (1L << 31)
1209f29dbc25Smrg#define VIP_MSR_DIAG_SEL_UPPER_MASK         0x7FFF0000
1210f29dbc25Smrg#define VIP_MSR_DIAG_SEL_UPPER_SHIFT        16
1211f29dbc25Smrg#define VIP_MSR_DIAG_LSB_ENABLE             (1L << 15)
1212f29dbc25Smrg#define VIP_MSR_DIAG_SEL_LOWER_MASK         0x00007FFF
1213f29dbc25Smrg#define VIP_MSR_DIAG_SEL_LOWER_SHIFT        0
1214f29dbc25Smrg
1215f29dbc25Smrg/*----------------------------------------------------------------*/
1216f29dbc25Smrg/*                       VOP DEFINITIONS                          */
1217f29dbc25Smrg/*----------------------------------------------------------------*/
1218f29dbc25Smrg
1219f29dbc25Smrg#define VOP_CONFIGURATION                   0x00000800
1220f29dbc25Smrg#define VOP_SIGNATURE                       0x00000808
1221f29dbc25Smrg
1222f29dbc25Smrg/* VOP_CONFIGURATION BIT DEFINITIONS */
1223f29dbc25Smrg
1224f29dbc25Smrg#define VOP_CONFIG_SWAPVBI                  0x01000000
1225f29dbc25Smrg#define VOP_CONFIG_RGBMODE                  0x00200000
1226f29dbc25Smrg#define VOP_CONFIG_SIGVAL                   0x00100000
1227f29dbc25Smrg#define VOP_CONFIG_INVERT_DISPE             0x00080000
1228f29dbc25Smrg#define VOP_CONFIG_INVERT_VSYNC             0x00040000
1229f29dbc25Smrg#define VOP_CONFIG_INVERT_HSYNC             0x00020000
1230f29dbc25Smrg#define VOP_CONFIG_SWAPUV                   0x00010000
1231f29dbc25Smrg#define VOP_CONFIG_VSYNC_MASK               0x0000C000
1232f29dbc25Smrg#define VOP_CONFIG_DISABLE_DECIMATE         0x00002000
1233f29dbc25Smrg#define VOP_CONFIG_ENABLE_601               0x00001000
1234f29dbc25Smrg#define VOP_CONFIG_VBI                      0x00000800
1235f29dbc25Smrg#define VOP_CONFIG_TASK                     0x00000200
1236f29dbc25Smrg#define VOP_CONFIG_SIG_FREE_RUN             0x00000100
1237f29dbc25Smrg#define VOP_CONFIG_ENABLE_SIGNATURE         0x00000080
1238f29dbc25Smrg#define VOP_CONFIG_SC_COMPATIBLE            0x00000040
1239f29dbc25Smrg#define VOP_CONFIG_422_COSITED              0x00000000
1240f29dbc25Smrg#define VOP_CONFIG_422_INTERSPERSED         0x00000010
1241f29dbc25Smrg#define VOP_CONFIG_422_ALTERNATING          0x00000020
1242f29dbc25Smrg#define VOP_CONFIG_422_MASK                 0x00000030
1243f29dbc25Smrg#define VOP_CONFIG_EXTENDED_SAV             0x00000008
1244f29dbc25Smrg#define VOP_CONFIG_VIP2_16BIT               0x00000004
1245f29dbc25Smrg#define VOP_CONFIG_DISABLED                 0x00000000
1246f29dbc25Smrg#define VOP_CONFIG_VIP1_1                   0x00000001
1247f29dbc25Smrg#define VOP_CONFIG_VIP2_0                   0x00000002
1248f29dbc25Smrg#define VOP_CONFIG_CCIR656                  0x00000003
1249f29dbc25Smrg#define VOP_CONFIG_MODE_MASK                0x00000003
1250f29dbc25Smrg
1251f29dbc25Smrg#endif
1252