1f29dbc25Smrg/* Copyright (c) 2005 Advanced Micro Devices, Inc.
2f29dbc25Smrg *
3f29dbc25Smrg * Permission is hereby granted, free of charge, to any person obtaining a copy
4f29dbc25Smrg * of this software and associated documentation files (the "Software"), to
5f29dbc25Smrg * deal in the Software without restriction, including without limitation the
6f29dbc25Smrg * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7f29dbc25Smrg * sell copies of the Software, and to permit persons to whom the Software is
8f29dbc25Smrg * furnished to do so, subject to the following conditions:
9f29dbc25Smrg *
10f29dbc25Smrg * The above copyright notice and this permission notice shall be included in
11f29dbc25Smrg * all copies or substantial portions of the Software.
12f29dbc25Smrg *
13f29dbc25Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14f29dbc25Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15f29dbc25Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16f29dbc25Smrg * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17f29dbc25Smrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18f29dbc25Smrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19f29dbc25Smrg * IN THE SOFTWARE.
20f29dbc25Smrg *
21f29dbc25Smrg * Neither the name of the Advanced Micro Devices, Inc. nor the names of its
22f29dbc25Smrg * contributors may be used to endorse or promote products derived from this
23f29dbc25Smrg * software without specific prior written permission.
24f29dbc25Smrg * */
25f29dbc25Smrg
26f29dbc25Smrg/*
27f29dbc25Smrg * This header file contains the graphics register definitions.
28f29dbc25Smrg * */
29f29dbc25Smrg
30f29dbc25Smrg/*----------------------------------*/
31f29dbc25Smrg/*  FIRST GENERATION GRAPHICS UNIT  */
32f29dbc25Smrg/*----------------------------------*/
33f29dbc25Smrg
34f29dbc25Smrg#define GP_DST_XCOOR			0x8100  /* x destination origin         */
35f29dbc25Smrg#define GP_DST_YCOOR			0x8102  /* y destination origin                 */
36f29dbc25Smrg#define GP_WIDTH				0x8104  /* pixel width                  */
37f29dbc25Smrg#define GP_HEIGHT				0x8106  /* pixel height                 */
38f29dbc25Smrg#define GP_SRC_XCOOR			0x8108  /* x source origin              */
39f29dbc25Smrg#define GP_SRC_YCOOR			0x810A  /* y source origin              */
40f29dbc25Smrg
41f29dbc25Smrg#define GP_VECTOR_LENGTH		0x8104  /* vector length                */
42f29dbc25Smrg#define GP_INIT_ERROR			0x8106  /* vector initial error         */
43f29dbc25Smrg#define GP_AXIAL_ERROR			0x8108  /* axial error increment        */
44f29dbc25Smrg#define GP_DIAG_ERROR			0x810A  /* diagonal error increment     */
45f29dbc25Smrg
46f29dbc25Smrg#define GP_SRC_COLOR_0			0x810C  /* source color 0               */
47f29dbc25Smrg#define GP_SRC_COLOR_1			0x810E  /* source color 1               */
48f29dbc25Smrg#define GP_PAT_COLOR_0			0x8110  /* pattern color 0              */
49f29dbc25Smrg#define GP_PAT_COLOR_1			0x8112  /* pattern color 1              */
50f29dbc25Smrg#define GP_PAT_COLOR_2			0x8114  /* pattern color 2              */
51f29dbc25Smrg#define GP_PAT_COLOR_3			0x8116  /* pattern color 3              */
52f29dbc25Smrg#define GP_PAT_DATA_0			0x8120  /* bits 31:0 of pattern         */
53f29dbc25Smrg#define GP_PAT_DATA_1			0x8124  /* bits 63:32 of pattern        */
54f29dbc25Smrg#define GP_PAT_DATA_2			0x8128  /* bits 95:64 of pattern        */
55f29dbc25Smrg#define GP_PAT_DATA_3			0x812C  /* bits 127:96 of pattern       */
56f29dbc25Smrg
57f29dbc25Smrg#define GP_VGA_WRITE			0x8140  /* VGA write path control       */
58f29dbc25Smrg#define GP_VGA_READ				0x8144  /* VGA read path control        */
59f29dbc25Smrg
60f29dbc25Smrg#define GP_RASTER_MODE			0x8200  /* raster operation             */
61f29dbc25Smrg#define GP_VECTOR_MODE			0x8204  /* vector mode register         */
62f29dbc25Smrg#define GP_BLIT_MODE			0x8208  /* blit mode register           */
63f29dbc25Smrg#define GP_BLIT_STATUS			0x820C  /* blit status register         */
64f29dbc25Smrg
65f29dbc25Smrg#define GP_VGA_BASE				0x8210  /* VGA memory offset (x64K)     */
66f29dbc25Smrg#define GP_VGA_LATCH			0x8214  /* VGA display latch            */
67f29dbc25Smrg
68f29dbc25Smrg/* "GP_VECTOR_MODE" BIT DEFINITIONS */
69f29dbc25Smrg
70f29dbc25Smrg#define VM_X_MAJOR				0x0000  /* X major vector               */
71f29dbc25Smrg#define VM_Y_MAJOR				0x0001  /* Y major vector               */
72f29dbc25Smrg#define VM_MAJOR_INC			0x0002  /* positive major axis step     */
73f29dbc25Smrg#define VM_MINOR_INC			0x0004  /* positive minor axis step     */
74f29dbc25Smrg#define VM_READ_DST_FB			0x0008  /* read destination data        */
75f29dbc25Smrg
76f29dbc25Smrg/* "GP_RASTER_MODE" BIT DEFINITIONS */
77f29dbc25Smrg
78f29dbc25Smrg#define RM_PAT_DISABLE			0x0000  /* pattern is disabled          */
79f29dbc25Smrg#define RM_PAT_MONO				0x0100  /* 1BPP pattern expansion       */
80f29dbc25Smrg#define RM_PAT_DITHER			0x0200  /* 2BPP pattern expansion       */
81f29dbc25Smrg#define RM_PAT_COLOR			0x0300  /* 8BPP or 16BPP pattern        */
82f29dbc25Smrg#define RM_PAT_MASK				0x0300  /* mask for pattern mode        */
83f29dbc25Smrg#define RM_PAT_TRANSPARENT		0x0400  /* transparent 1BPP pattern     */
84f29dbc25Smrg#define RM_SRC_TRANSPARENT		0x0800  /* transparent 1BPP source      */
85f29dbc25Smrg
86f29dbc25Smrg/* "GP_BLIT_STATUS" BIT DEFINITIONS */
87f29dbc25Smrg
88f29dbc25Smrg#define BS_BLIT_BUSY			0x0001  /* blit engine is busy          */
89f29dbc25Smrg#define BS_PIPELINE_BUSY		0x0002  /* graphics pipeline is busy    */
90f29dbc25Smrg#define BS_BLIT_PENDING			0x0004  /* blit pending                 */
91f29dbc25Smrg#define BC_FLUSH				0x0080  /* flush pipeline requests      */
92f29dbc25Smrg#define BC_8BPP					0x0000  /* 8BPP mode                    */
93f29dbc25Smrg#define BC_16BPP				0x0100  /* 16BPP mode                   */
94f29dbc25Smrg#define BC_FB_WIDTH_1024		0x0000  /* framebuffer width = 1024     */
95f29dbc25Smrg#define BC_FB_WIDTH_2048		0x0200  /* framebuffer width = 2048     */
96f29dbc25Smrg#define BC_FB_WIDTH_4096		0x0400  /* framebuffer width = 4096     */
97f29dbc25Smrg
98f29dbc25Smrg/* "GP_BLIT_MODE" BIT DEFINITIONS */
99f29dbc25Smrg
100f29dbc25Smrg#define	BM_READ_SRC_NONE		0x0000  /* source foreground color      */
101f29dbc25Smrg#define BM_READ_SRC_FB			0x0001  /* read source from FB          */
102f29dbc25Smrg#define BM_READ_SRC_BB0			0x0002  /* read source from BB0         */
103f29dbc25Smrg#define BM_READ_SRC_BB1			0x0003  /* read source from BB1         */
104f29dbc25Smrg#define BM_READ_SRC_MASK		0x0003  /* read source mask             */
105f29dbc25Smrg
106f29dbc25Smrg#define	BM_READ_DST_NONE		0x0000  /* no destination data          */
107f29dbc25Smrg#define BM_READ_DST_BB0			0x0008  /* destination from BB0         */
108f29dbc25Smrg#define BM_READ_DST_BB1			0x000C  /* destination from BB1         */
109f29dbc25Smrg#define BM_READ_DST_FB0			0x0010  /* dest from FB (store BB0)     */
110f29dbc25Smrg#define BM_READ_DST_FB1			0x0014  /* dest from FB (store BB1)     */
111f29dbc25Smrg#define BM_READ_DST_MASK		0x001C  /* read destination mask        */
112f29dbc25Smrg
113f29dbc25Smrg#define BM_WRITE_FB				0x0000  /* write to framebuffer         */
114f29dbc25Smrg#define	BM_WRITE_MEM			0x0020  /* write to memory              */
115f29dbc25Smrg#define BM_WRITE_MASK			0x0020  /* write mask                   */
116f29dbc25Smrg
117f29dbc25Smrg#define	BM_SOURCE_COLOR			0x0000  /* source is 8BPP or 16BPP      */
118f29dbc25Smrg#define BM_SOURCE_EXPAND		0x0040  /* source is 1BPP               */
119f29dbc25Smrg#define BM_SOURCE_TEXT			0x00C0  /* source is 1BPP text          */
120f29dbc25Smrg#define BM_SOURCE_MASK			0x00C0  /* source mask                  */
121f29dbc25Smrg
122f29dbc25Smrg#define BM_REVERSE_Y			0x0100  /* reverse Y direction          */
123f29dbc25Smrg
124f29dbc25Smrg/*---------------------------------------*/
125f29dbc25Smrg/*  FIRST GENERATION DISPLAY CONTROLLER  */
126f29dbc25Smrg/*---------------------------------------*/
127f29dbc25Smrg
128f29dbc25Smrg#define DC_UNLOCK				0x8300  /* lock register                */
129f29dbc25Smrg#define DC_GENERAL_CFG			0x8304  /* config registers...          */
130f29dbc25Smrg#define DC_TIMING_CFG			0x8308
131f29dbc25Smrg#define DC_OUTPUT_CFG			0x830C
132f29dbc25Smrg
133f29dbc25Smrg#define DC_FB_ST_OFFSET			0x8310  /* framebuffer start offset     */
134f29dbc25Smrg#define DC_CB_ST_OFFSET			0x8314  /* compression start offset     */
135f29dbc25Smrg#define DC_CURS_ST_OFFSET		0x8318  /* cursor start offset          */
136f29dbc25Smrg#define DC_ICON_ST_OFFSET		0x831C  /* icon start offset            */
137f29dbc25Smrg#define DC_VID_ST_OFFSET		0x8320  /* video start offset           */
138f29dbc25Smrg#define DC_LINE_DELTA			0x8324  /* fb and cb skip counts        */
139f29dbc25Smrg#define DC_BUF_SIZE				0x8328  /* fb and cb line size          */
140f29dbc25Smrg
141f29dbc25Smrg#define DC_H_TIMING_1			0x8330  /* horizontal timing...         */
142f29dbc25Smrg#define DC_H_TIMING_2			0x8334
143f29dbc25Smrg#define DC_H_TIMING_3			0x8338
144f29dbc25Smrg#define DC_FP_H_TIMING			0x833C
145f29dbc25Smrg
146f29dbc25Smrg#define DC_V_TIMING_1			0x8340  /* vertical timing...           */
147f29dbc25Smrg#define DC_V_TIMING_2			0x8344
148f29dbc25Smrg#define DC_V_TIMING_3			0x8348
149f29dbc25Smrg#define DC_FP_V_TIMING			0x834C
150f29dbc25Smrg
151f29dbc25Smrg#define DC_CURSOR_X				0x8350  /* cursor x position            */
152f29dbc25Smrg#define DC_ICON_X				0x8354  /* HACK - 1.3 definition        */
153f29dbc25Smrg#define DC_V_LINE_CNT			0x8354  /* vertical line counter        */
154f29dbc25Smrg#define DC_CURSOR_Y				0x8358  /* cursor y position            */
155f29dbc25Smrg#define DC_ICON_Y				0x835C  /* HACK - 1.3 definition        */
156f29dbc25Smrg#define DC_SS_LINE_CMP			0x835C  /* line compare value           */
157f29dbc25Smrg#define DC_CURSOR_COLOR			0x8360  /* cursor colors                */
158f29dbc25Smrg#define DC_ICON_COLOR			0x8364  /* icon colors                  */
159f29dbc25Smrg#define DC_BORDER_COLOR			0x8368  /* border color                 */
160f29dbc25Smrg#define DC_PAL_ADDRESS			0x8370  /* palette address              */
161f29dbc25Smrg#define DC_PAL_DATA				0x8374  /* palette data                 */
162f29dbc25Smrg#define DC_DFIFO_DIAG			0x8378  /* display FIFO diagnostic      */
163f29dbc25Smrg#define DC_CFIFO_DIAG			0x837C  /* compression FIF0 diagnostic  */
164f29dbc25Smrg
165f29dbc25Smrg/* PALETTE LOCATIONS */
166f29dbc25Smrg
167f29dbc25Smrg#define PAL_CURSOR_COLOR_0		0x100
168f29dbc25Smrg#define PAL_CURSOR_COLOR_1		0x101
169f29dbc25Smrg#define PAL_ICON_COLOR_0		0x102
170f29dbc25Smrg#define PAL_ICON_COLOR_1		0x103
171f29dbc25Smrg#define PAL_OVERSCAN_COLOR		0x104
172f29dbc25Smrg
173f29dbc25Smrg/* UNLOCK VALUE */
174f29dbc25Smrg
175f29dbc25Smrg#define DC_UNLOCK_VALUE		0x00004758      /* used to unlock DC regs   */
176f29dbc25Smrg
177f29dbc25Smrg/* "DC_GENERAL_CFG" BIT DEFINITIONS */
178f29dbc25Smrg
179f29dbc25Smrg#define DC_GCFG_DFLE		0x00000001      /* display FIFO load enable */
180f29dbc25Smrg#define DC_GCFG_CURE		0x00000002      /* cursor enable            */
181f29dbc25Smrg#define DC_GCFG_VCLK_DIV	0x00000004      /* vid clock divisor        */
182f29dbc25Smrg#define DC_GCFG_PLNO		0x00000004      /* planar offset LSB        */
183f29dbc25Smrg#define DC_GCFG_PPC			0x00000008      /* pixel pan compatibility  */
184f29dbc25Smrg#define DC_GCFG_CMPE		0x00000010      /* compression enable       */
185f29dbc25Smrg#define DC_GCFG_DECE		0x00000020      /* decompression enable     */
186f29dbc25Smrg#define DC_GCFG_DCLK_MASK	0x000000C0      /* dotclock multiplier      */
18704007ebaSmrg#define DC_GCFG_DCLK_POS	6       /* dotclock multiplier      */
188f29dbc25Smrg#define DC_GCFG_DFHPSL_MASK	0x00000F00      /* FIFO high-priority start */
18904007ebaSmrg#define DC_GCFG_DFHPSL_POS	8       /* FIFO high-priority start */
190f29dbc25Smrg#define DC_GCFG_DFHPEL_MASK	0x0000F000      /* FIFO high-priority end   */
19104007ebaSmrg#define DC_GCFG_DFHPEL_POS	12      /* FIFO high-priority end   */
192f29dbc25Smrg#define DC_GCFG_CIM_MASK	0x00030000      /* compressor insert mode   */
19304007ebaSmrg#define DC_GCFG_CIM_POS		16      /* compressor insert mode   */
194f29dbc25Smrg#define DC_GCFG_FDTY		0x00040000      /* frame dirty mode         */
195f29dbc25Smrg#define DC_GCFG_RTPM		0x00080000      /* real-time perf. monitor  */
196f29dbc25Smrg#define DC_GCFG_DAC_RS_MASK	0x00700000      /* DAC register selects     */
19704007ebaSmrg#define DC_GCFG_DAC_RS_POS	20      /* DAC register selects     */
198f29dbc25Smrg#define DC_GCFG_CKWR		0x00800000      /* clock write              */
199f29dbc25Smrg#define DC_GCFG_LDBL		0x01000000      /* line double              */
200f29dbc25Smrg#define DC_GCFG_DIAG		0x02000000      /* FIFO diagnostic mode     */
201f29dbc25Smrg#define DC_GCFG_CH4S		0x04000000      /* sparse refresh mode      */
202f29dbc25Smrg#define DC_GCFG_SSLC		0x08000000      /* enable line compare      */
203f29dbc25Smrg#define DC_GCFG_VIDE		0x10000000      /* video enable             */
204f29dbc25Smrg#define DC_GCFG_DFCK		0x20000000      /* divide flat-panel clock      */
205f29dbc25Smrg                                                                                        /*   - rev 2.3 down             */
206f29dbc25Smrg#define DC_GCFG_VRDY		0x20000000      /* video port speed             */
207f29dbc25Smrg                                                                                        /*   - rev 2.4 up                       */
208f29dbc25Smrg#define DC_GCFG_DPCK		0x40000000      /* divide pixel clock       */
209f29dbc25Smrg#define DC_GCFG_DDCK		0x80000000      /* divide dot clock         */
210f29dbc25Smrg
211f29dbc25Smrg/* "DC_TIMING_CFG" BIT DEFINITIONS */
212f29dbc25Smrg
213f29dbc25Smrg#define DC_TCFG_FPPE		0x00000001      /* flat-panel power enable  */
214f29dbc25Smrg#define DC_TCFG_HSYE		0x00000002      /* horizontal sync enable   */
215f29dbc25Smrg#define DC_TCFG_VSYE		0x00000004      /* vertical sync enable     */
216f29dbc25Smrg#define DC_TCFG_BLKE		0x00000008      /* blank enable             */
217f29dbc25Smrg#define DC_TCFG_DDCK		0x00000010      /* DDC clock                */
218f29dbc25Smrg#define DC_TCFG_TGEN		0x00000020      /* timing generator enable  */
219f29dbc25Smrg#define DC_TCFG_VIEN		0x00000040      /* vertical interrupt enable */
220f29dbc25Smrg#define DC_TCFG_BLNK		0x00000080      /* blink enable             */
221f29dbc25Smrg#define DC_TCFG_CHSP		0x00000100      /* horizontal sync polarity */
222f29dbc25Smrg#define DC_TCFG_CVSP		0x00000200      /* vertical sync polarity   */
223f29dbc25Smrg#define DC_TCFG_FHSP		0x00000400      /* panel horz sync polarity */
224f29dbc25Smrg#define DC_TCFG_FVSP		0x00000800      /* panel vert sync polarity */
225f29dbc25Smrg#define DC_TCFG_FCEN		0x00001000      /* flat-panel centering     */
226f29dbc25Smrg#define DC_TCFG_CDCE		0x00002000      /* HACK - 1.3 definition    */
227f29dbc25Smrg#define DC_TCFG_PLNR		0x00002000      /* planar mode enable       */
228f29dbc25Smrg#define DC_TCFG_INTL		0x00004000      /* interlace scan           */
229f29dbc25Smrg#define DC_TCFG_PXDB		0x00008000      /* pixel double             */
230f29dbc25Smrg#define DC_TCFG_BKRT		0x00010000      /* blink rate               */
231f29dbc25Smrg#define DC_TCFG_PSD_MASK	0x000E0000      /* power sequence delay     */
23204007ebaSmrg#define DC_TCFG_PSD_POS		17      /* power sequence delay     */
233f29dbc25Smrg#define DC_TCFG_DDCI		0x08000000      /* DDC input (RO)           */
234f29dbc25Smrg#define DC_TCFG_SENS		0x10000000      /* monitor sense (RO)       */
235f29dbc25Smrg#define DC_TCFG_DNA			0x20000000      /* display not active (RO)  */
236f29dbc25Smrg#define DC_TCFG_VNA			0x40000000      /* vertical not active (RO) */
237f29dbc25Smrg#define DC_TCFG_VINT		0x80000000      /* vertical interrupt (RO)  */
238f29dbc25Smrg
239f29dbc25Smrg/* "DC_OUTPUT_CFG" BIT DEFINITIONS */
240f29dbc25Smrg
241f29dbc25Smrg#define DC_OCFG_8BPP		0x00000001      /* 8/16 bpp select          */
242f29dbc25Smrg#define DC_OCFG_555			0x00000002      /* 16 bpp format            */
243f29dbc25Smrg#define DC_OCFG_PCKE		0x00000004      /* PCLK enable              */
244f29dbc25Smrg#define DC_OCFG_FRME		0x00000008      /* frame rate mod enable    */
245f29dbc25Smrg#define DC_OCFG_DITE		0x00000010      /* dither enable            */
246f29dbc25Smrg#define DC_OCFG_2PXE		0x00000020      /* 2 pixel enable           */
247f29dbc25Smrg#define DC_OCFG_2XCK		0x00000040      /* 2 x pixel clock          */
248f29dbc25Smrg#define DC_OCFG_2IND		0x00000080      /* 2 index enable           */
249f29dbc25Smrg#define DC_OCFG_34ADD		0x00000100      /* 3- or 4-bit add          */
250f29dbc25Smrg#define DC_OCFG_FRMS		0x00000200      /* frame rate mod select    */
251f29dbc25Smrg#define DC_OCFG_CKSL		0x00000400      /* clock select             */
252f29dbc25Smrg#define DC_OCFG_PRMP		0x00000800      /* palette re-map           */
253f29dbc25Smrg#define DC_OCFG_PDEL		0x00001000      /* panel data enable low    */
254f29dbc25Smrg#define DC_OCFG_PDEH		0x00002000      /* panel data enable high   */
255f29dbc25Smrg#define DC_OCFG_CFRW		0x00004000      /* comp line buffer r/w sel */
256f29dbc25Smrg#define DC_OCFG_DIAG		0x00008000      /* comp line buffer diag    */
257f29dbc25Smrg
258f29dbc25Smrg#define MC_MEM_CNTRL1       0x00008400
259f29dbc25Smrg#define MC_DR_ADD			0x00008418
260f29dbc25Smrg#define MC_DR_ACC			0x0000841C
261f29dbc25Smrg
262f29dbc25Smrg/* MC_MEM_CNTRL1 BIT DEFINITIONS */
263f29dbc25Smrg
26404007ebaSmrg#define MC_XBUSARB          0x00000008  /* 0 = GP priority < CPU priority */
265f29dbc25Smrg                                                                                        /* 1 = GP priority = CPU priority */
266f29dbc25Smrg                                                                                        /* GXm databook V2.0 is wrong ! */
267f29dbc25Smrg/*----------*/
268f29dbc25Smrg/*  CS5530  */
269f29dbc25Smrg/*----------*/
270f29dbc25Smrg
271f29dbc25Smrg/* CS5530 REGISTER DEFINITIONS */
272f29dbc25Smrg
273f29dbc25Smrg#define CS5530_VIDEO_CONFIG 		0x0000
274f29dbc25Smrg#define CS5530_DISPLAY_CONFIG       0x0004
275f29dbc25Smrg#define CS5530_VIDEO_X_POS          0x0008
276f29dbc25Smrg#define CS5530_VIDEO_Y_POS          0x000C
277f29dbc25Smrg#define CS5530_VIDEO_SCALE          0x0010
278f29dbc25Smrg#define CS5530_VIDEO_COLOR_KEY		0x0014
279f29dbc25Smrg#define CS5530_VIDEO_COLOR_MASK		0x0018
280f29dbc25Smrg#define CS5530_PALETTE_ADDRESS 		0x001C
281f29dbc25Smrg#define CS5530_PALETTE_DATA	 		0x0020
282f29dbc25Smrg#define CS5530_DOT_CLK_CONFIG       0x0024
283f29dbc25Smrg#define CS5530_CRCSIG_TFT_TV        0x0028
284f29dbc25Smrg
285f29dbc25Smrg/* "CS5530_VIDEO_CONFIG" BIT DEFINITIONS */
286f29dbc25Smrg
287f29dbc25Smrg#define CS5530_VCFG_VID_EN					0x00000001
288f29dbc25Smrg#define CS5530_VCFG_VID_REG_UPDATE			0x00000002
289f29dbc25Smrg#define CS5530_VCFG_VID_INP_FORMAT			0x0000000C
290f29dbc25Smrg#define CS5530_VCFG_8_BIT_4_2_0				0x00000004
291f29dbc25Smrg#define CS5530_VCFG_16_BIT_4_2_0			0x00000008
292f29dbc25Smrg#define CS5530_VCFG_GV_SEL					0x00000010
293f29dbc25Smrg#define CS5530_VCFG_CSC_BYPASS				0x00000020
294f29dbc25Smrg#define CS5530_VCFG_X_FILTER_EN				0x00000040
295f29dbc25Smrg#define CS5530_VCFG_Y_FILTER_EN				0x00000080
296f29dbc25Smrg#define CS5530_VCFG_LINE_SIZE_LOWER_MASK	0x0000FF00
297f29dbc25Smrg#define CS5530_VCFG_INIT_READ_MASK			0x01FF0000
298f29dbc25Smrg#define CS5530_VCFG_EARLY_VID_RDY  			0x02000000
299f29dbc25Smrg#define CS5530_VCFG_LINE_SIZE_UPPER			0x08000000
300f29dbc25Smrg#define CS5530_VCFG_4_2_0_MODE				0x10000000
301f29dbc25Smrg#define CS5530_VCFG_16_BIT_EN				0x20000000
302f29dbc25Smrg#define CS5530_VCFG_HIGH_SPD_INT			0x40000000
303f29dbc25Smrg
304f29dbc25Smrg/* "CS5530_DISPLAY_CONFIG" BIT DEFINITIONS */
305f29dbc25Smrg
306f29dbc25Smrg#define CS5530_DCFG_DIS_EN					0x00000001
307f29dbc25Smrg#define CS5530_DCFG_HSYNC_EN				0x00000002
308f29dbc25Smrg#define CS5530_DCFG_VSYNC_EN				0x00000004
309f29dbc25Smrg#define CS5530_DCFG_DAC_BL_EN				0x00000008
310f29dbc25Smrg#define CS5530_DCFG_DAC_PWDNX				0x00000020
311f29dbc25Smrg#define CS5530_DCFG_FP_PWR_EN				0x00000040
312f29dbc25Smrg#define CS5530_DCFG_FP_DATA_EN				0x00000080
313f29dbc25Smrg#define CS5530_DCFG_CRT_HSYNC_POL 			0x00000100
314f29dbc25Smrg#define CS5530_DCFG_CRT_VSYNC_POL 			0x00000200
315f29dbc25Smrg#define CS5530_DCFG_FP_HSYNC_POL  			0x00000400
316f29dbc25Smrg#define CS5530_DCFG_FP_VSYNC_POL  			0x00000800
317f29dbc25Smrg#define CS5530_DCFG_XGA_FP		  			0x00001000
318f29dbc25Smrg#define CS5530_DCFG_FP_DITH_EN				0x00002000
319f29dbc25Smrg#define CS5530_DCFG_CRT_SYNC_SKW_MASK		0x0001C000
320f29dbc25Smrg#define CS5530_DCFG_CRT_SYNC_SKW_INIT		0x00010000
321f29dbc25Smrg#define CS5530_DCFG_PWR_SEQ_DLY_MASK		0x000E0000
322f29dbc25Smrg#define CS5530_DCFG_PWR_SEQ_DLY_INIT		0x00080000
323f29dbc25Smrg#define CS5530_DCFG_VG_CK					0x00100000
324f29dbc25Smrg#define CS5530_DCFG_GV_PAL_BYP				0x00200000
325f29dbc25Smrg#define CS5530_DCFG_DDC_SCL					0x00400000
326f29dbc25Smrg#define CS5530_DCFG_DDC_SDA					0x00800000
327f29dbc25Smrg#define CS5530_DCFG_DDC_OE					0x01000000
328f29dbc25Smrg#define CS5530_DCFG_16_BIT_EN				0x02000000
329f29dbc25Smrg
330f29dbc25Smrg/*----------*/
331f29dbc25Smrg/*  SC1200  */
332f29dbc25Smrg/*----------*/
333f29dbc25Smrg
334f29dbc25Smrg/* SC1200 VIDEO REGISTER DEFINITIONS */
335f29dbc25Smrg
336f29dbc25Smrg#define SC1200_VIDEO_CONFIG 				0x000
337f29dbc25Smrg#define SC1200_DISPLAY_CONFIG				0x004
338f29dbc25Smrg#define SC1200_VIDEO_X_POS					0x008
339f29dbc25Smrg#define SC1200_VIDEO_Y_POS					0x00C
340f29dbc25Smrg#define SC1200_VIDEO_UPSCALE				0x010
341f29dbc25Smrg#define SC1200_VIDEO_COLOR_KEY				0x014
342f29dbc25Smrg#define SC1200_VIDEO_COLOR_MASK				0x018
343f29dbc25Smrg#define SC1200_PALETTE_ADDRESS 				0x01C
344f29dbc25Smrg#define SC1200_PALETTE_DATA	 				0x020
345f29dbc25Smrg#define SC1200_VID_MISC						0x028
346f29dbc25Smrg#define SC1200_VID_CLOCK_SELECT				0x02C
347f29dbc25Smrg#define SC1200_VIDEO_DOWNSCALER_CONTROL     0x03C
348f29dbc25Smrg#define SC1200_VIDEO_DOWNSCALER_COEFFICIENTS 0x40
349f29dbc25Smrg#define SC1200_VID_CRC						0x044
350f29dbc25Smrg#define SC1200_DEVICE_ID					0x048
351f29dbc25Smrg#define SC1200_VID_ALPHA_CONTROL			0x04C
352f29dbc25Smrg#define SC1200_CURSOR_COLOR_KEY				0x050
353f29dbc25Smrg#define SC1200_CURSOR_COLOR_MASK			0x054
354f29dbc25Smrg#define SC1200_CURSOR_COLOR_1				0x058
355f29dbc25Smrg#define SC1200_CURSOR_COLOR_2				0x05C
356f29dbc25Smrg#define SC1200_ALPHA_XPOS_1					0x060
357f29dbc25Smrg#define SC1200_ALPHA_YPOS_1					0x064
358f29dbc25Smrg#define SC1200_ALPHA_COLOR_1				0x068
359f29dbc25Smrg#define SC1200_ALPHA_CONTROL_1				0x06C
360f29dbc25Smrg#define SC1200_ALPHA_XPOS_2					0x070
361f29dbc25Smrg#define SC1200_ALPHA_YPOS_2					0x074
362f29dbc25Smrg#define SC1200_ALPHA_COLOR_2				0x078
363f29dbc25Smrg#define SC1200_ALPHA_CONTROL_2				0x07C
364f29dbc25Smrg#define SC1200_ALPHA_XPOS_3					0x080
365f29dbc25Smrg#define SC1200_ALPHA_YPOS_3					0x084
366f29dbc25Smrg#define SC1200_ALPHA_COLOR_3				0x088
367f29dbc25Smrg#define SC1200_ALPHA_CONTROL_3				0x08C
368f29dbc25Smrg#define SC1200_VIDEO_REQUEST                0x090
369f29dbc25Smrg#define SC1200_ALPHA_WATCH 					0x094
370f29dbc25Smrg#define SC1200_VIDEO_DISPLAY_MODE           0x400
371f29dbc25Smrg#define SC1200_VIDEO_ODD_VBI_LINE_ENABLE    0x40C
372f29dbc25Smrg#define SC1200_VIDEO_EVEN_VBI_LINE_ENABLE   0x410
373f29dbc25Smrg#define SC1200_VIDEO_VBI_HORIZ_CONTROL      0x414
374f29dbc25Smrg#define SC1200_VIDEO_ODD_VBI_TOTAL_COUNT    0x418
375f29dbc25Smrg#define SC1200_VIDEO_EVEN_VBI_TOTAL_COUNT   0x41C
376f29dbc25Smrg#define SC1200_GENLOCK                      0x420
377f29dbc25Smrg#define SC1200_GENLOCK_DELAY                0x424
378f29dbc25Smrg#define SC1200_TVOUT_HORZ_TIM				0x800
379f29dbc25Smrg#define SC1200_TVOUT_HORZ_SYNC				0x804
380f29dbc25Smrg#define SC1200_TVOUT_VERT_SYNC				0x808
381f29dbc25Smrg#define SC1200_TVOUT_LINE_END				0x80C
382f29dbc25Smrg#define SC1200_TVOUT_VERT_DOWNSCALE			0x810   /* REV. A & B */
383f29dbc25Smrg#define SC1200_TVOUT_HORZ_PRE_ENCODER_SCALE 0x810       /* REV. C */
384f29dbc25Smrg#define SC1200_TVOUT_HORZ_SCALING			0x814
385f29dbc25Smrg#define SC1200_TVOUT_DEBUG                  0x818
386f29dbc25Smrg#define SC1200_TVENC_TIM_CTRL_1				0xC00
387f29dbc25Smrg#define SC1200_TVENC_TIM_CTRL_2				0xC04
388f29dbc25Smrg#define SC1200_TVENC_TIM_CTRL_3				0xC08
389f29dbc25Smrg#define SC1200_TVENC_SUB_FREQ				0xC0C
390f29dbc25Smrg#define SC1200_TVENC_DISP_POS				0xC10
391f29dbc25Smrg#define SC1200_TVENC_DISP_SIZE				0xC14
392f29dbc25Smrg#define SC1200_TVENC_CC_DATA				0xC18
393f29dbc25Smrg#define SC1200_TVENC_EDS_DATA				0xC1C
394f29dbc25Smrg#define SC1200_TVENC_CGMS_DATA				0xC20
395f29dbc25Smrg#define SC1200_TVENC_WSS_DATA				0xC24
396f29dbc25Smrg#define SC1200_TVENC_CC_CONTROL				0xC28
397f29dbc25Smrg#define SC1200_TVENC_DAC_CONTROL			0xC2C
398f29dbc25Smrg#define SC1200_TVENC_MV_CONTROL             0xC30
399f29dbc25Smrg
400f29dbc25Smrg/* "SC1200_VIDEO_CONFIG" BIT DEFINITIONS */
401f29dbc25Smrg
402f29dbc25Smrg#define SC1200_VCFG_VID_EN					0x00000001
403f29dbc25Smrg#define SC1200_VCFG_VID_INP_FORMAT			0x0000000C
404f29dbc25Smrg#define SC1200_VCFG_UYVY_FORMAT				0x00000000
405f29dbc25Smrg#define SC1200_VCFG_Y2YU_FORMAT				0x00000004
406f29dbc25Smrg#define SC1200_VCFG_YUYV_FORMAT				0x00000008
407f29dbc25Smrg#define SC1200_VCFG_YVYU_FORMAT				0x0000000C
408f29dbc25Smrg#define SC1200_VCFG_X_FILTER_EN				0x00000040
409f29dbc25Smrg#define SC1200_VCFG_Y_FILTER_EN				0x00000080
410f29dbc25Smrg#define SC1200_VCFG_LINE_SIZE_LOWER_MASK	0x0000FF00
411f29dbc25Smrg#define SC1200_VCFG_INIT_READ_MASK			0x01FF0000
412f29dbc25Smrg#define SC1200_VCFG_LINE_SIZE_UPPER			0x08000000
413f29dbc25Smrg#define SC1200_VCFG_4_2_0_MODE				0x10000000
414f29dbc25Smrg
415f29dbc25Smrg/* "SC1200_DISPLAY_CONFIG" BIT DEFINITIONS */
416f29dbc25Smrg
417f29dbc25Smrg#define SC1200_DCFG_DIS_EN					0x00000001
418f29dbc25Smrg#define SC1200_DCFG_HSYNC_EN				0x00000002
419f29dbc25Smrg#define SC1200_DCFG_VSYNC_EN				0x00000004
420f29dbc25Smrg#define SC1200_DCFG_DAC_BL_EN				0x00000008
421f29dbc25Smrg#define SC1200_DCFG_FP_PWR_EN				0x00000040
422f29dbc25Smrg#define SC1200_DCFG_FP_DATA_EN				0x00000080
423f29dbc25Smrg#define SC1200_DCFG_CRT_HSYNC_POL 			0x00000100
424f29dbc25Smrg#define SC1200_DCFG_CRT_VSYNC_POL 			0x00000200
425f29dbc25Smrg#define SC1200_DCFG_CRT_SYNC_SKW_MASK		0x0001C000
426f29dbc25Smrg#define SC1200_DCFG_CRT_SYNC_SKW_INIT		0x00010000
427f29dbc25Smrg#define SC1200_DCFG_PWR_SEQ_DLY_MASK		0x000E0000
428f29dbc25Smrg#define SC1200_DCFG_PWR_SEQ_DLY_INIT		0x00080000
429f29dbc25Smrg#define SC1200_DCFG_VG_CK					0x00100000
430f29dbc25Smrg#define SC1200_DCFG_GV_PAL_BYP				0x00200000
431f29dbc25Smrg#define SC1200_DCFG_DDC_SCL					0x00400000
432f29dbc25Smrg#define SC1200_DCFG_DDC_SDA					0x00800000
433f29dbc25Smrg#define SC1200_DCFG_DDC_OE					0x01000000
434f29dbc25Smrg
435f29dbc25Smrg/* "SC1200_VID_MISC" BIT DEFINITIONS */
436f29dbc25Smrg
437f29dbc25Smrg#define SC1200_GAMMA_BYPASS_BOTH            0x00000001
438f29dbc25Smrg#define SC1200_DAC_POWER_DOWN               0x00000400
439f29dbc25Smrg#define SC1200_ANALOG_POWER_DOWN            0x00000800
440f29dbc25Smrg#define SC1200_PLL_POWER_NORMAL             0x00001000
441f29dbc25Smrg
442f29dbc25Smrg/* "SC1200_VIDEO_DOWNSCALER_CONTROL" BIT DEFINITIONS */
443f29dbc25Smrg
444f29dbc25Smrg#define SC1200_VIDEO_DOWNSCALE_ENABLE       0x00000001
445f29dbc25Smrg#define SC1200_VIDEO_DOWNSCALE_FACTOR_POS   1
446f29dbc25Smrg#define SC1200_VIDEO_DOWNSCALE_FACTOR_MASK  0x0000001E
447f29dbc25Smrg#define SC1200_VIDEO_DOWNSCALE_TYPE_A       0x00000000
448f29dbc25Smrg#define SC1200_VIDEO_DOWNSCALE_TYPE_B       0x00000040
449f29dbc25Smrg#define SC1200_VIDEO_DOWNSCALE_TYPE_MASK    0x00000040
450f29dbc25Smrg
451f29dbc25Smrg/* "SC1200_VIDEO_DOWNSCALER_COEFFICIENTS" BIT DEFINITIONS */
452f29dbc25Smrg
453f29dbc25Smrg#define SC1200_VIDEO_DOWNSCALER_COEF1_POS   0
454f29dbc25Smrg#define SC1200_VIDEO_DOWNSCALER_COEF2_POS   8
455f29dbc25Smrg#define SC1200_VIDEO_DOWNSCALER_COEF3_POS   16
456f29dbc25Smrg#define SC1200_VIDEO_DOWNSCALER_COEF4_POS   24
457f29dbc25Smrg#define SC1200_VIDEO_DOWNSCALER_COEF_MASK   0xF
458f29dbc25Smrg
459f29dbc25Smrg/* VIDEO DE-INTERLACING AND ALPHA CONTROL (REGISTER 0x4C) */
460f29dbc25Smrg
461f29dbc25Smrg#define SC1200_VERTICAL_SCALER_SHIFT_MASK   0x00000007
462f29dbc25Smrg#define SC1200_VERTICAL_SCALER_SHIFT_INIT   0x00000004
463f29dbc25Smrg#define SC1200_VERTICAL_SCALER_SHIFT_EN     0x00000010
464f29dbc25Smrg#define SC1200_TOP_LINE_IN_ODD              0x00000040
465f29dbc25Smrg#define SC1200_NO_CK_OUTSIDE_ALPHA          0x00000100
466f29dbc25Smrg#define SC1200_VIDEO_IS_INTERLACED          0x00000200
467f29dbc25Smrg#define SC1200_CSC_VIDEO_YUV_TO_RGB         0x00000400
468f29dbc25Smrg#define SC1200_CSC_GFX_RGB_TO_YUV           0x00000800
469f29dbc25Smrg#define SC1200_VIDEO_INPUT_IS_RGB           0x00002000
470f29dbc25Smrg#define SC1200_VIDEO_LINE_OFFSET_ODD        0x00001000
471f29dbc25Smrg#define SC1200_ALPHA1_PRIORITY_POS			16
472f29dbc25Smrg#define SC1200_ALPHA1_PRIORITY_MASK			0x00030000
473f29dbc25Smrg#define SC1200_ALPHA2_PRIORITY_POS			18
474f29dbc25Smrg#define SC1200_ALPHA2_PRIORITY_MASK			0x000C0000
475f29dbc25Smrg#define SC1200_ALPHA3_PRIORITY_POS			20
476f29dbc25Smrg#define SC1200_ALPHA3_PRIORITY_MASK			0x00300000
477f29dbc25Smrg
478f29dbc25Smrg/* VIDEO CURSOR COLOR KEY DEFINITIONS (REGISTER 0x50) */
479f29dbc25Smrg
480f29dbc25Smrg#define SC1200_CURSOR_COLOR_KEY_OFFSET_POS  24
481f29dbc25Smrg#define SC1200_CURSOR_COLOR_BITS            23
482f29dbc25Smrg#define SC1200_COLOR_MASK                   0x00FFFFFF  /* 24 significant
483f29dbc25Smrg                                                         * bits */
484f29dbc25Smrg
485f29dbc25Smrg/* ALPHA COLOR BIT DEFINITION (REGISTERS 0x68, 0x78, AND 0x88) */
486f29dbc25Smrg
487f29dbc25Smrg#define SC1200_ALPHA_COLOR_ENABLE           0x01000000
488f29dbc25Smrg
489f29dbc25Smrg/* ALPHA CONTROL BIT DEFINITIONS (REGISTERS 0x6C, 0x7C, AND 0x8C) */
490f29dbc25Smrg
491f29dbc25Smrg#define SC1200_ACTRL_WIN_ENABLE				0x00010000
492f29dbc25Smrg#define SC1200_ACTRL_LOAD_ALPHA				0x00020000
493f29dbc25Smrg
494f29dbc25Smrg/* VIDEO REQUEST DEFINITIONS (REGISTER 0x90) */
495f29dbc25Smrg
496f29dbc25Smrg#define SC1200_VIDEO_Y_REQUEST_POS          0
497f29dbc25Smrg#define SC1200_VIDEO_X_REQUEST_POS          16
498f29dbc25Smrg#define SC1200_VIDEO_REQUEST_MASK           0x00000FFF
499f29dbc25Smrg
500f29dbc25Smrg/* VIDEO DISPLAY MODE (REGISTER 0x400) */
501f29dbc25Smrg
502f29dbc25Smrg#define SC1200_VIDEO_SOURCE_MASK            0x00000003
503f29dbc25Smrg#define SC1200_VIDEO_SOURCE_GX1             0x00000000
504f29dbc25Smrg#define SC1200_VIDEO_SOURCE_DVIP            0x00000002
505f29dbc25Smrg#define SC1200_VBI_SOURCE_MASK              0x00000004
506f29dbc25Smrg#define SC1200_VBI_SOURCE_DVIP              0x00000000
507f29dbc25Smrg#define SC1200_VBI_SOURCE_GX1               0x00000004
508f29dbc25Smrg
509f29dbc25Smrg/* ODD/EVEN VBI LINE ENABLE (REGISTERS 0x40C, 0x410) */
510f29dbc25Smrg
511f29dbc25Smrg#define SC1200_VIDEO_VBI_LINE_ENABLE_MASK   0x00FFFFFC
512f29dbc25Smrg#define SC1200_VIDEO_ALL_ACTIVE_IS_VBI      0x01000000
513f29dbc25Smrg#define SC1200_VIDEO_VBI_LINE_OFFSET_POS    25
514f29dbc25Smrg#define SC1200_VIDEO_VBI_LINE_OFFSET_MASK   0x3E000000
515f29dbc25Smrg
516f29dbc25Smrg/* ODD/EVEN VBI TOTAL COUNT (REGISTERS 0x418, 0x41C) */
517f29dbc25Smrg
518f29dbc25Smrg#define SC1200_VIDEO_VBI_TOTAL_COUNT_MASK   0x000FFFFF
519f29dbc25Smrg
520f29dbc25Smrg/* GENLOCK BIT DEFINITIONS */
521f29dbc25Smrg
522f29dbc25Smrg#define SC1200_GENLOCK_SINGLE_ENABLE              0x00000001
523f29dbc25Smrg#define SC1200_GENLOCK_FIELD_SYNC_ENABLE          0x00000001
524f29dbc25Smrg#define SC1200_GENLOCK_CONTINUOUS_ENABLE          0x00000002
525f29dbc25Smrg#define SC1200_GENLOCK_GX_VSYNC_FALLING_EDGE      0x00000004
526f29dbc25Smrg#define SC1200_GENLOCK_VIP_VSYNC_FALLING_EDGE     0x00000008
527f29dbc25Smrg#define SC1200_GENLOCK_TIMEOUT_ENABLE             0x00000010
528f29dbc25Smrg#define SC1200_GENLOCK_TVENC_RESET_EVEN_FIELD     0x00000020
529f29dbc25Smrg#define SC1200_GENLOCK_TVENC_RESET_BEFORE_DELAY   0x00000040
530f29dbc25Smrg#define SC1200_GENLOCK_TVENC_RESET_ENABLE         0x00000080
531f29dbc25Smrg#define SC1200_GENLOCK_SYNC_TO_TVENC              0x00000100
532f29dbc25Smrg#define SC1200_GENLOCK_DELAY_MASK                 0x001FFFFF
533f29dbc25Smrg
534f29dbc25Smrg/* TVOUT HORIZONTAL PRE ENCODER SCALE BIT DEFINITIONS */
535f29dbc25Smrg
536f29dbc25Smrg#define SC1200_TVOUT_YC_DELAY_MASK                0x00C00000
537f29dbc25Smrg#define SC1200_TVOUT_YC_DELAY_NONE                0x00000000
538f29dbc25Smrg#define SC1200_TVOUT_Y_DELAY_ONE_PIXEL            0x00400000
539f29dbc25Smrg#define SC1200_TVOUT_C_DELAY_ONE_PIXEL            0x00800000
540f29dbc25Smrg#define SC1200_TVOUT_C_DELAY_TWO_PIXELS           0x00C00000
541f29dbc25Smrg
542f29dbc25Smrg/* TVOUT HORIZONTAL SCALING/CONTROL BIT DEFINITIONS */
543f29dbc25Smrg
544f29dbc25Smrg#define SC1200_TVOUT_FLICKER_FILTER_MASK               	0x60000000
545f29dbc25Smrg#define SC1200_TVOUT_FLICKER_FILTER_FOURTH_HALF_FOURTH 	0x00000000
546f29dbc25Smrg#define SC1200_TVOUT_FLICKER_FILTER_HALF_ONE_HALF      	0x20000000
547f29dbc25Smrg#define SC1200_TVOUT_FLICKER_FILTER_DISABLED           	0x40000000
548f29dbc25Smrg#define SC1200_TVENC_EXTERNAL_RESET_INTERVAL_MASK      	0x0F000000
549f29dbc25Smrg#define SC1200_TVENC_EXTERNAL_RESET_EVERY_ODD_FIELD    	0x00000000
550f29dbc25Smrg#define SC1200_TVENC_EXTERNAL_RESET_EVERY_EVEN_FIELD   	0x02000000
551f29dbc25Smrg#define SC1200_TVENC_EXTERNAL_RESET_NEXT_ODD_FIELD     	0x05000000
552f29dbc25Smrg#define SC1200_TVENC_EXTERNAL_RESET_NEXT_EVEN_FIELD    	0x07000000
553f29dbc25Smrg#define SC1200_TVENC_EXTERNAL_RESET_EVERY_FIELD        	0x0E000000
554f29dbc25Smrg#define SC1200_TVENC_EXTERNAL_RESET_EVERY_X_ODD_FIELDS  0x08000000
555f29dbc25Smrg#define SC1200_TVENC_EXTERNAL_RESET_EVERY_X_EVEN_FIELDS 0x0A000000
556f29dbc25Smrg
557f29dbc25Smrg/* TVOUT DEBUG BIT DEFINITIONS */
558f29dbc25Smrg
559f29dbc25Smrg#define SC1200_TVOUT_FIELD_STATUS_EVEN         	0x00000040
560f29dbc25Smrg#define SC1200_TVOUT_FIELD_STATUS_TV           	0x00000080
561f29dbc25Smrg#define SC1200_TVOUT_CRT_VSYNC_STATUS_TRAILING 	0x00000100
562f29dbc25Smrg#define SC1200_TVOUT_FIELD_STATUS_INVERT      	0x00000200
563f29dbc25Smrg#define SC1200_TVOUT_CONVERTER_INTERPOLATION   	0x00000400
564f29dbc25Smrg
565f29dbc25Smrg/* TVENC TIMING/CONTROL 1 BIT DEFINITIONS (REGISTER 0xC00) */
566f29dbc25Smrg
567f29dbc25Smrg#define SC1200_TVENC_VPHASE_MASK                          0x001FF800
568f29dbc25Smrg#define SC1200_TVENC_VPHASE_POS                           11
569f29dbc25Smrg#define SC1200_TVENC_SUB_CARRIER_RESET_MASK               0x30000000
570f29dbc25Smrg#define SC1200_TVENC_SUB_CARRIER_RESET_NEVER              0x00000000
571f29dbc25Smrg#define SC1200_TVENC_SUB_CARRIER_RESET_EVERY_TWO_LINES    0x10000000
572f29dbc25Smrg#define SC1200_TVENC_SUB_CARRIER_RESET_EVERY_TWO_FRAMES   0x20000000
573f29dbc25Smrg#define SC1200_TVENC_SUB_CARRIER_RESET_EVERY_FOUR_FRAMES  0x30000000
574f29dbc25Smrg#define SC1200_TVENC_VIDEO_TIMING_ENABLE                  0x80000000
575f29dbc25Smrg
576f29dbc25Smrg/* TVENC TIMING/CONTROL 2 BIT DEFINITIONS (REGISTER 0xC04) */
577f29dbc25Smrg
578f29dbc25Smrg#define SC1200_TVENC_OUTPUT_YCBCR                         0x40000000
579f29dbc25Smrg#define SC1200_TVENC_CFS_MASK                             0x00030000
580f29dbc25Smrg#define SC1200_TVENC_CFS_BYPASS                           0x00000000
581f29dbc25Smrg#define SC1200_TVENC_CFS_CVBS                             0x00020000
582f29dbc25Smrg#define SC1200_TVENC_CFS_SVIDEO                           0x00030000
583f29dbc25Smrg
584f29dbc25Smrg/* TVENC TIMING/CONTROL 3 BIT DEFINITIONS (REGISTER 0xC08) */
585f29dbc25Smrg
586f29dbc25Smrg#define SC1200_TVENC_CS                                   0x00000001
587f29dbc25Smrg#define SC1200_TVENC_SYNCMODE_MASK                        0x00000006
588f29dbc25Smrg#define SC1200_TVENC_SYNC_ON_GREEN                        0x00000002
589f29dbc25Smrg#define SC1200_TVENC_SYNC_ON_CVBS                         0x00000004
590f29dbc25Smrg#define SC1200_TVENC_CM                                   0x00000008
591f29dbc25Smrg
592f29dbc25Smrg/* TVENC DAC CONTROL BIT DEFINITIONS (REGISTER 0xC2C) */
593f29dbc25Smrg#define SC1200_TVENC_TRIM_MASK	               0x00000007
594f29dbc25Smrg#define SC1200_TVENC_POWER_DOWN	               0x00000020
595f29dbc25Smrg
596f29dbc25Smrg/* TVENC MV CONTROL BIT DEFINITIONS (REGISTER 0xC30) */
597f29dbc25Smrg#define SC1200_TVENC_MV_ENABLE                 0xBE
598f29dbc25Smrg
599f29dbc25Smrg/* SC1200 VIP REGISTER DEFINITIONS */
600f29dbc25Smrg
601f29dbc25Smrg#define SC1200_VIP_CONFIG					0x00000000
602f29dbc25Smrg#define SC1200_VIP_CONTROL					0x00000004
603f29dbc25Smrg#define SC1200_VIP_STATUS					0x00000008
604f29dbc25Smrg#define SC1200_VIP_CURRENT_LINE				0x00000010
605f29dbc25Smrg#define SC1200_VIP_LINE_TARGET				0x00000014
606f29dbc25Smrg#define SC1200_ODD_DIRECT_VBI_LINE_ENABLE   0x00000018
607f29dbc25Smrg#define SC1200_EVEN_DIRECT_VBI_LINE_ENABLE  0x0000001C
608f29dbc25Smrg#define SC1200_VIP_ODD_BASE					0x00000020
609f29dbc25Smrg#define SC1200_VIP_EVEN_BASE				0x00000024
610f29dbc25Smrg#define SC1200_VIP_PITCH					0x00000028
611f29dbc25Smrg#define SC1200_VBI_ODD_BASE					0x00000040
612f29dbc25Smrg#define SC1200_VBI_EVEN_BASE				0x00000044
613f29dbc25Smrg#define SC1200_VBI_PITCH					0x00000048
614f29dbc25Smrg
615f29dbc25Smrg/* "SC1200_VIP_CONFIG" BIT DEFINITIONS */
616f29dbc25Smrg
617f29dbc25Smrg#define SC1200_VIP_MODE_MASK                0x00000003
618f29dbc25Smrg#define	SC1200_VIP_MODE_C       			0x00000002
619f29dbc25Smrg#define SC1200_VBI_ANCILLARY_TO_MEMORY      0x000C0000
620f29dbc25Smrg#define SC1200_VBI_TASK_A_TO_MEMORY         0x00140000
621f29dbc25Smrg#define SC1200_VBI_TASK_B_TO_MEMORY         0x00240000
622f29dbc25Smrg#define SC1200_VIP_BUS_REQUEST_THRESHOLD    0x00400000
623f29dbc25Smrg
624f29dbc25Smrg/* "SC1200_VIP_CONTROL" BIT DEFINITIONS */
625f29dbc25Smrg
626f29dbc25Smrg#define SC1200_CAPTURE_RUN_MODE_MASK        0x00000003
627f29dbc25Smrg#define SC1200_CAPTURE_RUN_MODE_STOP_LINE   0x00000000
628f29dbc25Smrg#define SC1200_CAPTURE_RUN_MODE_STOP_FIELD  0x00000001
629f29dbc25Smrg#define SC1200_CAPTURE_RUN_MODE_START       0x00000003
630f29dbc25Smrg#define	SC1200_VIP_DATA_CAPTURE_EN			0x00000100
631f29dbc25Smrg#define	SC1200_VIP_VBI_CAPTURE_EN			0x00000200
632f29dbc25Smrg#define	SC1200_VIP_VBI_FIELD_INTERRUPT_EN	0x00010000
633f29dbc25Smrg
634f29dbc25Smrg/* "SC1200_VIP_STATUS" BIT DEFINITIONS */
635f29dbc25Smrg
636f29dbc25Smrg#define	SC1200_VIP_CURRENT_FIELD_ODD		0x01000000
637f29dbc25Smrg#define SC1200_VIP_BASE_NOT_UPDATED         0x00200000
638f29dbc25Smrg#define	SC1200_VIP_FIFO_OVERFLOW			0x00100000
639f29dbc25Smrg#define	SC1200_VIP_CLEAR_LINE_INT			0x00020000
640f29dbc25Smrg#define	SC1200_VIP_CLEAR_FIELD_INT			0x00010000
641f29dbc25Smrg#define	SC1200_VBI_DATA_CAPTURE_ACTIVE		0x00000200
642f29dbc25Smrg#define	SC1200_VIDEO_DATA_CAPTURE_ACTIVE	0x00000100
643f29dbc25Smrg
644f29dbc25Smrg/* "SC1200_VIP_CURRENT_LINE" BIT DEFINITIONS */
645f29dbc25Smrg
646f29dbc25Smrg#define SC1200_VIP_CURRENT_LINE_MASK	    0x000003FF
647f29dbc25Smrg
648f29dbc25Smrg/* "SC1200_VIP_LINE_TARGET" BIT DEFINITIONS */
649f29dbc25Smrg
650f29dbc25Smrg#define SC1200_VIP_LAST_LINE_MASK	        0x03FF0000
651f29dbc25Smrg
652f29dbc25Smrg/* "SC1200_VIP_PITCH" BIT DEFINITION */
653f29dbc25Smrg
654f29dbc25Smrg#define SC1200_VIP_PITCH_MASK               0x0000FFFC
655f29dbc25Smrg
656f29dbc25Smrg/* "SC1200_VBI_PITCH" BIT DEFINITION */
657f29dbc25Smrg
658f29dbc25Smrg#define SC1200_VBI_PITCH_MASK               0x0000FFFC
659f29dbc25Smrg
660f29dbc25Smrg/* SC1200 DIRECT VBI LINE ENABLE BIT DEFINITION */
661f29dbc25Smrg
662f29dbc25Smrg#define SC1200_DIRECT_VBI_LINE_ENABLE_MASK  0x00FFFFFF
663f29dbc25Smrg
664f29dbc25Smrg/* SC1200 CONFIGURATION BLOCK */
665f29dbc25Smrg
666f29dbc25Smrg#define SC1200_CB_BASE_ADDR                 0x9000
667f29dbc25Smrg#define SC1200_CB_WDTO                      0x0000
668f29dbc25Smrg#define SC1200_CB_WDCNFG                    0x0002
669f29dbc25Smrg#define SC1200_CB_WDSTS                     0x0004
670f29dbc25Smrg#define SC1200_CB_TMVALUE                   0x0008
671f29dbc25Smrg#define SC1200_CB_TMCNFG                    0x000D
672f29dbc25Smrg#define SC1200_CB_CCFC                      0x001E
673f29dbc25Smrg#define SC1200_CB_PMR                       0x0030
674f29dbc25Smrg#define SC1200_CB_MCR                       0x0034
675f29dbc25Smrg#define SC1200_CB_INTSEL                    0x0038
676f29dbc25Smrg#define SC1200_CB_PID                       0x003C
677f29dbc25Smrg#define SC1200_CB_REV                       0x003D
678f29dbc25Smrg
679f29dbc25Smrg/* SC1200 HIGH RESOLUTION TIMER CONFIGURATION REGISTER BITS */
680f29dbc25Smrg
681f29dbc25Smrg#define SC1200_TMCLKSEL_27MHZ               0x2
682f29dbc25Smrg
683f29dbc25Smrg/*---------------------------------*/
684f29dbc25Smrg/*  PHILIPS SAA7114 VIDEO DECODER  */
685f29dbc25Smrg/*---------------------------------*/
686f29dbc25Smrg
687f29dbc25Smrg#define SAA7114_CHIPADDR					0x42
688f29dbc25Smrg
689f29dbc25Smrg/* VIDEO DECODER REGISTER DEFINITIONS */
690f29dbc25Smrg
691f29dbc25Smrg#define SAA7114_ANALOG_INPUT_CTRL1			0x02
692f29dbc25Smrg#define SAA7114_LUMINANCE_CONTROL           0x09
693f29dbc25Smrg#define SAA7114_BRIGHTNESS					0x0A
694f29dbc25Smrg#define SAA7114_CONTRAST					0x0B
695f29dbc25Smrg#define SAA7114_SATURATION					0x0C
696f29dbc25Smrg#define SAA7114_HUE							0x0D
697f29dbc25Smrg#define SAA7114_STATUS						0x1F
698f29dbc25Smrg#define SAA7114_IPORT_CONTROL				0x86
699f29dbc25Smrg
700f29dbc25Smrg/* TASK A REGISTER DEFINITIONS */
701f29dbc25Smrg
702f29dbc25Smrg#define SAA7114_TASK_A_HORZ_OUTPUT_LO		0x9C
703f29dbc25Smrg#define SAA7114_TASK_A_HORZ_OUTPUT_HI		0x9D
704f29dbc25Smrg#define SAA7114_TASK_A_HSCALE_LUMA_LO		0xA8
705f29dbc25Smrg#define SAA7114_TASK_A_HSCALE_LUMA_HI		0xA9
706f29dbc25Smrg#define SAA7114_TASK_A_HSCALE_CHROMA_LO		0xAC
707f29dbc25Smrg#define SAA7114_TASK_A_HSCALE_CHROMA_HI		0xAD
708f29dbc25Smrg
709f29dbc25Smrg/* TASK B REGISTER DEFINITIONS */
710f29dbc25Smrg
711f29dbc25Smrg#define SAA7114_HORZ_OFFSET_LO				0xC4
712f29dbc25Smrg#define SAA7114_HORZ_OFFSET_HI				0xC5
713f29dbc25Smrg#define SAA7114_HORZ_INPUT_LO				0xC6
714f29dbc25Smrg#define SAA7114_HORZ_INPUT_HI				0xC7
715f29dbc25Smrg#define SAA7114_VERT_OFFSET_LO				0xC8
716f29dbc25Smrg#define SAA7114_VERT_OFFSET_HI				0xC9
717f29dbc25Smrg#define SAA7114_VERT_INPUT_LO				0xCA
718f29dbc25Smrg#define SAA7114_VERT_INPUT_HI				0xCB
719f29dbc25Smrg#define SAA7114_HORZ_OUTPUT_LO				0xCC
720f29dbc25Smrg#define SAA7114_HORZ_OUTPUT_HI				0xCD
721f29dbc25Smrg#define SAA7114_VERT_OUTPUT_LO				0xCE
722f29dbc25Smrg#define SAA7114_VERT_OUTPUT_HI				0xCF
723f29dbc25Smrg#define SAA7114_HORZ_PRESCALER				0xD0
724f29dbc25Smrg#define SAA7114_HORZ_ACL					0xD1
725f29dbc25Smrg#define SAA7114_HORZ_FIR_PREFILTER			0xD2
726f29dbc25Smrg#define SAA7114_FILTER_CONTRAST				0xD5
727f29dbc25Smrg#define SAA7114_FILTER_SATURATION			0xD6
728f29dbc25Smrg#define SAA7114_HSCALE_LUMA_LO				0xD8
729f29dbc25Smrg#define SAA7114_HSCALE_LUMA_HI				0xD9
730f29dbc25Smrg#define SAA7114_HSCALE_CHROMA_LO			0xDC
731f29dbc25Smrg#define SAA7114_HSCALE_CHROMA_HI			0xDD
732f29dbc25Smrg#define SAA7114_VSCALE_LUMA_LO				0xE0
733f29dbc25Smrg#define SAA7114_VSCALE_LUMA_HI				0xE1
734f29dbc25Smrg#define SAA7114_VSCALE_CHROMA_LO			0xE2
735f29dbc25Smrg#define SAA7114_VSCALE_CHROMA_HI			0xE3
736f29dbc25Smrg#define SAA7114_VSCALE_CONTROL				0xE4
737f29dbc25Smrg#define SAA7114_VSCALE_CHROMA_OFFS0			0xE8
738f29dbc25Smrg#define SAA7114_VSCALE_CHROMA_OFFS1			0xE9
739f29dbc25Smrg#define SAA7114_VSCALE_CHROMA_OFFS2			0xEA
740f29dbc25Smrg#define SAA7114_VSCALE_CHROMA_OFFS3			0xEB
741f29dbc25Smrg#define SAA7114_VSCALE_LUMINA_OFFS0			0xEC
742f29dbc25Smrg#define SAA7114_VSCALE_LUMINA_OFFS1			0xED
743f29dbc25Smrg#define SAA7114_VSCALE_LUMINA_OFFS2			0xEE
744f29dbc25Smrg#define SAA7114_VSCALE_LUMINA_OFFS3			0xEF
745f29dbc25Smrg
746f29dbc25Smrg/* Still need to determine PHO value (common phase offset) */
747f29dbc25Smrg#define SAA7114_VSCALE_PHO					0x00
748f29dbc25Smrg
749f29dbc25Smrg/*----------------------------------------------*/
750f29dbc25Smrg/*  SECOND GENERATION GRAPHICS UNIT (REDCLOUD)  */
751f29dbc25Smrg/*----------------------------------------------*/
752f29dbc25Smrg
753f29dbc25Smrg#define MGP_DST_OFFSET			0x0000  /* dst address                  */
754f29dbc25Smrg#define MGP_SRC_OFFSET			0x0004  /* src address                  */
755f29dbc25Smrg#define MGP_VEC_ERR				0x0004  /* vector diag/axial errors     */
756f29dbc25Smrg#define MGP_STRIDE				0x0008  /* src and dst strides          */
757f29dbc25Smrg#define MGP_WID_HEIGHT			0x000C  /* width and height of BLT      */
758f29dbc25Smrg#define MGP_VEC_LEN				0x000C  /* vector length/init error             */
759f29dbc25Smrg#define MGP_SRC_COLOR_FG		0x0010  /* src mono data fgcolor        */
760f29dbc25Smrg#define MGP_SRC_COLOR_BG		0x0014  /* src mono data bkcolor        */
761f29dbc25Smrg#define MGP_PAT_COLOR_0			0x0018  /* pattern color 0              */
762f29dbc25Smrg#define MGP_PAT_COLOR_1			0x001C  /* pattern color 1              */
763f29dbc25Smrg#define MGP_PAT_COLOR_2			0x0020  /* pattern color 2              */
764f29dbc25Smrg#define MGP_PAT_COLOR_3			0x0024  /* pattern color 3              */
765f29dbc25Smrg#define MGP_PAT_COLOR_4			0x0028  /* pattern color 4              */
766f29dbc25Smrg#define MGP_PAT_COLOR_5			0x002C  /* pattern color 5              */
767f29dbc25Smrg#define MGP_PAT_DATA_0			0x0030  /* pattern data 0               */
768f29dbc25Smrg#define MGP_PAT_DATA_1			0x0034  /* pattern data 1               */
769f29dbc25Smrg#define MGP_RASTER_MODE			0x0038  /* raster operation             */
770f29dbc25Smrg#define MGP_VECTOR_MODE			0x003C  /* render vector                */
771f29dbc25Smrg#define MGP_BLT_MODE			0x0040  /* render BLT                   */
772f29dbc25Smrg#define MGP_BLT_STATUS			0x0044  /* BLT status register          */
773f29dbc25Smrg#define MGP_RESET				0x0044  /* reset register (write)       */
774f29dbc25Smrg#define MGP_HST_SOURCE			0x0048  /* host src data (bitmap)       */
775f29dbc25Smrg#define MGP_BASE_OFFSET			0x004C  /* base render offset           */
776f29dbc25Smrg
777f29dbc25Smrg/* MGP_RASTER_MODE DEFINITIONS */
778f29dbc25Smrg
779f29dbc25Smrg#define MGP_RM_BPPFMT_332		    0x00000000  /* 8 BPP, 3:3:2                 */
780f29dbc25Smrg#define MGP_RM_BPPFMT_4444		    0x40000000  /* 16 BPP, 4:4:4:4              */
781f29dbc25Smrg#define MGP_RM_BPPFMT_1555		    0x50000000  /* 16 BPP, 1:5:5:5              */
782f29dbc25Smrg#define MGP_RM_BPPFMT_565		    0x60000000  /* 16 BPP, 5:6:5                */
783f29dbc25Smrg#define MGP_RM_BPPFMT_8888		    0x80000000  /* 32 BPP, 8:8:8:8              */
784f29dbc25Smrg#define MGP_RM_ALPHA_EN_MASK        0x00C00000  /* Alpha enable             */
785f29dbc25Smrg#define MGP_RM_ALPHA_TO_RGB         0x00400000  /* Alpha applies to RGB     */
786f29dbc25Smrg#define MGP_RM_ALPHA_TO_ALPHA       0x00800000  /* Alpha applies to alpha   */
787f29dbc25Smrg#define MGP_RM_ALPHA_OP_MASK        0x00300000  /* Alpha operation          */
788f29dbc25Smrg#define MGP_RM_ALPHA_TIMES_A        0x00000000  /* Alpha * A                */
789f29dbc25Smrg#define MGP_RM_BETA_TIMES_B         0x00100000  /* (1-alpha) * B            */
790f29dbc25Smrg#define MGP_RM_A_PLUS_BETA_B        0x00200000  /* A + (1-alpha) * B        */
791f29dbc25Smrg#define MGP_RM_ALPHA_A_PLUS_BETA_B  0x00300000  /* alpha * A + (1 - alpha)B */
792f29dbc25Smrg#define MGP_RM_ALPHA_SELECT         0x000E0000  /* Alpha Select             */
793f29dbc25Smrg#define MGP_RM_SELECT_ALPHA_A       0x00000000  /* Alpha from channel A     */
794f29dbc25Smrg#define MGP_RM_SELECT_ALPHA_B       0x00020000  /* Alpha from channel B     */
795f29dbc25Smrg#define MGP_RM_SELECT_ALPHA_R       0x00040000  /* Registered alpha         */
796f29dbc25Smrg#define MGP_RM_SELECT_ALPHA_1       0x00060000  /* Constant 1               */
797f29dbc25Smrg#define MGP_RM_SELECT_ALPHA_CHAN_A  0x00080000  /* RGB Values from A        */
798f29dbc25Smrg#define MGP_RM_SELECT_ALPHA_CHAN_B  0x000A0000  /* RGB Values from B        */
799f29dbc25Smrg#define MGP_RM_DEST_FROM_CHAN_A     0x00010000  /* Alpha channel select     */
800f29dbc25Smrg#define MGP_RM_PAT_FLAGS		    0x00000700  /* pattern related bits     */
801f29dbc25Smrg#define MGP_RM_PAT_MONO			    0x00000100  /* monochrome pattern       */
802f29dbc25Smrg#define MGP_RM_PAT_COLOR		    0x00000200  /* color pattern            */
803f29dbc25Smrg#define MGP_RM_PAT_TRANS		    0x00000400  /* pattern transparency     */
804f29dbc25Smrg#define MGP_RM_SRC_TRANS		    0x00000800  /* source transparency      */
805f29dbc25Smrg
806f29dbc25Smrg/* MGP_VECTOR_MODE DEFINITIONS */
807f29dbc25Smrg
808f29dbc25Smrg#define MGP_VM_DST_REQ			0x00000008      /* dst data required        */
809f29dbc25Smrg#define MGP_VM_THROTTLE			0x00000010      /* sync to VBLANK           */
810f29dbc25Smrg
811f29dbc25Smrg/* MGP_BLT_MODE DEFINITIONS */
812f29dbc25Smrg
813f29dbc25Smrg#define MGP_BM_SRC_FB			0x00000001      /* src = frame buffer       */
814f29dbc25Smrg#define MGP_BM_SRC_HOST			0x00000002      /* src = host register      */
815f29dbc25Smrg#define MGP_BM_DST_REQ			0x00000004      /* dst data required        */
816f29dbc25Smrg#define MGP_BM_SRC_MONO			0x00000040      /* monochrome source data   */
817f29dbc25Smrg#define MGP_BM_SRC_BP_MONO      0x00000080      /* Byte-packed monochrome   */
818f29dbc25Smrg#define MGP_BM_SRC_TYPE_MASK    0x000000C0      /* Mask for all source fmts */
819f29dbc25Smrg#define MGP_BM_NEG_YDIR			0x00000100      /* negative Y direction     */
820f29dbc25Smrg#define MGP_BM_NEG_XDIR			0x00000200      /* negative X direction     */
821f29dbc25Smrg#define MGP_BM_THROTTLE			0x00000400      /* sync to VBLANK           */
822f29dbc25Smrg
823f29dbc25Smrg/* MGP_BLT_STATUS DEFINITIONS */
824f29dbc25Smrg
825f29dbc25Smrg#define MGP_BS_BLT_BUSY			0x00000001      /* GP is not idle           */
826f29dbc25Smrg#define MGP_BS_BLT_PENDING		0x00000004      /* second BLT is pending    */
827f29dbc25Smrg#define MGP_BS_HALF_EMPTY		0x00000008      /* src FIFO half empty      */
828f29dbc25Smrg
829f29dbc25Smrg/* ALPHA BLENDING MODES       */
830f29dbc25Smrg
831f29dbc25Smrg#define ALPHA_MODE_BLEND        0x00000000
832f29dbc25Smrg
833f29dbc25Smrg/*---------------------------------------------------*/
834f29dbc25Smrg/*  SECOND GENERATION DISPLAY CONTROLLER (REDCLOUD)  */
835f29dbc25Smrg/*---------------------------------------------------*/
836f29dbc25Smrg
837f29dbc25Smrg#define MDC_UNLOCK              0x00000000      /* Unlock register          */
838f29dbc25Smrg#define MDC_GENERAL_CFG         0x00000004      /* Config registers         */
839f29dbc25Smrg#define MDC_DISPLAY_CFG         0x00000008
840f29dbc25Smrg#define MDC_GFX_SCL             0x0000000C      /* Graphics scaling         */
841f29dbc25Smrg
842f29dbc25Smrg#define MDC_FB_ST_OFFSET        0x00000010      /* Frame buffer start offset */
843f29dbc25Smrg#define MDC_CB_ST_OFFSET        0x00000014      /* Compression start offset */
844f29dbc25Smrg#define MDC_CURS_ST_OFFSET      0x00000018      /* Cursor buffer start          */
845f29dbc25Smrg                                                                                                /*  offset                              */
846f29dbc25Smrg#define MDC_ICON_ST_OFFSET      0x0000001C      /* Icon buffer start offset */
847f29dbc25Smrg#define MDC_VID_Y_ST_OFFSET     0x00000020      /* Video Y Buffer start         */
848f29dbc25Smrg                                                                                                /*  offset                              */
849f29dbc25Smrg#define MDC_VID_U_ST_OFFSET     0x00000024      /* Video U Buffer start         */
850f29dbc25Smrg                                                                                                /*      offset                                  */
851f29dbc25Smrg#define MDC_VID_V_ST_OFFSET     0x00000028      /* Video V Buffer start         */
852f29dbc25Smrg                                                                                                /*      offset                                  */
853f29dbc25Smrg#define MDC_LINE_SIZE           0x00000030      /* Video, CB, and FB line       */
854f29dbc25Smrg                                                                                                /*      sizes                                   */
855f29dbc25Smrg#define MDC_GFX_PITCH           0x00000034      /* FB and DB skip counts    */
856f29dbc25Smrg#define MDC_VID_YUV_PITCH       0x00000038      /* Y, U and V buffer skip       */
857f29dbc25Smrg                                                                                                /*      counts                                  */
858f29dbc25Smrg
859f29dbc25Smrg#define MDC_H_ACTIVE_TIMING     0x00000040      /* Horizontal timings       */
860f29dbc25Smrg#define MDC_H_BLANK_TIMING      0x00000044
861f29dbc25Smrg#define MDC_H_SYNC_TIMING       0x00000048
862f29dbc25Smrg#define MDC_V_ACTIVE_TIMING     0x00000050      /* Vertical Timings         */
863f29dbc25Smrg#define MDC_V_BLANK_TIMING      0x00000054
864f29dbc25Smrg#define MDC_V_SYNC_TIMING       0x00000058
865f29dbc25Smrg
866f29dbc25Smrg#define MDC_CURSOR_X            0x00000060      /* Cursor X position        */
867f29dbc25Smrg#define MDC_CURSOR_Y            0x00000064      /* Cursor Y Position        */
868f29dbc25Smrg#define MDC_ICON_X              0x00000068      /* Icon X Position          */
869f29dbc25Smrg#define MDC_LINE_CNT_STATUS     0x0000006C      /* Icon Y Position          */
870f29dbc25Smrg
871f29dbc25Smrg#define MDC_PAL_ADDRESS         0x00000070      /* Palette Address          */
872f29dbc25Smrg#define MDC_PAL_DATA            0x00000074      /* Palette Data             */
873f29dbc25Smrg#define MDC_DFIFO_DIAG          0x00000078      /* Display FIFO diagnostic  */
874f29dbc25Smrg#define MDC_CFIFO_DIAG          0x0000007C      /* Compression FIFO             */
875f29dbc25Smrg                                                                                                /*      diagnostic                      */
876f29dbc25Smrg
877f29dbc25Smrg#define MDC_VID_DS_DELTA        0x00000080      /* Vertical Downscaling         */
878f29dbc25Smrg                                                                                                /*      fraction                                */
879f29dbc25Smrg
880f29dbc25Smrg#define MDC_PHY_MEM_OFFSET      0x00000084      /* VG Base Address Register */
881f29dbc25Smrg#define MDC_DV_CTL              0x00000088      /* Dirty-Valid Control          */
882f29dbc25Smrg                                                                                                /*      Register                                */
883f29dbc25Smrg#define MDC_DV_ACC              0x0000008C      /* Dirty-Valid RAM Access   */
884f29dbc25Smrg
885f29dbc25Smrg/* UNLOCK VALUE */
886f29dbc25Smrg
887f29dbc25Smrg#define MDC_UNLOCK_VALUE		0x00004758      /* used to unlock DC regs   */
888f29dbc25Smrg
889f29dbc25Smrg/* VG MBUS DEVICE SMI MSR FIELDS */
890f29dbc25Smrg
891f29dbc25Smrg#define MDC_VG_BL_MASK            0x00000001
892f29dbc25Smrg#define MDC_MISC_MASK             0x00000002
893f29dbc25Smrg#define MDC_ISR0_MASK             0x00000004
894f29dbc25Smrg#define MDC_VGA_BL_MASK           0x00000008
895f29dbc25Smrg#define MDC_CRTCIO_MSK            0x00000010
896f29dbc25Smrg#define MDC_VG_BLANK_SMI          0x00000001
897f29dbc25Smrg#define MDC_MISC_SMI              0x00000002
898f29dbc25Smrg#define MDC_ISR0_SMI              0x00000004
899f29dbc25Smrg#define MDC_VGA_BLANK_SMI         0x00000008
900f29dbc25Smrg#define MDC_CRTCIO_SMI            0x00000010
901f29dbc25Smrg
902f29dbc25Smrg/* MDC_GENERAL_CFG BIT FIELDS */
903f29dbc25Smrg
904f29dbc25Smrg#define MDC_GCFG_DBUG             0x80000000
905f29dbc25Smrg#define MDC_GCFG_DBSL             0x40000000
906f29dbc25Smrg#define MDC_GCFG_CFRW             0x20000000
907f29dbc25Smrg#define MDC_GCFG_DIAG             0x10000000
908f29dbc25Smrg#define MDC_GCFG_GXRFS4           0x08000000
909f29dbc25Smrg#define MDC_GCFG_SGFR             0x04000000
910f29dbc25Smrg#define MDC_GCFG_SGRE             0x02000000
911f29dbc25Smrg#define MDC_GCFG_SIGE             0x01000000
912f29dbc25Smrg#define MDC_GCFG_YUVM             0x00100000
913f29dbc25Smrg#define MDC_GCFG_VDSE             0x00080000
914f29dbc25Smrg#define MDC_GCFG_VGAFT            0x00040000
915f29dbc25Smrg#define MDC_GCFG_FDTY             0x00020000
916f29dbc25Smrg#define MDC_GCFG_STFM             0x00010000
917f29dbc25Smrg#define MDC_GCFG_DFHPEL_MASK      0x0000F000
918f29dbc25Smrg#define MDC_GCFG_DFHPSL_MASK      0x00000F00
919f29dbc25Smrg#define MDC_GCFG_VGAE             0x00000080
920f29dbc25Smrg#define MDC_GCFG_DECE             0x00000040
921f29dbc25Smrg#define MDC_GCFG_CMPE             0x00000020
922f29dbc25Smrg#define MDC_GCFG_VIDE             0x00000008
923f29dbc25Smrg#define MDC_GCFG_ICNE             0x00000004
924f29dbc25Smrg#define MDC_GCFG_CURE             0x00000002
925f29dbc25Smrg#define MDC_GCFG_DFLE             0x00000001
926f29dbc25Smrg
927f29dbc25Smrg/* MDC_DISPLAY_CFG BIT FIELDS */
928f29dbc25Smrg
929f29dbc25Smrg#define MDC_DCFG_A20M             0x80000000
930f29dbc25Smrg#define MDC_DCFG_A18M             0x40000000
931f29dbc25Smrg#define MDC_DCFG_VISL             0x08000000
932f29dbc25Smrg#define MDC_DCFG_FRLK             0x04000000
933f29dbc25Smrg#define MDC_DCFG_PALB             0x02000000
934f29dbc25Smrg#define MDC_DCFG_PIX_PAN_MASK     0x00F00000
935f29dbc25Smrg#define MDC_DCFG_DCEN             0x00080000
936f29dbc25Smrg#define MDC_DCFG_16BPP_MODE_MASK  0x00000C00
937f29dbc25Smrg#define MDC_DCFG_16BPP            0x00000000
938f29dbc25Smrg#define MDC_DCFG_15BPP            0x00000400
939f29dbc25Smrg#define MDC_DCFG_12BPP            0x00000800
940f29dbc25Smrg#define MDC_DCFG_DISP_MODE_MASK   0x00000300
941f29dbc25Smrg#define MDC_DCFG_DISP_MODE_8BPP   0x00000000
942f29dbc25Smrg#define MDC_DCFG_DISP_MODE_16BPP  0x00000100
943f29dbc25Smrg#define MDC_DCFG_DISP_MODE_24BPP  0x00000200
944f29dbc25Smrg#define MDC_DCFG_SCLE             0x00000080
945f29dbc25Smrg#define MDC_DCFG_TRUP             0x00000040
946f29dbc25Smrg#define MDC_DCFG_VIEN             0x00000020
947f29dbc25Smrg#define MDC_DCFG_VDEN             0x00000010
948f29dbc25Smrg#define MDC_DCFG_GDEN             0x00000008
949f29dbc25Smrg#define MDC_DCFG_VCKE             0x00000004
950f29dbc25Smrg#define MDC_DCFG_PCKE             0x00000002
951f29dbc25Smrg#define MDC_DCFG_TGEN             0x00000001
952f29dbc25Smrg
953f29dbc25Smrg/* MDC_LINE_CNT BIT FIELDS     */
954f29dbc25Smrg
955f29dbc25Smrg#define MDC_LNCNT_DNA             0x80000000
956f29dbc25Smrg#define MDC_LNCNT_VNA             0x40000000
957f29dbc25Smrg#define MDC_LNCNT_VSA             0x20000000
958f29dbc25Smrg#define MDC_LNCNT_VINT            0x10000000
959f29dbc25Smrg#define MDC_LNCNT_FLIP            0x08000000
960f29dbc25Smrg#define MDC_LNCNT_V_LINE_CNT      0x07FF0000
961f29dbc25Smrg#define MDC_LNCNT_VFLIP           0x00008000
962f29dbc25Smrg#define MDC_LNCNT_SIGC            0x00004000
963f29dbc25Smrg#define MDC_LNCNT_SS_LINE_CMP     0x000007FF
964f29dbc25Smrg
965f29dbc25Smrg/* MDC_FB_ST_OFFSET BIT FIELDS */
966f29dbc25Smrg
967f29dbc25Smrg#define MDC_FB_ST_OFFSET_MASK     0x0FFFFFFF
968f29dbc25Smrg
969f29dbc25Smrg/* MDC_CB_ST_OFFSET BIT FIELDS */
970f29dbc25Smrg
971f29dbc25Smrg#define MDC_CB_ST_OFFSET_MASK     0x0FFFFFFF
972f29dbc25Smrg
973f29dbc25Smrg/* MDC_CURS_ST_OFFSET BIT FIELDS */
974f29dbc25Smrg
975f29dbc25Smrg#define MDC_CURS_ST_OFFSET_MASK   0x0FFFFFFF
976f29dbc25Smrg
977f29dbc25Smrg/* MDC_ICON_ST_OFFSET BIT FIELDS */
978f29dbc25Smrg
979f29dbc25Smrg#define MDC_ICON_ST_OFFSET_MASK   0x0FFFFFFF
980f29dbc25Smrg
981f29dbc25Smrg/* MDC_VID_Y_ST_OFFSET BIT FIELDS */
982f29dbc25Smrg
983f29dbc25Smrg#define MDC_VID_Y_ST_OFFSET_MASK  0x0FFFFFFF
984f29dbc25Smrg
985f29dbc25Smrg/* MDC_VID_U_ST_OFFSET BIT FIELDS */
986f29dbc25Smrg
987f29dbc25Smrg#define MDC_VID_U_ST_OFFSET_MASK  0x0FFFFFFF
988f29dbc25Smrg
989f29dbc25Smrg/* MDC_VID_V_ST_OFFSET BIT FIELDS */
990f29dbc25Smrg
991f29dbc25Smrg#define MDC_VID_V_ST_OFFSET_MASK  0x0FFFFFFF
992f29dbc25Smrg
993f29dbc25Smrg/* MDC_LINE_SIZE BIT FIELDS */
994f29dbc25Smrg
995f29dbc25Smrg#define MDC_LINE_SIZE_VLS_MASK    0xFF000000
996f29dbc25Smrg#define MDC_LINE_SIZE_CBLS_MASK   0x007F0000
997f29dbc25Smrg#define MDC_LINE_SIZE_FBLS_MASK   0x000007FF
998f29dbc25Smrg
999f29dbc25Smrg/* MDC_GFX_PITCH BIT FIELDS */
1000f29dbc25Smrg
1001f29dbc25Smrg#define MDC_GFX_PITCH_CBP_MASK    0xFFFF0000
1002f29dbc25Smrg#define MDC_GFX_PITCH_FBP_MASK    0x0000FFFF
1003f29dbc25Smrg
1004f29dbc25Smrg/* MDC_VID_YUV_PITCH BIT FIELDS */
1005f29dbc25Smrg
1006f29dbc25Smrg#define MDC_YUV_PITCH_UVP_MASK    0xFFFF0000
1007f29dbc25Smrg#define MDC_YUV_PITCH_YBP_MASK    0x0000FFFF
1008f29dbc25Smrg
1009f29dbc25Smrg/* MDC_H_ACTIVE_TIMING BIT FIELDS */
1010f29dbc25Smrg
1011f29dbc25Smrg#define MDC_HAT_HT_MASK           0x0FF80000
1012f29dbc25Smrg#define MDC_HAT_HA_MASK           0x00000FF8
1013f29dbc25Smrg
1014f29dbc25Smrg/* MDC_H_BLANK_TIMING BIT FIELDS */
1015f29dbc25Smrg
1016f29dbc25Smrg#define MDC_HBT_HBE_MASK          0x0FF80000
1017f29dbc25Smrg#define MDC_HBT_HBS_MASK          0x00000FF8
1018f29dbc25Smrg
1019f29dbc25Smrg/* MDC_H_SYNC_TIMING BIT FIELDS */
1020f29dbc25Smrg
1021f29dbc25Smrg#define MDC_HST_HSE_MASK          0x0FF80000
1022f29dbc25Smrg#define MDC_HST_HSS_MASK          0x00000FF8
1023f29dbc25Smrg
1024f29dbc25Smrg/* MDC_V_ACTIVE_TIMING BIT FIELDS */
1025f29dbc25Smrg
1026f29dbc25Smrg#define MDC_VAT_VT_MASK           0x07FF0000
1027f29dbc25Smrg#define MDC_VAT_VA_MASK           0x000007FF
1028f29dbc25Smrg
1029f29dbc25Smrg/* MDC_V_BLANK_TIMING BIT FIELDS */
1030f29dbc25Smrg
1031f29dbc25Smrg#define MDC_VBT_VBE_MASK          0x07FF0000
1032f29dbc25Smrg#define MDC_VBT_VBS_MASK          0x000007FF
1033f29dbc25Smrg
1034f29dbc25Smrg/* MDC_V_SYNC_TIMING BIT FIELDS */
1035f29dbc25Smrg
1036f29dbc25Smrg#define MDC_VST_VSE_MASK          0x07FF0000
1037f29dbc25Smrg#define MDC_VST_VSS_MASK          0x000007FF
1038f29dbc25Smrg
1039f29dbc25Smrg/* MDC_DV_CTL BIT DEFINITIONS */
1040f29dbc25Smrg
1041f29dbc25Smrg#define MDC_DV_LINE_SIZE_MASK     0x00000C00
1042f29dbc25Smrg#define MDC_DV_LINE_SIZE_1024     0x00000000
1043f29dbc25Smrg#define MDC_DV_LINE_SIZE_2048     0x00000400
1044f29dbc25Smrg#define MDC_DV_LINE_SIZE_4096     0x00000800
1045f29dbc25Smrg#define MDC_DV_LINE_SIZE_8192     0x00000C00
1046f29dbc25Smrg
1047f29dbc25Smrg/* VGA DEFINITIONS */
1048f29dbc25Smrg
1049f29dbc25Smrg#define MDC_SEQUENCER_INDEX       0x03C4
1050f29dbc25Smrg#define MDC_SEQUENCER_DATA        0x03C5
1051f29dbc25Smrg#define MDC_SEQUENCER_RESET       0x00
1052f29dbc25Smrg#define MDC_SEQUENCER_CLK_MODE    0x01
1053f29dbc25Smrg
1054f29dbc25Smrg#define MDC_RESET_VGA_DISP_ENABLE 0x03
1055f29dbc25Smrg#define MDC_CLK_MODE_SCREEN_OFF   0x20
1056f29dbc25Smrg
1057f29dbc25Smrg/*---------------------------------------------------*/
1058f29dbc25Smrg/*  REDCLOUD DISPLAY FILTER                          */
1059f29dbc25Smrg/*---------------------------------------------------*/
1060f29dbc25Smrg
1061f29dbc25Smrg/* RCDF VIDEO REGISTER DEFINITIONS */
1062f29dbc25Smrg
1063f29dbc25Smrg#define RCDF_VIDEO_CONFIG 				    0x000
1064f29dbc25Smrg#define RCDF_DISPLAY_CONFIG				    0x008
1065f29dbc25Smrg#define RCDF_VIDEO_X_POS					0x010
1066f29dbc25Smrg#define RCDF_VIDEO_Y_POS					0x018
1067f29dbc25Smrg#define RCDF_VIDEO_SCALE					0x020
1068f29dbc25Smrg#define RCDF_VIDEO_COLOR_KEY				0x028
1069f29dbc25Smrg#define RCDF_VIDEO_COLOR_MASK				0x030
1070f29dbc25Smrg#define RCDF_PALETTE_ADDRESS 				0x038
1071f29dbc25Smrg#define RCDF_PALETTE_DATA	 				0x040
1072f29dbc25Smrg#define RCDF_VID_MISC						0x050
1073f29dbc25Smrg#define RCDF_VID_CLOCK_SELECT				0x058
1074f29dbc25Smrg#define RCDF_VIDEO_DOWNSCALER_CONTROL       0x078
1075f29dbc25Smrg#define RCDF_VIDEO_DOWNSCALER_COEFFICIENTS  0x080
1076f29dbc25Smrg#define RCDF_VID_CRC						0x088
1077f29dbc25Smrg#define RCDF_VID_CRC32						0x090
1078f29dbc25Smrg#define RCDF_VID_ALPHA_CONTROL			    0x098
1079f29dbc25Smrg#define RCDF_CURSOR_COLOR_KEY				0x0A0
1080f29dbc25Smrg#define RCDF_CURSOR_COLOR_MASK			    0x0A8
1081f29dbc25Smrg#define RCDF_CURSOR_COLOR_1				    0x0B0
1082f29dbc25Smrg#define RCDF_CURSOR_COLOR_2				    0x0B8
1083f29dbc25Smrg#define RCDF_ALPHA_XPOS_1					0x0C0
1084f29dbc25Smrg#define RCDF_ALPHA_YPOS_1					0x0C8
1085f29dbc25Smrg#define RCDF_ALPHA_COLOR_1				    0x0D0
1086f29dbc25Smrg#define RCDF_ALPHA_CONTROL_1				0x0D8
1087f29dbc25Smrg#define RCDF_ALPHA_XPOS_2					0x0E0
1088f29dbc25Smrg#define RCDF_ALPHA_YPOS_2					0x0E8
1089f29dbc25Smrg#define RCDF_ALPHA_COLOR_2				    0x0F0
1090f29dbc25Smrg#define RCDF_ALPHA_CONTROL_2				0x0F8
1091f29dbc25Smrg#define RCDF_ALPHA_XPOS_3					0x100
1092f29dbc25Smrg#define RCDF_ALPHA_YPOS_3					0x108
1093f29dbc25Smrg#define RCDF_ALPHA_COLOR_3				    0x110
1094f29dbc25Smrg#define RCDF_ALPHA_CONTROL_3				0x118
1095f29dbc25Smrg#define RCDF_VIDEO_REQUEST                  0x120
1096f29dbc25Smrg#define RCDF_ALPHA_WATCH                    0x128
1097f29dbc25Smrg#define RCDF_VIDEO_TEST_MODE                0x210
1098f29dbc25Smrg#define RCDF_POWER_MANAGEMENT               0x410
1099f29dbc25Smrg
1100f29dbc25Smrg/* DISPLAY FILTER POWER MANAGEMENT DEFINITIONS */
1101f29dbc25Smrg
1102f29dbc25Smrg#define RCDF_PM_PANEL_POWER_ON              0x01000000
1103f29dbc25Smrg
1104f29dbc25Smrg/* DISPLAY FILTER MSRS */
1105f29dbc25Smrg
1106f29dbc25Smrg#define RCDF_MBD_MSR_DIAG_DF				0x2010
1107f29dbc25Smrg#define RCDF_DIAG_32BIT_CRC					0x80000000
1108f29dbc25Smrg
1109f29dbc25Smrg/* "RCDF_VIDEO_CONFIG" BIT DEFINITIONS */
1110f29dbc25Smrg
1111f29dbc25Smrg#define RCDF_VCFG_VID_EN					0x00000001
1112f29dbc25Smrg#define RCDF_VCFG_VID_INP_FORMAT			0x0000000C
1113f29dbc25Smrg#define RCDF_VCFG_X_FILTER_EN				0x00000040
1114f29dbc25Smrg#define RCDF_VCFG_Y_FILTER_EN				0x00000080
1115f29dbc25Smrg#define RCDF_VCFG_LINE_SIZE_LOWER_MASK	    0x0000FF00
1116f29dbc25Smrg#define RCDF_VCFG_INIT_READ_MASK			0x01FF0000
1117f29dbc25Smrg#define RCDF_VCFG_LINE_SIZE_UPPER			0x08000000
1118f29dbc25Smrg#define RCDF_VCFG_4_2_0_MODE				0x10000000
1119f29dbc25Smrg#define RCDF_VCFG_UYVY_FORMAT				0x00000000
1120f29dbc25Smrg#define RCDF_VCFG_Y2YU_FORMAT				0x00000004
1121f29dbc25Smrg#define RCDF_VCFG_YUYV_FORMAT				0x00000008
1122f29dbc25Smrg#define RCDF_VCFG_YVYU_FORMAT				0x0000000C
1123f29dbc25Smrg
1124f29dbc25Smrg/* "RCDF_DISPLAY_CONFIG" BIT DEFINITIONS */
1125f29dbc25Smrg
1126f29dbc25Smrg#define RCDF_DCFG_DIS_EN				    0x00000001
1127f29dbc25Smrg#define RCDF_DCFG_HSYNC_EN				    0x00000002
1128f29dbc25Smrg#define RCDF_DCFG_VSYNC_EN				    0x00000004
1129f29dbc25Smrg#define RCDF_DCFG_DAC_BL_EN				    0x00000008
1130f29dbc25Smrg#define RCDF_DCFG_FP_PWR_EN				    0x00000040
1131f29dbc25Smrg#define RCDF_DCFG_FP_DATA_EN				0x00000080
1132f29dbc25Smrg#define RCDF_DCFG_CRT_HSYNC_POL 			0x00000100
1133f29dbc25Smrg#define RCDF_DCFG_CRT_VSYNC_POL 			0x00000200
1134f29dbc25Smrg#define RCDF_DCFG_CRT_SYNC_SKW_MASK		    0x0001C000
1135f29dbc25Smrg#define RCDF_DCFG_CRT_SYNC_SKW_INIT		    0x00010000
1136f29dbc25Smrg#define RCDF_DCFG_PWR_SEQ_DLY_MASK		    0x000E0000
1137f29dbc25Smrg#define RCDF_DCFG_PWR_SEQ_DLY_INIT		    0x00080000
1138f29dbc25Smrg#define RCDF_DCFG_VG_CK					    0x00100000
1139f29dbc25Smrg#define RCDF_DCFG_GV_PAL_BYP				0x00200000
1140f29dbc25Smrg#define RCDF_DAC_VREF                       0x04000000
1141f29dbc25Smrg#define RCDF_FP_ON_STATUS                   0x08000000
1142f29dbc25Smrg
1143f29dbc25Smrg/* "RCDF_VID_MISC" BIT DEFINITIONS */
1144f29dbc25Smrg
1145f29dbc25Smrg#define RCDF_GAMMA_BYPASS_BOTH              0x00000001
1146f29dbc25Smrg#define RCDF_DAC_POWER_DOWN                 0x00000400
1147f29dbc25Smrg#define RCDF_ANALOG_POWER_DOWN              0x00000800
1148f29dbc25Smrg
1149f29dbc25Smrg/* "RCDF_VIDEO_DOWNSCALER_CONTROL" BIT DEFINITIONS */
1150f29dbc25Smrg
1151f29dbc25Smrg#define RCDF_VIDEO_DOWNSCALE_ENABLE         0x00000001
1152f29dbc25Smrg#define RCDF_VIDEO_DOWNSCALE_FACTOR_POS     1
1153f29dbc25Smrg#define RCDF_VIDEO_DOWNSCALE_FACTOR_MASK    0x0000001E
1154f29dbc25Smrg#define RCDF_VIDEO_DOWNSCALE_TYPE_A         0x00000000
1155f29dbc25Smrg#define RCDF_VIDEO_DOWNSCALE_TYPE_B         0x00000040
1156f29dbc25Smrg#define RCDF_VIDEO_DOWNSCALE_TYPE_MASK      0x00000040
1157f29dbc25Smrg
1158f29dbc25Smrg/* "RCDF_VIDEO_DOWNSCALER_COEFFICIENTS" BIT DEFINITIONS */
1159f29dbc25Smrg
1160f29dbc25Smrg#define RCDF_VIDEO_DOWNSCALER_COEF1_POS     0
1161f29dbc25Smrg#define RCDF_VIDEO_DOWNSCALER_COEF2_POS     8
1162f29dbc25Smrg#define RCDF_VIDEO_DOWNSCALER_COEF3_POS     16
1163f29dbc25Smrg#define RCDF_VIDEO_DOWNSCALER_COEF4_POS     24
1164f29dbc25Smrg#define RCDF_VIDEO_DOWNSCALER_COEF_MASK     0xF
1165f29dbc25Smrg
1166f29dbc25Smrg/* VIDEO DE-INTERLACING AND ALPHA CONTROL */
1167f29dbc25Smrg
1168f29dbc25Smrg#define RCDF_NO_CK_OUTSIDE_ALPHA            0x00000100
1169f29dbc25Smrg#define RCDF_CSC_VIDEO_YUV_TO_RGB           0x00000400
1170f29dbc25Smrg#define RCDF_VIDEO_INPUT_IS_RGB             0x00002000
1171f29dbc25Smrg#define RCDF_ALPHA1_PRIORITY_POS			16
1172f29dbc25Smrg#define RCDF_ALPHA1_PRIORITY_MASK			0x00030000
1173f29dbc25Smrg#define RCDF_ALPHA2_PRIORITY_POS			18
1174f29dbc25Smrg#define RCDF_ALPHA2_PRIORITY_MASK			0x000C0000
1175f29dbc25Smrg#define RCDF_ALPHA3_PRIORITY_POS			20
1176f29dbc25Smrg#define RCDF_ALPHA3_PRIORITY_MASK			0x00300000
1177f29dbc25Smrg
1178f29dbc25Smrg/* VIDEO CURSOR COLOR KEY DEFINITIONS */
1179f29dbc25Smrg
1180f29dbc25Smrg#define RCDF_CURSOR_COLOR_KEY_ENABLE      0x20000000
1181f29dbc25Smrg#define RCDF_CURSOR_COLOR_KEY_OFFSET_POS  24
1182f29dbc25Smrg#define RCDF_CURSOR_COLOR_BITS            23
1183f29dbc25Smrg#define RCDF_COLOR_MASK                   0x00FFFFFF
1184f29dbc25Smrg                                                                                /* 24 significant bits */
1185f29dbc25Smrg
1186f29dbc25Smrg/* ALPHA COLOR BIT DEFINITION (REGISTERS 0x68, 0x78, AND 0x88) */
1187f29dbc25Smrg
1188f29dbc25Smrg#define RCDF_ALPHA_COLOR_ENABLE           0x01000000
1189f29dbc25Smrg
1190f29dbc25Smrg/* ALPHA CONTROL BIT DEFINITIONS (REGISTERS 0x6C, 0x7C, AND 0x8C) */
1191f29dbc25Smrg
1192f29dbc25Smrg#define RCDF_ACTRL_WIN_ENABLE				0x00010000
1193f29dbc25Smrg#define RCDF_ACTRL_LOAD_ALPHA				0x00020000
1194f29dbc25Smrg
1195f29dbc25Smrg/* VIDEO REQUEST DEFINITIONS (REGISTER 0x90) */
1196f29dbc25Smrg
1197f29dbc25Smrg#define RCDF_VIDEO_Y_REQUEST_POS          0
1198f29dbc25Smrg#define RCDF_VIDEO_X_REQUEST_POS          16
1199f29dbc25Smrg#define RCDF_VIDEO_REQUEST_MASK           0x000007FF
1200f29dbc25Smrg
1201f29dbc25Smrg/* GEODELINK DEVICE MSR REGISTER SUMMARY */
1202f29dbc25Smrg
120304007ebaSmrg#define MBD_MSR_CAP         0x2000      /* Device Capabilities              */
120404007ebaSmrg#define MBD_MSR_CONFIG      0x2001      /* Device Master Configuration          */
1205f29dbc25Smrg                                                                                /*      Register                                                */
120604007ebaSmrg#define MBD_MSR_SMI         0x2002      /* MBus Device SMI Register         */
120704007ebaSmrg#define MBD_MSR_ERROR       0x2003      /* MBus Device Error                */
120804007ebaSmrg#define MBD_MSR_PM          0x2004      /* MBus Device Power Management         */
1209f29dbc25Smrg                                                                                /*      Register                                                */
121004007ebaSmrg#define MBD_MSR_DIAG        0x2005      /* Mbus Device Diagnostic Register  */
1211f29dbc25Smrg
1212f29dbc25Smrg/* DISPLAY FILTER MBD_MSR_DIAG DEFINITIONS */
1213f29dbc25Smrg
1214f29dbc25Smrg#define RCDF_MBD_DIAG_SEL0        0x00007FFF    /* Lower 32-bits of Diag Bus
1215f29dbc25Smrg                                                 * Select     */
1216f29dbc25Smrg#define RCDF_MBD_DIAG_EN0         0x00008000    /* Enable for lower 32-bits of
1217f29dbc25Smrg                                                 * diag bus */
1218f29dbc25Smrg#define RCDF_MBD_DIAG_SEL1        0x7FFF0000    /* Upper 32-bits of Diag Bus
1219f29dbc25Smrg                                                 * Select     */
1220f29dbc25Smrg#define RCDF_MBD_DIAG_EN1         0x80000000    /* Enable for upper 32-bits of
1221f29dbc25Smrg                                                 * diag bus */
1222f29dbc25Smrg
1223f29dbc25Smrg/* DISPLAY FILTER MBD_MSR_CONFIG DEFINITIONS */
1224f29dbc25Smrg
1225f29dbc25Smrg#define RCDF_CONFIG_FMT_MASK      0x00000038    /* Output Format */
1226f29dbc25Smrg#define RCDF_CONFIG_FMT_CRT       0x00000000
1227f29dbc25Smrg#define RCDF_CONFIG_FMT_FP        0x00000008
1228f29dbc25Smrg
1229f29dbc25Smrg/* MCP MSR DEFINITIONS */
1230f29dbc25Smrg
1231f29dbc25Smrg#define MCP_CLKOFF                0x0010
1232f29dbc25Smrg#define MCP_CLKACTIVE             0x0011
1233f29dbc25Smrg#define MCP_CLKDISABLE            0x0012
1234f29dbc25Smrg#define MCP_CLK4ACK               0x0013
1235f29dbc25Smrg#define MCP_SYS_RSTPLL            0x0014
1236f29dbc25Smrg#define MCP_DOTPLL                0x0015
1237f29dbc25Smrg#define MCP_DBGCLKCTL             0x0016
1238f29dbc25Smrg#define MCP_RC_REVID              0x0017
1239f29dbc25Smrg#define MCP_SETM0CTL              0x0040
1240f29dbc25Smrg#define MCP_SETN0CTL              0x0048
1241f29dbc25Smrg#define MCP_CMPVAL0               0x0050
1242f29dbc25Smrg#define MCP_CMPMASK0              0x0051
1243f29dbc25Smrg#define MCP_REGA                  0x0058
1244f29dbc25Smrg#define MCP_REGB                  0x0059
1245f29dbc25Smrg#define MCP_REGAMASK              0x005A
1246f29dbc25Smrg#define MCP_REGAVAL               0x005B
1247f29dbc25Smrg#define MCP_REGBMASK              0x005C
1248f29dbc25Smrg#define MCP_REGBVAL               0x005D
1249f29dbc25Smrg#define MCP_FIFOCTL               0x005E
1250f29dbc25Smrg#define MCP_DIAGCTL               0x005F
1251f29dbc25Smrg#define MCP_H0CTL                 0x0060
1252f29dbc25Smrg#define MCP_XSTATE                0x0066
1253f29dbc25Smrg#define MCP_YSTATE                0x0067
1254f29dbc25Smrg#define MCP_ACTION0               0x0068
1255f29dbc25Smrg
1256f29dbc25Smrg/* MCP_SYS_RSTPLL DEFINITIONS */
1257f29dbc25Smrg
1258f29dbc25Smrg#define MCP_DOTPOSTDIV3           0x00000008
1259f29dbc25Smrg#define MCP_DOTPREMULT2           0x00000004
1260f29dbc25Smrg#define MCP_DOTPREDIV2            0x00000002
1261f29dbc25Smrg#define MCP_DOTPLL_HALFPIX        0x01000000
1262f29dbc25Smrg
1263f29dbc25Smrg/* MCP MBD_MSR_DIAG DEFINITIONS */
1264f29dbc25Smrg
1265f29dbc25Smrg#define MCP_MBD_DIAG_SEL0         0x00000007
1266f29dbc25Smrg#define MCP_MBD_DIAG_EN0          0x00008000
1267f29dbc25Smrg#define MCP_MBD_DIAG_SEL1         0x00070000
1268f29dbc25Smrg#define MCP_MBD_DIAG_EN1          0x80000000
1269f29dbc25Smrg
1270f29dbc25Smrg/* MCP_DOTPLL DEFINITIONS */
1271f29dbc25Smrg
1272f29dbc25Smrg#define MCP_DOTPLL_P              0x00000003
1273f29dbc25Smrg#define MCP_DOTPLL_N              0x000001FC
1274f29dbc25Smrg#define MCP_DOTPLL_M              0x00001E00
1275f29dbc25Smrg#define MCP_DOTPLL_LOCK           0x02000000
1276f29dbc25Smrg#define MCP_DOTPLL_BYPASS         0x00008000
1277