171d7fec4Smrg/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nsc/gfx/gfx_regs.h,v 1.2 2003/02/05 18:38:43 alanh Exp $ */
271d7fec4Smrg/*
371d7fec4Smrg * $Workfile: gfx_regs.h $
471d7fec4Smrg *
571d7fec4Smrg * This header file contains the graphics register definitions.
671d7fec4Smrg *
771d7fec4Smrg * NSC_LIC_ALTERNATIVE_PREAMBLE
871d7fec4Smrg *
971d7fec4Smrg * Revision 1.0
1071d7fec4Smrg *
1171d7fec4Smrg * National Semiconductor Alternative GPL-BSD License
1271d7fec4Smrg *
1371d7fec4Smrg * National Semiconductor Corporation licenses this software
1471d7fec4Smrg * ("Software"):
1571d7fec4Smrg *
1671d7fec4Smrg *      Durango
1771d7fec4Smrg *
1871d7fec4Smrg * under one of the two following licenses, depending on how the
1971d7fec4Smrg * Software is received by the Licensee.
2071d7fec4Smrg *
2171d7fec4Smrg * If this Software is received as part of the Linux Framebuffer or
2271d7fec4Smrg * other GPL licensed software, then the GPL license designated
2371d7fec4Smrg * NSC_LIC_GPL applies to this Software; in all other circumstances
2471d7fec4Smrg * then the BSD-style license designated NSC_LIC_BSD shall apply.
2571d7fec4Smrg *
2671d7fec4Smrg * END_NSC_LIC_ALTERNATIVE_PREAMBLE */
2771d7fec4Smrg
2871d7fec4Smrg/* NSC_LIC_BSD
2971d7fec4Smrg *
3071d7fec4Smrg * National Semiconductor Corporation Open Source License for Durango
3171d7fec4Smrg *
3271d7fec4Smrg * (BSD License with Export Notice)
3371d7fec4Smrg *
3471d7fec4Smrg * Copyright (c) 1999-2001
3571d7fec4Smrg * National Semiconductor Corporation.
3671d7fec4Smrg * All rights reserved.
3771d7fec4Smrg *
3871d7fec4Smrg * Redistribution and use in source and binary forms, with or without
3971d7fec4Smrg * modification, are permitted provided that the following conditions
4071d7fec4Smrg * are met:
4171d7fec4Smrg *
4271d7fec4Smrg *   * Redistributions of source code must retain the above copyright
4371d7fec4Smrg *     notice, this list of conditions and the following disclaimer.
4471d7fec4Smrg *
4571d7fec4Smrg *   * Redistributions in binary form must reproduce the above
4671d7fec4Smrg *     copyright notice, this list of conditions and the following
4771d7fec4Smrg *     disclaimer in the documentation and/or other materials provided
4871d7fec4Smrg *     with the distribution.
4971d7fec4Smrg *
5071d7fec4Smrg *   * Neither the name of the National Semiconductor Corporation nor
5171d7fec4Smrg *     the names of its contributors may be used to endorse or promote
5271d7fec4Smrg *     products derived from this software without specific prior
5371d7fec4Smrg *     written permission.
5471d7fec4Smrg *
5571d7fec4Smrg * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
5671d7fec4Smrg * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
5771d7fec4Smrg * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
5871d7fec4Smrg * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
5971d7fec4Smrg * NATIONAL SEMICONDUCTOR CORPORATION OR CONTRIBUTORS BE LIABLE FOR ANY
6071d7fec4Smrg * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
6171d7fec4Smrg * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
6271d7fec4Smrg * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
6371d7fec4Smrg * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
6471d7fec4Smrg * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE,
6571d7fec4Smrg * INTELLECTUAL PROPERTY INFRINGEMENT, OR OTHERWISE) ARISING IN ANY WAY
6671d7fec4Smrg * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
6771d7fec4Smrg * OF SUCH DAMAGE.
6871d7fec4Smrg *
6971d7fec4Smrg * EXPORT LAWS: THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS OF
7071d7fec4Smrg * YOUR JURISDICTION. It is licensee's responsibility to comply with
7171d7fec4Smrg * any export regulations applicable in licensee's jurisdiction. Under
7271d7fec4Smrg * CURRENT (2001) U.S. export regulations this software
7371d7fec4Smrg * is eligible for export from the U.S. and can be downloaded by or
7471d7fec4Smrg * otherwise exported or reexported worldwide EXCEPT to U.S. embargoed
7571d7fec4Smrg * destinations which include Cuba, Iraq, Libya, North Korea, Iran,
7671d7fec4Smrg * Syria, Sudan, Afghanistan and any other country to which the U.S.
7771d7fec4Smrg * has embargoed goods and services.
7871d7fec4Smrg *
7971d7fec4Smrg * END_NSC_LIC_BSD */
8071d7fec4Smrg
8171d7fec4Smrg/* NSC_LIC_GPL
8271d7fec4Smrg *
8371d7fec4Smrg * National Semiconductor Corporation Gnu General Public License for Durango
8471d7fec4Smrg *
8571d7fec4Smrg * (GPL License with Export Notice)
8671d7fec4Smrg *
8771d7fec4Smrg * Copyright (c) 1999-2001
8871d7fec4Smrg * National Semiconductor Corporation.
8971d7fec4Smrg * All rights reserved.
9071d7fec4Smrg *
9171d7fec4Smrg * Redistribution and use in source and binary forms, with or without
9271d7fec4Smrg * modification, are permitted under the terms of the GNU General
9371d7fec4Smrg * Public License as published by the Free Software Foundation; either
9471d7fec4Smrg * version 2 of the License, or (at your option) any later version
9571d7fec4Smrg *
9671d7fec4Smrg * In addition to the terms of the GNU General Public License, neither
9771d7fec4Smrg * the name of the National Semiconductor Corporation nor the names of
9871d7fec4Smrg * its contributors may be used to endorse or promote products derived
9971d7fec4Smrg * from this software without specific prior written permission.
10071d7fec4Smrg *
10171d7fec4Smrg * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
10271d7fec4Smrg * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
10371d7fec4Smrg * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
10471d7fec4Smrg * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
10571d7fec4Smrg * NATIONAL SEMICONDUCTOR CORPORATION OR CONTRIBUTORS BE LIABLE FOR ANY
10671d7fec4Smrg * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
10771d7fec4Smrg * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
10871d7fec4Smrg * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
10971d7fec4Smrg * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
11071d7fec4Smrg * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE,
11171d7fec4Smrg * INTELLECTUAL PROPERTY INFRINGEMENT, OR OTHERWISE) ARISING IN ANY WAY
11271d7fec4Smrg * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
11371d7fec4Smrg * OF SUCH DAMAGE. See the GNU General Public License for more details.
11471d7fec4Smrg *
11571d7fec4Smrg * EXPORT LAWS: THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS OF
11671d7fec4Smrg * YOUR JURISDICTION. It is licensee's responsibility to comply with
11771d7fec4Smrg * any export regulations applicable in licensee's jurisdiction. Under
11871d7fec4Smrg * CURRENT (2001) U.S. export regulations this software
11971d7fec4Smrg * is eligible for export from the U.S. and can be downloaded by or
12071d7fec4Smrg * otherwise exported or reexported worldwide EXCEPT to U.S. embargoed
12171d7fec4Smrg * destinations which include Cuba, Iraq, Libya, North Korea, Iran,
12271d7fec4Smrg * Syria, Sudan, Afghanistan and any other country to which the U.S.
12371d7fec4Smrg * has embargoed goods and services.
12471d7fec4Smrg *
12571d7fec4Smrg * You should have received a copy of the GNU General Public License
12671d7fec4Smrg * along with this file; if not, write to the Free Software Foundation,
12771d7fec4Smrg * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
12871d7fec4Smrg *
12971d7fec4Smrg * END_NSC_LIC_GPL */
13071d7fec4Smrg
13171d7fec4Smrg/*----------------------------------*/
13271d7fec4Smrg/*  FIRST GENERATION GRAPHICS UNIT  */
13371d7fec4Smrg/*----------------------------------*/
13471d7fec4Smrg
13571d7fec4Smrg#define GP_DST_XCOOR			0x8100	/* x destination origin         */
13671d7fec4Smrg#define GP_DST_YCOOR			0x8102	/* y destination origin         */
13771d7fec4Smrg#define GP_WIDTH				0x8104	/* pixel width                          */
13871d7fec4Smrg#define GP_HEIGHT				0x8106	/* pixel height                         */
13971d7fec4Smrg#define GP_SRC_XCOOR			0x8108	/* x source origin                      */
14071d7fec4Smrg#define GP_SRC_YCOOR			0x810A	/* y source origin                      */
14171d7fec4Smrg
14271d7fec4Smrg#define GP_VECTOR_LENGTH		0x8104	/* vector length                        */
14371d7fec4Smrg#define GP_INIT_ERROR			0x8106	/* vector initial error         */
14471d7fec4Smrg#define GP_AXIAL_ERROR			0x8108	/* axial error increment        */
14571d7fec4Smrg#define GP_DIAG_ERROR			0x810A	/* diagonal error increment */
14671d7fec4Smrg
14771d7fec4Smrg#define GP_SRC_COLOR_0			0x810C	/* source color 0                       */
14871d7fec4Smrg#define GP_SRC_COLOR_1			0x810E	/* source color 1                       */
14971d7fec4Smrg#define GP_PAT_COLOR_0			0x8110	/* pattern color 0          */
15071d7fec4Smrg#define GP_PAT_COLOR_1			0x8112	/* pattern color 1          */
15171d7fec4Smrg#define GP_PAT_COLOR_2			0x8114	/* pattern color 2          */
15271d7fec4Smrg#define GP_PAT_COLOR_3			0x8116	/* pattern color 3          */
15371d7fec4Smrg#define GP_PAT_DATA_0			0x8120	/* bits 31:0 of pattern         */
15471d7fec4Smrg#define GP_PAT_DATA_1			0x8124	/* bits 63:32 of pattern        */
15571d7fec4Smrg#define GP_PAT_DATA_2			0x8128	/* bits 95:64 of pattern        */
15671d7fec4Smrg#define GP_PAT_DATA_3			0x812C	/* bits 127:96 of pattern       */
15771d7fec4Smrg
15871d7fec4Smrg#define GP_VGA_WRITE			0x8140	/* VGA write path control   */
15971d7fec4Smrg#define GP_VGA_READ				0x8144	/* VGA read path control    */
16071d7fec4Smrg
16171d7fec4Smrg#define GP_RASTER_MODE			0x8200	/* raster operation                     */
16271d7fec4Smrg#define GP_VECTOR_MODE			0x8204	/* vector mode register         */
16371d7fec4Smrg#define GP_BLIT_MODE			0x8208	/* blit mode register           */
16471d7fec4Smrg#define GP_BLIT_STATUS			0x820C	/* blit status register         */
16571d7fec4Smrg
16671d7fec4Smrg#define GP_VGA_BASE				0x8210	/* VGA memory offset (x64K) */
16771d7fec4Smrg#define GP_VGA_LATCH			0x8214	/* VGA display latch        */
16871d7fec4Smrg
16971d7fec4Smrg/* "GP_VECTOR_MODE" BIT DEFINITIONS */
17071d7fec4Smrg
17171d7fec4Smrg#define VM_X_MAJOR				0x0000	/* X major vector                       */
17271d7fec4Smrg#define VM_Y_MAJOR				0x0001	/* Y major vector                       */
17371d7fec4Smrg#define VM_MAJOR_INC			0x0002	/* positive major axis step */
17471d7fec4Smrg#define VM_MINOR_INC			0x0004	/* positive minor axis step */
17571d7fec4Smrg#define VM_READ_DST_FB			0x0008	/* read destination data        */
17671d7fec4Smrg
17771d7fec4Smrg/* "GP_RASTER_MODE" BIT DEFINITIONS */
17871d7fec4Smrg
17971d7fec4Smrg#define RM_PAT_DISABLE			0x0000	/* pattern is disabled          */
18071d7fec4Smrg#define RM_PAT_MONO				0x0100	/* 1BPP pattern expansion       */
18171d7fec4Smrg#define RM_PAT_DITHER			0x0200	/* 2BPP pattern expansion       */
18271d7fec4Smrg#define RM_PAT_COLOR			0x0300	/* 8BPP or 16BPP pattern        */
18371d7fec4Smrg#define RM_PAT_MASK				0x0300	/* mask for pattern mode        */
18471d7fec4Smrg#define RM_PAT_TRANSPARENT		0x0400	/* transparent 1BPP pattern     */
18571d7fec4Smrg#define RM_SRC_TRANSPARENT		0x0800	/* transparent 1BPP source      */
18671d7fec4Smrg
18771d7fec4Smrg/* "GP_BLIT_STATUS" BIT DEFINITIONS */
18871d7fec4Smrg
18971d7fec4Smrg#define BS_BLIT_BUSY			0x0001	/* blit engine is busy          */
19071d7fec4Smrg#define BS_PIPELINE_BUSY		0x0002	/* graphics pipeline is busy */
19171d7fec4Smrg#define BS_BLIT_PENDING			0x0004	/* blit pending                         */
19271d7fec4Smrg#define BC_FLUSH				0x0080	/* flush pipeline requests  */
19371d7fec4Smrg#define BC_8BPP					0x0000	/* 8BPP mode                            */
19471d7fec4Smrg#define BC_16BPP				0x0100	/* 16BPP mode                           */
19571d7fec4Smrg#define BC_FB_WIDTH_1024		0x0000	/* framebuffer width = 1024 */
19671d7fec4Smrg#define BC_FB_WIDTH_2048		0x0200	/* framebuffer width = 2048 */
19771d7fec4Smrg#define BC_FB_WIDTH_4096		0x0400	/* framebuffer width = 4096     */
19871d7fec4Smrg
19971d7fec4Smrg/* "GP_BLIT_MODE" BIT DEFINITIONS */
20071d7fec4Smrg
20171d7fec4Smrg#define	BM_READ_SRC_NONE		0x0000	/* source foreground color      */
20271d7fec4Smrg#define BM_READ_SRC_FB			0x0001	/* read source from FB          */
20371d7fec4Smrg#define BM_READ_SRC_BB0			0x0002	/* read source from BB0         */
20471d7fec4Smrg#define BM_READ_SRC_BB1			0x0003	/* read source from BB1         */
20571d7fec4Smrg#define BM_READ_SRC_MASK		0x0003	/* read source mask                     */
20671d7fec4Smrg
20771d7fec4Smrg#define	BM_READ_DST_NONE		0x0000	/* no destination data          */
20871d7fec4Smrg#define BM_READ_DST_BB0			0x0008	/* destination from BB0         */
20971d7fec4Smrg#define BM_READ_DST_BB1			0x000C	/* destination from BB1         */
21071d7fec4Smrg#define BM_READ_DST_FB0			0x0010	/* dest from FB (store BB0) */
21171d7fec4Smrg#define BM_READ_DST_FB1			0x0014	/* dest from FB (store BB1) */
21271d7fec4Smrg#define BM_READ_DST_MASK		0x001C	/* read destination mask        */
21371d7fec4Smrg
21471d7fec4Smrg#define BM_WRITE_FB				0x0000	/* write to framebuffer         */
21571d7fec4Smrg#define	BM_WRITE_MEM			0x0020	/* write to memory                      */
21671d7fec4Smrg#define BM_WRITE_MASK			0x0020	/* write mask                           */
21771d7fec4Smrg
21871d7fec4Smrg#define	BM_SOURCE_COLOR			0x0000	/* source is 8BPP or 16BPP      */
21971d7fec4Smrg#define BM_SOURCE_EXPAND		0x0040	/* source is 1BPP                       */
22071d7fec4Smrg#define BM_SOURCE_TEXT			0x00C0	/* source is 1BPP text          */
22171d7fec4Smrg#define BM_SOURCE_MASK			0x00C0	/* source mask                          */
22271d7fec4Smrg
22371d7fec4Smrg#define BM_REVERSE_Y			0x0100	/* reverse Y direction          */
22471d7fec4Smrg
22571d7fec4Smrg/*---------------------------------------*/
22671d7fec4Smrg/*  FIRST GENERATION DISPLAY CONTROLLER  */
22771d7fec4Smrg/*---------------------------------------*/
22871d7fec4Smrg
22971d7fec4Smrg#define DC_UNLOCK				0x8300	/* lock register                        */
23071d7fec4Smrg#define DC_GENERAL_CFG			0x8304	/* config registers...          */
23171d7fec4Smrg#define DC_TIMING_CFG			0x8308
23271d7fec4Smrg#define DC_OUTPUT_CFG			0x830C
23371d7fec4Smrg
23471d7fec4Smrg#define DC_FB_ST_OFFSET			0x8310	/* framebuffer start offset */
23571d7fec4Smrg#define DC_CB_ST_OFFSET			0x8314	/* compression start offset */
23671d7fec4Smrg#define DC_CURS_ST_OFFSET		0x8318	/* cursor start offset          */
23771d7fec4Smrg#define DC_ICON_ST_OFFSET		0x831C	/* icon start offset            */
23871d7fec4Smrg#define DC_VID_ST_OFFSET		0x8320	/* video start offset           */
23971d7fec4Smrg#define DC_LINE_DELTA			0x8324	/* fb and cb skip counts        */
24071d7fec4Smrg#define DC_BUF_SIZE				0x8328	/* fb and cb line size          */
24171d7fec4Smrg
24271d7fec4Smrg#define DC_H_TIMING_1			0x8330	/* horizontal timing...         */
24371d7fec4Smrg#define DC_H_TIMING_2			0x8334
24471d7fec4Smrg#define DC_H_TIMING_3			0x8338
24571d7fec4Smrg#define DC_FP_H_TIMING			0x833C
24671d7fec4Smrg
24771d7fec4Smrg#define DC_V_TIMING_1			0x8340	/* vertical timing...           */
24871d7fec4Smrg#define DC_V_TIMING_2			0x8344
24971d7fec4Smrg#define DC_V_TIMING_3			0x8348
25071d7fec4Smrg#define DC_FP_V_TIMING			0x834C
25171d7fec4Smrg
25271d7fec4Smrg#define DC_CURSOR_X				0x8350	/* cursor x position            */
25371d7fec4Smrg#define DC_ICON_X				0x8354	/* HACK - 1.3 definition        */
25471d7fec4Smrg#define DC_V_LINE_CNT			0x8354	/* vertical line counter        */
25571d7fec4Smrg#define DC_CURSOR_Y				0x8358	/* cursor y position            */
25671d7fec4Smrg#define DC_ICON_Y				0x835C	/* HACK - 1.3 definition        */
25771d7fec4Smrg#define DC_SS_LINE_CMP			0x835C	/* line compare value           */
25871d7fec4Smrg#define DC_CURSOR_COLOR			0x8360	/* cursor colors                        */
25971d7fec4Smrg#define DC_ICON_COLOR			0x8364	/* icon colors                          */
26071d7fec4Smrg#define DC_BORDER_COLOR			0x8368	/* border color                         */
26171d7fec4Smrg#define DC_PAL_ADDRESS			0x8370	/* palette address                      */
26271d7fec4Smrg#define DC_PAL_DATA				0x8374	/* palette data                         */
26371d7fec4Smrg#define DC_DFIFO_DIAG			0x8378	/* display FIFO diagnostic      */
26471d7fec4Smrg#define DC_CFIFO_DIAG			0x837C	/* compression FIF0 diagnostic  */
26571d7fec4Smrg
26671d7fec4Smrg/* PALETTE LOCATIONS */
26771d7fec4Smrg
26871d7fec4Smrg#define PAL_CURSOR_COLOR_0		0x100
26971d7fec4Smrg#define PAL_CURSOR_COLOR_1		0x101
27071d7fec4Smrg#define PAL_ICON_COLOR_0		0x102
27171d7fec4Smrg#define PAL_ICON_COLOR_1		0x103
27271d7fec4Smrg#define PAL_OVERSCAN_COLOR		0x104
27371d7fec4Smrg
27471d7fec4Smrg/* UNLOCK VALUE */
27571d7fec4Smrg
27671d7fec4Smrg#define DC_UNLOCK_VALUE		0x00004758	/* used to unlock DC regs       */
27771d7fec4Smrg
27871d7fec4Smrg/* "DC_GENERAL_CFG" BIT DEFINITIONS */
27971d7fec4Smrg
28071d7fec4Smrg#define DC_GCFG_DFLE		0x00000001	/* display FIFO load enable */
28171d7fec4Smrg#define DC_GCFG_CURE		0x00000002	/* cursor enable                        */
28271d7fec4Smrg#define DC_GCFG_VCLK_DIV	0x00000004	/* vid clock divisor            */
28371d7fec4Smrg#define DC_GCFG_PLNO		0x00000004	/* planar offset LSB            */
28471d7fec4Smrg#define DC_GCFG_PPC			0x00000008	/* pixel pan compatibility  */
28571d7fec4Smrg#define DC_GCFG_CMPE		0x00000010	/* compression enable       */
28671d7fec4Smrg#define DC_GCFG_DECE		0x00000020	/* decompression enable     */
28771d7fec4Smrg#define DC_GCFG_DCLK_MASK	0x000000C0	/* dotclock multiplier      */
28871d7fec4Smrg#define DC_GCFG_DCLK_POS	6	/* dotclock multiplier      */
28971d7fec4Smrg#define DC_GCFG_DFHPSL_MASK	0x00000F00	/* FIFO high-priority start */
29071d7fec4Smrg#define DC_GCFG_DFHPSL_POS	8	/* FIFO high-priority start */
29171d7fec4Smrg#define DC_GCFG_DFHPEL_MASK	0x0000F000	/* FIFO high-priority end   */
29271d7fec4Smrg#define DC_GCFG_DFHPEL_POS	12	/* FIFO high-priority end   */
29371d7fec4Smrg#define DC_GCFG_CIM_MASK	0x00030000	/* compressor insert mode   */
29471d7fec4Smrg#define DC_GCFG_CIM_POS		16	/* compressor insert mode   */
29571d7fec4Smrg#define DC_GCFG_FDTY		0x00040000	/* frame dirty mode         */
29671d7fec4Smrg#define DC_GCFG_RTPM		0x00080000	/* real-time perf. monitor  */
29771d7fec4Smrg#define DC_GCFG_DAC_RS_MASK	0x00700000	/* DAC register selects     */
29871d7fec4Smrg#define DC_GCFG_DAC_RS_POS	20	/* DAC register selects     */
29971d7fec4Smrg#define DC_GCFG_CKWR		0x00800000	/* clock write              */
30071d7fec4Smrg#define DC_GCFG_LDBL		0x01000000	/* line double              */
30171d7fec4Smrg#define DC_GCFG_DIAG		0x02000000	/* FIFO diagnostic mode     */
30271d7fec4Smrg#define DC_GCFG_CH4S		0x04000000	/* sparse refresh mode          */
30371d7fec4Smrg#define DC_GCFG_SSLC		0x08000000	/* enable line compare          */
30471d7fec4Smrg#define DC_GCFG_VIDE		0x10000000	/* video enable                     */
30571d7fec4Smrg#define DC_GCFG_DFCK		0x20000000	/* divide flat-panel clock - rev 2.3 down */
30671d7fec4Smrg#define DC_GCFG_VRDY		0x20000000	/* video port speed - rev 2.4 up  */
30771d7fec4Smrg#define DC_GCFG_DPCK		0x40000000	/* divide pixel clock       */
30871d7fec4Smrg#define DC_GCFG_DDCK		0x80000000	/* divide dot clock         */
30971d7fec4Smrg
31071d7fec4Smrg/* "DC_TIMING_CFG" BIT DEFINITIONS */
31171d7fec4Smrg
31271d7fec4Smrg#define DC_TCFG_FPPE		0x00000001	/* flat-panel power enable  */
31371d7fec4Smrg#define DC_TCFG_HSYE		0x00000002	/* horizontal sync enable   */
31471d7fec4Smrg#define DC_TCFG_VSYE		0x00000004	/* vertical sync enable     */
31571d7fec4Smrg#define DC_TCFG_BLKE		0x00000008	/* blank enable                         */
31671d7fec4Smrg#define DC_TCFG_DDCK		0x00000010	/* DDC clock                */
31771d7fec4Smrg#define DC_TCFG_TGEN		0x00000020	/* timing generator enable  */
31871d7fec4Smrg#define DC_TCFG_VIEN		0x00000040	/* vertical interrupt enable */
31971d7fec4Smrg#define DC_TCFG_BLNK		0x00000080	/* blink enable             */
32071d7fec4Smrg#define DC_TCFG_CHSP		0x00000100	/* horizontal sync polarity */
32171d7fec4Smrg#define DC_TCFG_CVSP		0x00000200	/* vertical sync polarity   */
32271d7fec4Smrg#define DC_TCFG_FHSP		0x00000400	/* panel horz sync polarity */
32371d7fec4Smrg#define DC_TCFG_FVSP		0x00000800	/* panel vert sync polarity */
32471d7fec4Smrg#define DC_TCFG_FCEN		0x00001000	/* flat-panel centering     */
32571d7fec4Smrg#define DC_TCFG_CDCE		0x00002000	/* HACK - 1.3 definition        */
32671d7fec4Smrg#define DC_TCFG_PLNR		0x00002000	/* planar mode enable           */
32771d7fec4Smrg#define DC_TCFG_INTL		0x00004000	/* interlace scan           */
32871d7fec4Smrg#define DC_TCFG_PXDB		0x00008000	/* pixel double             */
32971d7fec4Smrg#define DC_TCFG_BKRT		0x00010000	/* blink rate               */
33071d7fec4Smrg#define DC_TCFG_PSD_MASK	0x000E0000	/* power sequence delay     */
33171d7fec4Smrg#define DC_TCFG_PSD_POS		17	/* power sequence delay     */
33271d7fec4Smrg#define DC_TCFG_DDCI		0x08000000	/* DDC input (RO)           */
33371d7fec4Smrg#define DC_TCFG_SENS		0x10000000	/* monitor sense (RO)       */
33471d7fec4Smrg#define DC_TCFG_DNA			0x20000000	/* display not active (RO)  */
33571d7fec4Smrg#define DC_TCFG_VNA			0x40000000	/* vertical not active (RO) */
33671d7fec4Smrg#define DC_TCFG_VINT		0x80000000	/* vertical interrupt (RO)  */
33771d7fec4Smrg
33871d7fec4Smrg/* "DC_OUTPUT_CFG" BIT DEFINITIONS */
33971d7fec4Smrg
34071d7fec4Smrg#define DC_OCFG_8BPP		0x00000001	/* 8/16 bpp select          */
34171d7fec4Smrg#define DC_OCFG_555			0x00000002	/* 16 bpp format            */
34271d7fec4Smrg#define DC_OCFG_PCKE		0x00000004	/* PCLK enable              */
34371d7fec4Smrg#define DC_OCFG_FRME		0x00000008	/* frame rate mod enable    */
34471d7fec4Smrg#define DC_OCFG_DITE		0x00000010	/* dither enable            */
34571d7fec4Smrg#define DC_OCFG_2PXE		0x00000020	/* 2 pixel enable           */
34671d7fec4Smrg#define DC_OCFG_2XCK		0x00000040	/* 2 x pixel clock          */
34771d7fec4Smrg#define DC_OCFG_2IND		0x00000080	/* 2 index enable           */
34871d7fec4Smrg#define DC_OCFG_34ADD		0x00000100	/* 3- or 4-bit add          */
34971d7fec4Smrg#define DC_OCFG_FRMS		0x00000200	/* frame rate mod select    */
35071d7fec4Smrg#define DC_OCFG_CKSL		0x00000400	/* clock select             */
35171d7fec4Smrg#define DC_OCFG_PRMP		0x00000800	/* palette re-map           */
35271d7fec4Smrg#define DC_OCFG_PDEL		0x00001000	/* panel data enable low    */
35371d7fec4Smrg#define DC_OCFG_PDEH		0x00002000	/* panel data enable high   */
35471d7fec4Smrg#define DC_OCFG_CFRW		0x00004000	/* comp line buffer r/w sel */
35571d7fec4Smrg#define DC_OCFG_DIAG		0x00008000	/* comp line buffer diag    */
35671d7fec4Smrg
35771d7fec4Smrg#define MC_MEM_CNTRL1       0x00008400
35871d7fec4Smrg#define MC_DR_ADD			0x00008418
35971d7fec4Smrg#define MC_DR_ACC			0x0000841C
36071d7fec4Smrg
36171d7fec4Smrg/* MC_MEM_CNTRL1 BIT DEFINITIONS */
36271d7fec4Smrg
36371d7fec4Smrg#define MC_XBUSARB          0x00000008	/* 0 = GP priority < CPU priority */
36471d7fec4Smrg											/* 1 = GP priority = CPU priority */
36571d7fec4Smrg											/* GXm databook V2.0 is wrong ! */
36671d7fec4Smrg/*----------*/
36771d7fec4Smrg/*  CS5530  */
36871d7fec4Smrg/*----------*/
36971d7fec4Smrg
37071d7fec4Smrg/* CS5530 REGISTER DEFINITIONS */
37171d7fec4Smrg
37271d7fec4Smrg#define CS5530_VIDEO_CONFIG 		0x0000
37371d7fec4Smrg#define CS5530_DISPLAY_CONFIG       0x0004
37471d7fec4Smrg#define CS5530_VIDEO_X_POS          0x0008
37571d7fec4Smrg#define CS5530_VIDEO_Y_POS          0x000C
37671d7fec4Smrg#define CS5530_VIDEO_SCALE          0x0010
37771d7fec4Smrg#define CS5530_VIDEO_COLOR_KEY		0x0014
37871d7fec4Smrg#define CS5530_VIDEO_COLOR_MASK		0x0018
37971d7fec4Smrg#define CS5530_PALETTE_ADDRESS 		0x001C
38071d7fec4Smrg#define CS5530_PALETTE_DATA	 		0x0020
38171d7fec4Smrg#define CS5530_DOT_CLK_CONFIG       0x0024
38271d7fec4Smrg#define CS5530_CRCSIG_TFT_TV        0x0028
38371d7fec4Smrg
38471d7fec4Smrg/* "CS5530_VIDEO_CONFIG" BIT DEFINITIONS */
38571d7fec4Smrg
38671d7fec4Smrg#define CS5530_VCFG_VID_EN					0x00000001
38771d7fec4Smrg#define CS5530_VCFG_VID_REG_UPDATE			0x00000002
38871d7fec4Smrg#define CS5530_VCFG_VID_INP_FORMAT			0x0000000C
38971d7fec4Smrg#define CS5530_VCFG_8_BIT_4_2_0				0x00000004
39071d7fec4Smrg#define CS5530_VCFG_16_BIT_4_2_0			0x00000008
39171d7fec4Smrg#define CS5530_VCFG_GV_SEL					0x00000010
39271d7fec4Smrg#define CS5530_VCFG_CSC_BYPASS				0x00000020
39371d7fec4Smrg#define CS5530_VCFG_X_FILTER_EN				0x00000040
39471d7fec4Smrg#define CS5530_VCFG_Y_FILTER_EN				0x00000080
39571d7fec4Smrg#define CS5530_VCFG_LINE_SIZE_LOWER_MASK	0x0000FF00
39671d7fec4Smrg#define CS5530_VCFG_INIT_READ_MASK			0x01FF0000
39771d7fec4Smrg#define CS5530_VCFG_EARLY_VID_RDY  			0x02000000
39871d7fec4Smrg#define CS5530_VCFG_LINE_SIZE_UPPER			0x08000000
39971d7fec4Smrg#define CS5530_VCFG_4_2_0_MODE				0x10000000
40071d7fec4Smrg#define CS5530_VCFG_16_BIT_EN				0x20000000
40171d7fec4Smrg#define CS5530_VCFG_HIGH_SPD_INT			0x40000000
40271d7fec4Smrg
40371d7fec4Smrg/* "CS5530_DISPLAY_CONFIG" BIT DEFINITIONS */
40471d7fec4Smrg
40571d7fec4Smrg#define CS5530_DCFG_DIS_EN					0x00000001
40671d7fec4Smrg#define CS5530_DCFG_HSYNC_EN				0x00000002
40771d7fec4Smrg#define CS5530_DCFG_VSYNC_EN				0x00000004
40871d7fec4Smrg#define CS5530_DCFG_DAC_BL_EN				0x00000008
40971d7fec4Smrg#define CS5530_DCFG_DAC_PWDNX				0x00000020
41071d7fec4Smrg#define CS5530_DCFG_FP_PWR_EN				0x00000040
41171d7fec4Smrg#define CS5530_DCFG_FP_DATA_EN				0x00000080
41271d7fec4Smrg#define CS5530_DCFG_CRT_HSYNC_POL 			0x00000100
41371d7fec4Smrg#define CS5530_DCFG_CRT_VSYNC_POL 			0x00000200
41471d7fec4Smrg#define CS5530_DCFG_FP_HSYNC_POL  			0x00000400
41571d7fec4Smrg#define CS5530_DCFG_FP_VSYNC_POL  			0x00000800
41671d7fec4Smrg#define CS5530_DCFG_XGA_FP		  			0x00001000
41771d7fec4Smrg#define CS5530_DCFG_FP_DITH_EN				0x00002000
41871d7fec4Smrg#define CS5530_DCFG_CRT_SYNC_SKW_MASK		0x0001C000
41971d7fec4Smrg#define CS5530_DCFG_CRT_SYNC_SKW_INIT		0x00010000
42071d7fec4Smrg#define CS5530_DCFG_PWR_SEQ_DLY_MASK		0x000E0000
42171d7fec4Smrg#define CS5530_DCFG_PWR_SEQ_DLY_INIT		0x00080000
42271d7fec4Smrg#define CS5530_DCFG_VG_CK					0x00100000
42371d7fec4Smrg#define CS5530_DCFG_GV_PAL_BYP				0x00200000
42471d7fec4Smrg#define CS5530_DCFG_DDC_SCL					0x00400000
42571d7fec4Smrg#define CS5530_DCFG_DDC_SDA					0x00800000
42671d7fec4Smrg#define CS5530_DCFG_DDC_OE					0x01000000
42771d7fec4Smrg#define CS5530_DCFG_16_BIT_EN				0x02000000
42871d7fec4Smrg
42971d7fec4Smrg/*----------*/
43071d7fec4Smrg/*  SC1200  */
43171d7fec4Smrg/*----------*/
43271d7fec4Smrg
43371d7fec4Smrg/* SC1200 VIDEO REGISTER DEFINITIONS */
43471d7fec4Smrg
43571d7fec4Smrg#define SC1200_VIDEO_CONFIG 				0x000
43671d7fec4Smrg#define SC1200_DISPLAY_CONFIG				0x004
43771d7fec4Smrg#define SC1200_VIDEO_X_POS					0x008
43871d7fec4Smrg#define SC1200_VIDEO_Y_POS					0x00C
43971d7fec4Smrg#define SC1200_VIDEO_UPSCALE				0x010
44071d7fec4Smrg#define SC1200_VIDEO_COLOR_KEY				0x014
44171d7fec4Smrg#define SC1200_VIDEO_COLOR_MASK				0x018
44271d7fec4Smrg#define SC1200_PALETTE_ADDRESS 				0x01C
44371d7fec4Smrg#define SC1200_PALETTE_DATA	 				0x020
44471d7fec4Smrg#define SC1200_VID_MISC						0x028
44571d7fec4Smrg#define SC1200_VID_CLOCK_SELECT				0x02C
44671d7fec4Smrg#define SC1200_VIDEO_DOWNSCALER_CONTROL     0x03C
44771d7fec4Smrg#define SC1200_VIDEO_DOWNSCALER_COEFFICIENTS 0x40
44871d7fec4Smrg#define SC1200_VID_CRC						0x044
44971d7fec4Smrg#define SC1200_DEVICE_ID					0x048
45071d7fec4Smrg#define SC1200_VID_ALPHA_CONTROL			0x04C
45171d7fec4Smrg#define SC1200_CURSOR_COLOR_KEY				0x050
45271d7fec4Smrg#define SC1200_CURSOR_COLOR_MASK			0x054
45371d7fec4Smrg#define SC1200_CURSOR_COLOR_1				0x058
45471d7fec4Smrg#define SC1200_CURSOR_COLOR_2				0x05C
45571d7fec4Smrg#define SC1200_ALPHA_XPOS_1					0x060
45671d7fec4Smrg#define SC1200_ALPHA_YPOS_1					0x064
45771d7fec4Smrg#define SC1200_ALPHA_COLOR_1				0x068
45871d7fec4Smrg#define SC1200_ALPHA_CONTROL_1				0x06C
45971d7fec4Smrg#define SC1200_ALPHA_XPOS_2					0x070
46071d7fec4Smrg#define SC1200_ALPHA_YPOS_2					0x074
46171d7fec4Smrg#define SC1200_ALPHA_COLOR_2				0x078
46271d7fec4Smrg#define SC1200_ALPHA_CONTROL_2				0x07C
46371d7fec4Smrg#define SC1200_ALPHA_XPOS_3					0x080
46471d7fec4Smrg#define SC1200_ALPHA_YPOS_3					0x084
46571d7fec4Smrg#define SC1200_ALPHA_COLOR_3				0x088
46671d7fec4Smrg#define SC1200_ALPHA_CONTROL_3				0x08C
46771d7fec4Smrg#define SC1200_VIDEO_REQUEST                0x090
46871d7fec4Smrg#define SC1200_ALPHA_WATCH 					0x094
46971d7fec4Smrg#define SC1200_VIDEO_DISPLAY_MODE           0x400
47071d7fec4Smrg#define SC1200_VIDEO_ODD_VBI_LINE_ENABLE    0x40C
47171d7fec4Smrg#define SC1200_VIDEO_EVEN_VBI_LINE_ENABLE   0x410
47271d7fec4Smrg#define SC1200_VIDEO_VBI_HORIZ_CONTROL      0x414
47371d7fec4Smrg#define SC1200_VIDEO_ODD_VBI_TOTAL_COUNT    0x418
47471d7fec4Smrg#define SC1200_VIDEO_EVEN_VBI_TOTAL_COUNT   0x41C
47571d7fec4Smrg#define SC1200_GENLOCK                      0x420
47671d7fec4Smrg#define SC1200_GENLOCK_DELAY                0x424
47771d7fec4Smrg#define SC1200_TVOUT_HORZ_TIM				0x800
47871d7fec4Smrg#define SC1200_TVOUT_HORZ_SYNC				0x804
47971d7fec4Smrg#define SC1200_TVOUT_VERT_SYNC				0x808
48071d7fec4Smrg#define SC1200_TVOUT_LINE_END				0x80C
48171d7fec4Smrg#define SC1200_TVOUT_VERT_DOWNSCALE			0x810	/* REV. A & B */
48271d7fec4Smrg#define SC1200_TVOUT_HORZ_PRE_ENCODER_SCALE 0x810	/* REV. C */
48371d7fec4Smrg#define SC1200_TVOUT_HORZ_SCALING			0x814
48471d7fec4Smrg#define SC1200_TVOUT_DEBUG                  0x818
48571d7fec4Smrg#define SC1200_TVENC_TIM_CTRL_1				0xC00
48671d7fec4Smrg#define SC1200_TVENC_TIM_CTRL_2				0xC04
48771d7fec4Smrg#define SC1200_TVENC_TIM_CTRL_3				0xC08
48871d7fec4Smrg#define SC1200_TVENC_SUB_FREQ				0xC0C
48971d7fec4Smrg#define SC1200_TVENC_DISP_POS				0xC10
49071d7fec4Smrg#define SC1200_TVENC_DISP_SIZE				0xC14
49171d7fec4Smrg#define SC1200_TVENC_CC_DATA				0xC18
49271d7fec4Smrg#define SC1200_TVENC_EDS_DATA				0xC1C
49371d7fec4Smrg#define SC1200_TVENC_CGMS_DATA				0xC20
49471d7fec4Smrg#define SC1200_TVENC_WSS_DATA				0xC24
49571d7fec4Smrg#define SC1200_TVENC_CC_CONTROL				0xC28
49671d7fec4Smrg#define SC1200_TVENC_DAC_CONTROL			0xC2C
49771d7fec4Smrg#define SC1200_TVENC_MV_CONTROL             0xC30
49871d7fec4Smrg
49971d7fec4Smrg/* "SC1200_VIDEO_CONFIG" BIT DEFINITIONS */
50071d7fec4Smrg
50171d7fec4Smrg#define SC1200_VCFG_VID_EN					0x00000001
50271d7fec4Smrg#define SC1200_VCFG_VID_INP_FORMAT			0x0000000C
50371d7fec4Smrg#define SC1200_VCFG_UYVY_FORMAT				0x00000000
50471d7fec4Smrg#define SC1200_VCFG_Y2YU_FORMAT				0x00000004
50571d7fec4Smrg#define SC1200_VCFG_YUYV_FORMAT				0x00000008
50671d7fec4Smrg#define SC1200_VCFG_YVYU_FORMAT				0x0000000C
50771d7fec4Smrg#define SC1200_VCFG_X_FILTER_EN				0x00000040
50871d7fec4Smrg#define SC1200_VCFG_Y_FILTER_EN				0x00000080
50971d7fec4Smrg#define SC1200_VCFG_LINE_SIZE_LOWER_MASK	0x0000FF00
51071d7fec4Smrg#define SC1200_VCFG_INIT_READ_MASK			0x01FF0000
51171d7fec4Smrg#define SC1200_VCFG_LINE_SIZE_UPPER			0x08000000
51271d7fec4Smrg#define SC1200_VCFG_4_2_0_MODE				0x10000000
51371d7fec4Smrg
51471d7fec4Smrg/* "SC1200_DISPLAY_CONFIG" BIT DEFINITIONS */
51571d7fec4Smrg
51671d7fec4Smrg#define SC1200_DCFG_DIS_EN					0x00000001
51771d7fec4Smrg#define SC1200_DCFG_HSYNC_EN				0x00000002
51871d7fec4Smrg#define SC1200_DCFG_VSYNC_EN				0x00000004
51971d7fec4Smrg#define SC1200_DCFG_DAC_BL_EN				0x00000008
52071d7fec4Smrg#define SC1200_DCFG_FP_PWR_EN				0x00000040
52171d7fec4Smrg#define SC1200_DCFG_FP_DATA_EN				0x00000080
52271d7fec4Smrg#define SC1200_DCFG_CRT_HSYNC_POL 			0x00000100
52371d7fec4Smrg#define SC1200_DCFG_CRT_VSYNC_POL 			0x00000200
52471d7fec4Smrg#define SC1200_DCFG_CRT_SYNC_SKW_MASK		0x0001C000
52571d7fec4Smrg#define SC1200_DCFG_CRT_SYNC_SKW_INIT		0x00010000
52671d7fec4Smrg#define SC1200_DCFG_PWR_SEQ_DLY_MASK		0x000E0000
52771d7fec4Smrg#define SC1200_DCFG_PWR_SEQ_DLY_INIT		0x00080000
52871d7fec4Smrg#define SC1200_DCFG_VG_CK					0x00100000
52971d7fec4Smrg#define SC1200_DCFG_GV_PAL_BYP				0x00200000
53071d7fec4Smrg#define SC1200_DCFG_DDC_SCL					0x00400000
53171d7fec4Smrg#define SC1200_DCFG_DDC_SDA					0x00800000
53271d7fec4Smrg#define SC1200_DCFG_DDC_OE					0x01000000
53371d7fec4Smrg
53471d7fec4Smrg/* "SC1200_VID_MISC" BIT DEFINITIONS */
53571d7fec4Smrg
53671d7fec4Smrg#define SC1200_GAMMA_BYPASS_BOTH            0x00000001
53771d7fec4Smrg#define SC1200_DAC_POWER_DOWN               0x00000400
53871d7fec4Smrg#define SC1200_ANALOG_POWER_DOWN            0x00000800
53971d7fec4Smrg#define SC1200_PLL_POWER_NORMAL             0x00001000
54071d7fec4Smrg
54171d7fec4Smrg/* "SC1200_VIDEO_DOWNSCALER_CONTROL" BIT DEFINITIONS */
54271d7fec4Smrg
54371d7fec4Smrg#define SC1200_VIDEO_DOWNSCALE_ENABLE       0x00000001
54471d7fec4Smrg#define SC1200_VIDEO_DOWNSCALE_FACTOR_POS   1
54571d7fec4Smrg#define SC1200_VIDEO_DOWNSCALE_FACTOR_MASK  0x0000001E
54671d7fec4Smrg#define SC1200_VIDEO_DOWNSCALE_TYPE_A       0x00000000
54771d7fec4Smrg#define SC1200_VIDEO_DOWNSCALE_TYPE_B       0x00000040
54871d7fec4Smrg#define SC1200_VIDEO_DOWNSCALE_TYPE_MASK    0x00000040
54971d7fec4Smrg
55071d7fec4Smrg/* "SC1200_VIDEO_DOWNSCALER_COEFFICIENTS" BIT DEFINITIONS */
55171d7fec4Smrg
55271d7fec4Smrg#define SC1200_VIDEO_DOWNSCALER_COEF1_POS   0
55371d7fec4Smrg#define SC1200_VIDEO_DOWNSCALER_COEF2_POS   8
55471d7fec4Smrg#define SC1200_VIDEO_DOWNSCALER_COEF3_POS   16
55571d7fec4Smrg#define SC1200_VIDEO_DOWNSCALER_COEF4_POS   24
55671d7fec4Smrg#define SC1200_VIDEO_DOWNSCALER_COEF_MASK   0xF
55771d7fec4Smrg
55871d7fec4Smrg/* VIDEO DE-INTERLACING AND ALPHA CONTROL (REGISTER 0x4C) */
55971d7fec4Smrg
56071d7fec4Smrg#define SC1200_VERTICAL_SCALER_SHIFT_MASK   0x00000007
56171d7fec4Smrg#define SC1200_VERTICAL_SCALER_SHIFT_INIT   0x00000004
56271d7fec4Smrg#define SC1200_VERTICAL_SCALER_SHIFT_EN     0x00000010
56371d7fec4Smrg#define SC1200_TOP_LINE_IN_ODD              0x00000040
56471d7fec4Smrg#define SC1200_NO_CK_OUTSIDE_ALPHA          0x00000100
56571d7fec4Smrg#define SC1200_VIDEO_IS_INTERLACED          0x00000200
56671d7fec4Smrg#define SC1200_CSC_VIDEO_YUV_TO_RGB         0x00000400
56771d7fec4Smrg#define SC1200_CSC_GFX_RGB_TO_YUV           0x00000800
56871d7fec4Smrg#define SC1200_VIDEO_INPUT_IS_RGB           0x00002000
56971d7fec4Smrg#define SC1200_VIDEO_LINE_OFFSET_ODD        0x00001000
57071d7fec4Smrg#define SC1200_ALPHA1_PRIORITY_POS			16
57171d7fec4Smrg#define SC1200_ALPHA1_PRIORITY_MASK			0x00030000
57271d7fec4Smrg#define SC1200_ALPHA2_PRIORITY_POS			18
57371d7fec4Smrg#define SC1200_ALPHA2_PRIORITY_MASK			0x000C0000
57471d7fec4Smrg#define SC1200_ALPHA3_PRIORITY_POS			20
57571d7fec4Smrg#define SC1200_ALPHA3_PRIORITY_MASK			0x00300000
57671d7fec4Smrg
57771d7fec4Smrg/* VIDEO CURSOR COLOR KEY DEFINITIONS (REGISTER 0x50) */
57871d7fec4Smrg
57971d7fec4Smrg#define SC1200_CURSOR_COLOR_KEY_OFFSET_POS  24
58071d7fec4Smrg#define SC1200_CURSOR_COLOR_BITS            23
58171d7fec4Smrg#define SC1200_COLOR_MASK                   0x00FFFFFF	/* 24 significant bits */
58271d7fec4Smrg
58371d7fec4Smrg/* ALPHA COLOR BIT DEFINITION (REGISTERS 0x68, 0x78, AND 0x88) */
58471d7fec4Smrg
58571d7fec4Smrg#define SC1200_ALPHA_COLOR_ENABLE           0x01000000
58671d7fec4Smrg
58771d7fec4Smrg/* ALPHA CONTROL BIT DEFINITIONS (REGISTERS 0x6C, 0x7C, AND 0x8C) */
58871d7fec4Smrg
58971d7fec4Smrg#define SC1200_ACTRL_WIN_ENABLE				0x00010000
59071d7fec4Smrg#define SC1200_ACTRL_LOAD_ALPHA				0x00020000
59171d7fec4Smrg
59271d7fec4Smrg/* VIDEO REQUEST DEFINITIONS (REGISTER 0x90) */
59371d7fec4Smrg
59471d7fec4Smrg#define SC1200_VIDEO_Y_REQUEST_POS          0
59571d7fec4Smrg#define SC1200_VIDEO_X_REQUEST_POS          16
59671d7fec4Smrg#define SC1200_VIDEO_REQUEST_MASK           0x00000FFF
59771d7fec4Smrg
59871d7fec4Smrg/* VIDEO DISPLAY MODE (REGISTER 0x400) */
59971d7fec4Smrg
60071d7fec4Smrg#define SC1200_VIDEO_SOURCE_MASK            0x00000003
60171d7fec4Smrg#define SC1200_VIDEO_SOURCE_GX1             0x00000000
60271d7fec4Smrg#define SC1200_VIDEO_SOURCE_DVIP            0x00000002
60371d7fec4Smrg#define SC1200_VBI_SOURCE_MASK              0x00000004
60471d7fec4Smrg#define SC1200_VBI_SOURCE_DVIP              0x00000000
60571d7fec4Smrg#define SC1200_VBI_SOURCE_GX1               0x00000004
60671d7fec4Smrg
60771d7fec4Smrg/* ODD/EVEN VBI LINE ENABLE (REGISTERS 0x40C, 0x410) */
60871d7fec4Smrg
60971d7fec4Smrg#define SC1200_VIDEO_VBI_LINE_ENABLE_MASK   0x00FFFFFC
61071d7fec4Smrg#define SC1200_VIDEO_ALL_ACTIVE_IS_VBI      0x01000000
61171d7fec4Smrg#define SC1200_VIDEO_VBI_LINE_OFFSET_POS    25
61271d7fec4Smrg#define SC1200_VIDEO_VBI_LINE_OFFSET_MASK   0x3E000000
61371d7fec4Smrg
61471d7fec4Smrg/* ODD/EVEN VBI TOTAL COUNT (REGISTERS 0x418, 0x41C) */
61571d7fec4Smrg
61671d7fec4Smrg#define SC1200_VIDEO_VBI_TOTAL_COUNT_MASK   0x000FFFFF
61771d7fec4Smrg
61871d7fec4Smrg/* GENLOCK BIT DEFINITIONS */
61971d7fec4Smrg
62071d7fec4Smrg#define SC1200_GENLOCK_SINGLE_ENABLE              0x00000001
62171d7fec4Smrg#define SC1200_GENLOCK_FIELD_SYNC_ENABLE          0x00000001
62271d7fec4Smrg#define SC1200_GENLOCK_CONTINUOUS_ENABLE          0x00000002
62371d7fec4Smrg#define SC1200_GENLOCK_GX_VSYNC_FALLING_EDGE      0x00000004
62471d7fec4Smrg#define SC1200_GENLOCK_VIP_VSYNC_FALLING_EDGE     0x00000008
62571d7fec4Smrg#define SC1200_GENLOCK_TIMEOUT_ENABLE             0x00000010
62671d7fec4Smrg#define SC1200_GENLOCK_TVENC_RESET_EVEN_FIELD     0x00000020
62771d7fec4Smrg#define SC1200_GENLOCK_TVENC_RESET_BEFORE_DELAY   0x00000040
62871d7fec4Smrg#define SC1200_GENLOCK_TVENC_RESET_ENABLE         0x00000080
62971d7fec4Smrg#define SC1200_GENLOCK_SYNC_TO_TVENC              0x00000100
63071d7fec4Smrg#define SC1200_GENLOCK_DELAY_MASK                 0x001FFFFF
63171d7fec4Smrg
63271d7fec4Smrg/* TVOUT HORIZONTAL PRE ENCODER SCALE BIT DEFINITIONS */
63371d7fec4Smrg
63471d7fec4Smrg#define SC1200_TVOUT_YC_DELAY_MASK                0x00C00000
63571d7fec4Smrg#define SC1200_TVOUT_YC_DELAY_NONE                0x00000000
63671d7fec4Smrg#define SC1200_TVOUT_Y_DELAY_ONE_PIXEL            0x00400000
63771d7fec4Smrg#define SC1200_TVOUT_C_DELAY_ONE_PIXEL            0x00800000
63871d7fec4Smrg#define SC1200_TVOUT_C_DELAY_TWO_PIXELS           0x00C00000
63971d7fec4Smrg
64071d7fec4Smrg/* TVOUT HORIZONTAL SCALING/CONTROL BIT DEFINITIONS */
64171d7fec4Smrg
64271d7fec4Smrg#define SC1200_TVOUT_FLICKER_FILTER_MASK               0x60000000
64371d7fec4Smrg#define SC1200_TVOUT_FLICKER_FILTER_FOURTH_HALF_FOURTH 0x00000000
64471d7fec4Smrg#define SC1200_TVOUT_FLICKER_FILTER_HALF_ONE_HALF      0x20000000
64571d7fec4Smrg#define SC1200_TVOUT_FLICKER_FILTER_DISABLED           0x40000000
64671d7fec4Smrg#define SC1200_TVENC_EXTERNAL_RESET_INTERVAL_MASK      0x0F000000
64771d7fec4Smrg#define SC1200_TVENC_EXTERNAL_RESET_EVERY_ODD_FIELD    0x00000000
64871d7fec4Smrg#define SC1200_TVENC_EXTERNAL_RESET_EVERY_EVEN_FIELD   0x02000000
64971d7fec4Smrg#define SC1200_TVENC_EXTERNAL_RESET_NEXT_ODD_FIELD     0x05000000
65071d7fec4Smrg#define SC1200_TVENC_EXTERNAL_RESET_NEXT_EVEN_FIELD    0x07000000
65171d7fec4Smrg#define SC1200_TVENC_EXTERNAL_RESET_EVERY_FIELD        0x0E000000
65271d7fec4Smrg#define SC1200_TVENC_EXTERNAL_RESET_EVERY_X_ODD_FIELDS  0x08000000
65371d7fec4Smrg#define SC1200_TVENC_EXTERNAL_RESET_EVERY_X_EVEN_FIELDS 0x0A000000
65471d7fec4Smrg
65571d7fec4Smrg/* TVOUT DEBUG BIT DEFINITIONS */
65671d7fec4Smrg
65771d7fec4Smrg#define SC1200_TVOUT_FIELD_STATUS_EVEN         0x00000040
65871d7fec4Smrg#define SC1200_TVOUT_FIELD_STATUS_TV           0x00000080
65971d7fec4Smrg#define SC1200_TVOUT_CRT_VSYNC_STATUS_TRAILING 0x00000100
66071d7fec4Smrg#define SC1200_TVOUT_FIELD_STATUS_INVERT      0x00000200
66171d7fec4Smrg#define SC1200_TVOUT_CONVERTER_INTERPOLATION   0x00000400
66271d7fec4Smrg
66371d7fec4Smrg/* TVENC TIMING/CONTROL 1 BIT DEFINITIONS (REGISTER 0xC00) */
66471d7fec4Smrg
66571d7fec4Smrg#define SC1200_TVENC_VPHASE_MASK                          0x001FF800
66671d7fec4Smrg#define SC1200_TVENC_VPHASE_POS                           11
66771d7fec4Smrg#define SC1200_TVENC_SUB_CARRIER_RESET_MASK               0x30000000
66871d7fec4Smrg#define SC1200_TVENC_SUB_CARRIER_RESET_NEVER              0x00000000
66971d7fec4Smrg#define SC1200_TVENC_SUB_CARRIER_RESET_EVERY_TWO_LINES    0x10000000
67071d7fec4Smrg#define SC1200_TVENC_SUB_CARRIER_RESET_EVERY_TWO_FRAMES   0x20000000
67171d7fec4Smrg#define SC1200_TVENC_SUB_CARRIER_RESET_EVERY_FOUR_FRAMES  0x30000000
67271d7fec4Smrg#define SC1200_TVENC_VIDEO_TIMING_ENABLE                  0x80000000
67371d7fec4Smrg
67471d7fec4Smrg/* TVENC TIMING/CONTROL 2 BIT DEFINITIONS (REGISTER 0xC04) */
67571d7fec4Smrg
67671d7fec4Smrg#define SC1200_TVENC_OUTPUT_YCBCR                         0x40000000
67771d7fec4Smrg#define SC1200_TVENC_CFS_MASK                             0x00030000
67871d7fec4Smrg#define SC1200_TVENC_CFS_BYPASS                           0x00000000
67971d7fec4Smrg#define SC1200_TVENC_CFS_CVBS                             0x00020000
68071d7fec4Smrg#define SC1200_TVENC_CFS_SVIDEO                           0x00030000
68171d7fec4Smrg
68271d7fec4Smrg/* TVENC TIMING/CONTROL 3 BIT DEFINITIONS (REGISTER 0xC08) */
68371d7fec4Smrg
68471d7fec4Smrg#define SC1200_TVENC_CS                                   0x00000001
68571d7fec4Smrg#define SC1200_TVENC_SYNCMODE_MASK                        0x00000006
68671d7fec4Smrg#define SC1200_TVENC_SYNC_ON_GREEN                        0x00000002
68771d7fec4Smrg#define SC1200_TVENC_SYNC_ON_CVBS                         0x00000004
68871d7fec4Smrg#define SC1200_TVENC_CM                                   0x00000008
68971d7fec4Smrg
69071d7fec4Smrg/* TVENC DAC CONTROL BIT DEFINITIONS (REGISTER 0xC2C) */
69171d7fec4Smrg#define SC1200_TVENC_TRIM_MASK	               0x00000007
69271d7fec4Smrg#define SC1200_TVENC_POWER_DOWN	               0x00000020
69371d7fec4Smrg
69471d7fec4Smrg/* TVENC MV CONTROL BIT DEFINITIONS (REGISTER 0xC30) */
69571d7fec4Smrg#define SC1200_TVENC_MV_ENABLE                 0xBE
69671d7fec4Smrg
69771d7fec4Smrg/* SC1200 VIP REGISTER DEFINITIONS */
69871d7fec4Smrg
69971d7fec4Smrg#define SC1200_VIP_CONFIG					0x00000000
70071d7fec4Smrg#define SC1200_VIP_CONTROL					0x00000004
70171d7fec4Smrg#define SC1200_VIP_STATUS					0x00000008
70271d7fec4Smrg#define SC1200_VIP_CURRENT_LINE				0x00000010
70371d7fec4Smrg#define SC1200_VIP_LINE_TARGET				0x00000014
70471d7fec4Smrg#define SC1200_ODD_DIRECT_VBI_LINE_ENABLE   0x00000018
70571d7fec4Smrg#define SC1200_EVEN_DIRECT_VBI_LINE_ENABLE  0x0000001C
70671d7fec4Smrg#define SC1200_VIP_ODD_BASE					0x00000020
70771d7fec4Smrg#define SC1200_VIP_EVEN_BASE				0x00000024
70871d7fec4Smrg#define SC1200_VIP_PITCH					0x00000028
70971d7fec4Smrg#define SC1200_VBI_ODD_BASE					0x00000040
71071d7fec4Smrg#define SC1200_VBI_EVEN_BASE				0x00000044
71171d7fec4Smrg#define SC1200_VBI_PITCH					0x00000048
71271d7fec4Smrg
71371d7fec4Smrg/* "SC1200_VIP_CONFIG" BIT DEFINITIONS */
71471d7fec4Smrg
71571d7fec4Smrg#define SC1200_VIP_MODE_MASK                0x00000003
71671d7fec4Smrg#define	SC1200_VIP_MODE_C       			0x00000002
71771d7fec4Smrg#define SC1200_VBI_ANCILLARY_TO_MEMORY      0x000C0000
71871d7fec4Smrg#define SC1200_VBI_TASK_A_TO_MEMORY         0x00140000
71971d7fec4Smrg#define SC1200_VBI_TASK_B_TO_MEMORY         0x00240000
72071d7fec4Smrg#define SC1200_VIP_BUS_REQUEST_THRESHOLD    0x00400000
72171d7fec4Smrg
72271d7fec4Smrg/* "SC1200_VIP_CONTROL" BIT DEFINITIONS */
72371d7fec4Smrg
72471d7fec4Smrg#define SC1200_CAPTURE_RUN_MODE_MASK        0x00000003
72571d7fec4Smrg#define SC1200_CAPTURE_RUN_MODE_STOP_LINE   0x00000000
72671d7fec4Smrg#define SC1200_CAPTURE_RUN_MODE_STOP_FIELD  0x00000001
72771d7fec4Smrg#define SC1200_CAPTURE_RUN_MODE_START       0x00000003
72871d7fec4Smrg#define	SC1200_VIP_DATA_CAPTURE_EN			0x00000100
72971d7fec4Smrg#define	SC1200_VIP_VBI_CAPTURE_EN			0x00000200
73071d7fec4Smrg#define	SC1200_VIP_VBI_FIELD_INTERRUPT_EN	0x00010000
73171d7fec4Smrg
73271d7fec4Smrg/* "SC1200_VIP_STATUS" BIT DEFINITIONS */
73371d7fec4Smrg
73471d7fec4Smrg#define	SC1200_VIP_CURRENT_FIELD_ODD		0x01000000
73571d7fec4Smrg#define SC1200_VIP_BASE_NOT_UPDATED         0x00200000
73671d7fec4Smrg#define	SC1200_VIP_FIFO_OVERFLOW			0x00100000
73771d7fec4Smrg#define	SC1200_VIP_CLEAR_LINE_INT			0x00020000
73871d7fec4Smrg#define	SC1200_VIP_CLEAR_FIELD_INT			0x00010000
73971d7fec4Smrg#define	SC1200_VBI_DATA_CAPTURE_ACTIVE		0x00000200
74071d7fec4Smrg#define	SC1200_VIDEO_DATA_CAPTURE_ACTIVE	0x00000100
74171d7fec4Smrg
74271d7fec4Smrg/* "SC1200_VIP_CURRENT_LINE" BIT DEFINITIONS */
74371d7fec4Smrg
74471d7fec4Smrg#define SC1200_VIP_CURRENT_LINE_MASK	    0x000003FF
74571d7fec4Smrg
74671d7fec4Smrg/* "SC1200_VIP_LINE_TARGET" BIT DEFINITIONS */
74771d7fec4Smrg
74871d7fec4Smrg#define SC1200_VIP_LAST_LINE_MASK	        0x03FF0000
74971d7fec4Smrg
75071d7fec4Smrg/* "SC1200_VIP_PITCH" BIT DEFINITION */
75171d7fec4Smrg
75271d7fec4Smrg#define SC1200_VIP_PITCH_MASK               0x0000FFFC
75371d7fec4Smrg
75471d7fec4Smrg/* "SC1200_VBI_PITCH" BIT DEFINITION */
75571d7fec4Smrg
75671d7fec4Smrg#define SC1200_VBI_PITCH_MASK               0x0000FFFC
75771d7fec4Smrg
75871d7fec4Smrg/* SC1200 DIRECT VBI LINE ENABLE BIT DEFINITION */
75971d7fec4Smrg
76071d7fec4Smrg#define SC1200_DIRECT_VBI_LINE_ENABLE_MASK  0x00FFFFFF
76171d7fec4Smrg
76271d7fec4Smrg/* SC1200 CONFIGURATION BLOCK */
76371d7fec4Smrg
76471d7fec4Smrg#define SC1200_CB_BASE_ADDR                 0x9000
76571d7fec4Smrg#define SC1200_CB_WDTO                      0x0000
76671d7fec4Smrg#define SC1200_CB_WDCNFG                    0x0002
76771d7fec4Smrg#define SC1200_CB_WDSTS                     0x0004
76871d7fec4Smrg#define SC1200_CB_TMVALUE                   0x0008
76971d7fec4Smrg#define SC1200_CB_TMCNFG                    0x000D
77071d7fec4Smrg#define SC1200_CB_PMR                       0x0030
77171d7fec4Smrg#define SC1200_CB_MCR                       0x0034
77271d7fec4Smrg#define SC1200_CB_INTSEL                    0x0038
77371d7fec4Smrg#define SC1200_CB_PID                       0x003C
77471d7fec4Smrg#define SC1200_CB_REV                       0x003D
77571d7fec4Smrg
77671d7fec4Smrg/* SC1200 HIGH RESOLUTION TIMER CONFIGURATION REGISTER BITS */
77771d7fec4Smrg
77871d7fec4Smrg#define SC1200_TMCLKSEL_27MHZ               0x2
77971d7fec4Smrg
78071d7fec4Smrg/*---------------------------------*/
78171d7fec4Smrg/*  PHILIPS SAA7114 VIDEO DECODER  */
78271d7fec4Smrg/*---------------------------------*/
78371d7fec4Smrg
78471d7fec4Smrg#define SAA7114_CHIPADDR					0x42
78571d7fec4Smrg
78671d7fec4Smrg/* VIDEO DECODER REGISTER DEFINITIONS */
78771d7fec4Smrg
78871d7fec4Smrg#define SAA7114_ANALOG_INPUT_CTRL1			0x02
78971d7fec4Smrg#define SAA7114_LUMINANCE_CONTROL           0x09
79071d7fec4Smrg#define SAA7114_BRIGHTNESS					0x0A
79171d7fec4Smrg#define SAA7114_CONTRAST					0x0B
79271d7fec4Smrg#define SAA7114_SATURATION					0x0C
79371d7fec4Smrg#define SAA7114_HUE							0x0D
79471d7fec4Smrg#define SAA7114_STATUS						0x1F
79571d7fec4Smrg#define SAA7114_IPORT_CONTROL				0x86
79671d7fec4Smrg
79771d7fec4Smrg/* TASK A REGISTER DEFINITIONS */
79871d7fec4Smrg
79971d7fec4Smrg#define SAA7114_TASK_A_HORZ_OUTPUT_LO		0x9C
80071d7fec4Smrg#define SAA7114_TASK_A_HORZ_OUTPUT_HI		0x9D
80171d7fec4Smrg#define SAA7114_TASK_A_HSCALE_LUMA_LO		0xA8
80271d7fec4Smrg#define SAA7114_TASK_A_HSCALE_LUMA_HI		0xA9
80371d7fec4Smrg#define SAA7114_TASK_A_HSCALE_CHROMA_LO		0xAC
80471d7fec4Smrg#define SAA7114_TASK_A_HSCALE_CHROMA_HI		0xAD
80571d7fec4Smrg
80671d7fec4Smrg/* TASK B REGISTER DEFINITIONS */
80771d7fec4Smrg
80871d7fec4Smrg#define SAA7114_HORZ_OFFSET_LO				0xC4
80971d7fec4Smrg#define SAA7114_HORZ_OFFSET_HI				0xC5
81071d7fec4Smrg#define SAA7114_HORZ_INPUT_LO				0xC6
81171d7fec4Smrg#define SAA7114_HORZ_INPUT_HI				0xC7
81271d7fec4Smrg#define SAA7114_VERT_OFFSET_LO				0xC8
81371d7fec4Smrg#define SAA7114_VERT_OFFSET_HI				0xC9
81471d7fec4Smrg#define SAA7114_VERT_INPUT_LO				0xCA
81571d7fec4Smrg#define SAA7114_VERT_INPUT_HI				0xCB
81671d7fec4Smrg#define SAA7114_HORZ_OUTPUT_LO				0xCC
81771d7fec4Smrg#define SAA7114_HORZ_OUTPUT_HI				0xCD
81871d7fec4Smrg#define SAA7114_VERT_OUTPUT_LO				0xCE
81971d7fec4Smrg#define SAA7114_VERT_OUTPUT_HI				0xCF
82071d7fec4Smrg#define SAA7114_HORZ_PRESCALER				0xD0
82171d7fec4Smrg#define SAA7114_HORZ_ACL					0xD1
82271d7fec4Smrg#define SAA7114_HORZ_FIR_PREFILTER			0xD2
82371d7fec4Smrg#define SAA7114_FILTER_CONTRAST				0xD5
82471d7fec4Smrg#define SAA7114_FILTER_SATURATION			0xD6
82571d7fec4Smrg#define SAA7114_HSCALE_LUMA_LO				0xD8
82671d7fec4Smrg#define SAA7114_HSCALE_LUMA_HI				0xD9
82771d7fec4Smrg#define SAA7114_HSCALE_CHROMA_LO			0xDC
82871d7fec4Smrg#define SAA7114_HSCALE_CHROMA_HI			0xDD
82971d7fec4Smrg#define SAA7114_VSCALE_LUMA_LO				0xE0
83071d7fec4Smrg#define SAA7114_VSCALE_LUMA_HI				0xE1
83171d7fec4Smrg#define SAA7114_VSCALE_CHROMA_LO			0xE2
83271d7fec4Smrg#define SAA7114_VSCALE_CHROMA_HI			0xE3
83371d7fec4Smrg#define SAA7114_VSCALE_CONTROL				0xE4
83471d7fec4Smrg#define SAA7114_VSCALE_CHROMA_OFFS0			0xE8
83571d7fec4Smrg#define SAA7114_VSCALE_CHROMA_OFFS1			0xE9
83671d7fec4Smrg#define SAA7114_VSCALE_CHROMA_OFFS2			0xEA
83771d7fec4Smrg#define SAA7114_VSCALE_CHROMA_OFFS3			0xEB
83871d7fec4Smrg#define SAA7114_VSCALE_LUMINA_OFFS0			0xEC
83971d7fec4Smrg#define SAA7114_VSCALE_LUMINA_OFFS1			0xED
84071d7fec4Smrg#define SAA7114_VSCALE_LUMINA_OFFS2			0xEE
84171d7fec4Smrg#define SAA7114_VSCALE_LUMINA_OFFS3			0xEF
84271d7fec4Smrg
84371d7fec4Smrg/* Still need to determine PHO value (common phase offset) */
84471d7fec4Smrg#define SAA7114_VSCALE_PHO					0x00
84571d7fec4Smrg
84671d7fec4Smrg/*----------------------------------------------*/
84771d7fec4Smrg/*  SECOND GENERATION GRAPHICS UNIT (REDCLOUD)  */
84871d7fec4Smrg/*----------------------------------------------*/
84971d7fec4Smrg
85071d7fec4Smrg#define MGP_DST_OFFSET			0x0000	/* dst address                          */
85171d7fec4Smrg#define MGP_SRC_OFFSET			0x0004	/* src address                          */
85271d7fec4Smrg#define MGP_VEC_ERR				0x0004	/* vector diag/axial errors     */
85371d7fec4Smrg#define MGP_STRIDE				0x0008	/* src and dst strides          */
85471d7fec4Smrg#define MGP_WID_HEIGHT			0x000C	/* width and height of BLT      */
85571d7fec4Smrg#define MGP_VEC_LEN				0x000C	/* vector length/init error */
85671d7fec4Smrg#define MGP_SRC_COLOR_FG		0x0010	/* src mono data fgcolor        */
85771d7fec4Smrg#define MGP_SRC_COLOR_BG		0x0014	/* src mono data bkcolor        */
85871d7fec4Smrg#define MGP_PAT_COLOR_0			0x0018	/* pattern color 0                      */
85971d7fec4Smrg#define MGP_PAT_COLOR_1			0x001C	/* pattern color 1                      */
86071d7fec4Smrg#define MGP_PAT_COLOR_2			0x0020	/* pattern color 2                      */
86171d7fec4Smrg#define MGP_PAT_COLOR_3			0x0024	/* pattern color 3                      */
86271d7fec4Smrg#define MGP_PAT_COLOR_4			0x0028	/* pattern color 4                      */
86371d7fec4Smrg#define MGP_PAT_COLOR_5			0x002C	/* pattern color 5                      */
86471d7fec4Smrg#define MGP_PAT_DATA_0			0x0030	/* pattern data 0                       */
86571d7fec4Smrg#define MGP_PAT_DATA_1			0x0034	/* pattern data 1                       */
86671d7fec4Smrg#define MGP_RASTER_MODE			0x0038	/* raster operation                     */
86771d7fec4Smrg#define MGP_VECTOR_MODE			0x003C	/* render vector                        */
86871d7fec4Smrg#define MGP_BLT_MODE			0x0040	/* render BLT                           */
86971d7fec4Smrg#define MGP_BLT_STATUS			0x0044	/* BLT status register          */
87071d7fec4Smrg#define MGP_RESET				0x0044	/* reset register (write)       */
87171d7fec4Smrg#define MGP_HST_SOURCE			0x0048	/* host src data (bitmap)       */
87271d7fec4Smrg#define MGP_BASE_OFFSET			0x004C	/* base render offset           */
87371d7fec4Smrg
87471d7fec4Smrg/* MGP_RASTER_MODE DEFINITIONS */
87571d7fec4Smrg
87671d7fec4Smrg#define MGP_RM_BPPFMT_332		    0x00000000	/* 8 BPP, 3:3:2                         */
87771d7fec4Smrg#define MGP_RM_BPPFMT_4444		    0x40000000	/* 16 BPP, 4:4:4:4                      */
87871d7fec4Smrg#define MGP_RM_BPPFMT_1555		    0x50000000	/* 16 BPP, 1:5:5:5                      */
87971d7fec4Smrg#define MGP_RM_BPPFMT_565		    0x60000000	/* 16 BPP, 5:6:5                        */
88071d7fec4Smrg#define MGP_RM_BPPFMT_8888		    0x80000000	/* 32 BPP, 8:8:8:8                      */
88171d7fec4Smrg#define MGP_RM_ALPHA_EN_MASK        0x00C00000	/* Alpha enable             */
88271d7fec4Smrg#define MGP_RM_ALPHA_TO_RGB         0x00400000	/* Alpha applies to RGB     */
88371d7fec4Smrg#define MGP_RM_ALPHA_TO_ALPHA       0x00800000	/* Alpha applies to alpha   */
88471d7fec4Smrg#define MGP_RM_ALPHA_OP_MASK        0x00300000	/* Alpha operation          */
88571d7fec4Smrg#define MGP_RM_ALPHA_TIMES_A        0x00000000	/* Alpha * A                */
88671d7fec4Smrg#define MGP_RM_BETA_TIMES_B         0x00100000	/* (1-alpha) * B            */
88771d7fec4Smrg#define MGP_RM_A_PLUS_BETA_B        0x00200000	/* A + (1-alpha) * B        */
88871d7fec4Smrg#define MGP_RM_ALPHA_A_PLUS_BETA_B  0x00300000	/* alpha * A + (1 - alpha)B */
88971d7fec4Smrg#define MGP_RM_ALPHA_SELECT         0x000E0000	/* Alpha Select             */
89071d7fec4Smrg#define MGP_RM_SELECT_ALPHA_A       0x00000000	/* Alpha from channel A     */
89171d7fec4Smrg#define MGP_RM_SELECT_ALPHA_B       0x00020000	/* Alpha from channel B     */
89271d7fec4Smrg#define MGP_RM_SELECT_ALPHA_R       0x00040000	/* Registered alpha         */
89371d7fec4Smrg#define MGP_RM_SELECT_ALPHA_1       0x00060000	/* Constant 1               */
89471d7fec4Smrg#define MGP_RM_SELECT_ALPHA_CHAN_A  0x00080000	/* RGB Values from A        */
89571d7fec4Smrg#define MGP_RM_SELECT_ALPHA_CHAN_B  0x000A0000	/* RGB Values from B        */
89671d7fec4Smrg#define MGP_RM_DEST_FROM_CHAN_A     0x00010000	/* Alpha channel select     */
89771d7fec4Smrg#define MGP_RM_PAT_FLAGS		    0x00000700	/* pattern related bits         */
89871d7fec4Smrg#define MGP_RM_PAT_MONO			    0x00000100	/* monochrome pattern           */
89971d7fec4Smrg#define MGP_RM_PAT_COLOR		    0x00000200	/* color pattern                        */
90071d7fec4Smrg#define MGP_RM_PAT_TRANS		    0x00000400	/* pattern transparency         */
90171d7fec4Smrg#define MGP_RM_SRC_TRANS		    0x00000800	/* source transparency          */
90271d7fec4Smrg
90371d7fec4Smrg/* MGP_VECTOR_MODE DEFINITIONS */
90471d7fec4Smrg
90571d7fec4Smrg#define MGP_VM_DST_REQ			0x00000008	/* dst data required            */
90671d7fec4Smrg#define MGP_VM_THROTTLE			0x00000010	/* sync to VBLANK                   */
90771d7fec4Smrg
90871d7fec4Smrg/* MGP_BLT_MODE DEFINITIONS */
90971d7fec4Smrg
91071d7fec4Smrg#define MGP_BM_SRC_FB			0x00000001	/* src = frame buffer               */
91171d7fec4Smrg#define MGP_BM_SRC_HOST			0x00000002	/* src = host register              */
91271d7fec4Smrg#define MGP_BM_DST_REQ			0x00000004	/* dst data required                */
91371d7fec4Smrg#define MGP_BM_SRC_MONO			0x00000040	/* monochrome source data   */
91471d7fec4Smrg#define MGP_BM_SRC_BP_MONO      0x00000080	/* Byte-packed monochrome   */
91571d7fec4Smrg#define MGP_BM_NEG_YDIR			0x00000100	/* negative Y direction             */
91671d7fec4Smrg#define MGP_BM_NEG_XDIR			0x00000200	/* negative X direction             */
91771d7fec4Smrg#define MGP_BM_THROTTLE			0x00000400	/* sync to VBLANK                   */
91871d7fec4Smrg
91971d7fec4Smrg/* MGP_BLT_STATUS DEFINITIONS */
92071d7fec4Smrg
92171d7fec4Smrg#define MGP_BS_BLT_BUSY			0x00000001	/* GP is not idle                   */
92271d7fec4Smrg#define MGP_BS_BLT_PENDING		0x00000004	/* second BLT is pending        */
92371d7fec4Smrg#define MGP_BS_HALF_EMPTY		0x00000008	/* src FIFO half empty              */
92471d7fec4Smrg
92571d7fec4Smrg/* ALPHA BLENDING MODES       */
92671d7fec4Smrg
92771d7fec4Smrg#define ALPHA_MODE_BLEND        0x00000000
92871d7fec4Smrg
92971d7fec4Smrg/*---------------------------------------------------*/
93071d7fec4Smrg/*  SECOND GENERATION DISPLAY CONTROLLER (REDCLOUD)  */
93171d7fec4Smrg/*---------------------------------------------------*/
93271d7fec4Smrg
93371d7fec4Smrg#define MDC_UNLOCK              0x00000000	/* Unlock register               */
93471d7fec4Smrg#define MDC_GENERAL_CFG         0x00000004	/* Config registers              */
93571d7fec4Smrg#define MDC_DISPLAY_CFG         0x00000008
93671d7fec4Smrg#define MDC_GFX_SCL             0x0000000C	/* Graphics scaling              */
93771d7fec4Smrg
93871d7fec4Smrg#define MDC_FB_ST_OFFSET        0x00000010	/* Frame buffer start offset     */
93971d7fec4Smrg#define MDC_CB_ST_OFFSET        0x00000014	/* Compression start offset      */
94071d7fec4Smrg#define MDC_CURS_ST_OFFSET      0x00000018	/* Cursor buffer start offset    */
94171d7fec4Smrg#define MDC_ICON_ST_OFFSET      0x0000001C	/* Icon buffer start offset      */
94271d7fec4Smrg#define MDC_VID_Y_ST_OFFSET     0x00000020	/* Video Y Buffer start offset   */
94371d7fec4Smrg#define MDC_VID_U_ST_OFFSET     0x00000024	/* Video U Buffer start offset   */
94471d7fec4Smrg#define MDC_VID_V_ST_OFFSET     0x00000028	/* Video V Buffer start offset   */
94571d7fec4Smrg#define MDC_LINE_SIZE           0x00000030	/* Video, CB, and FB line sizes  */
94671d7fec4Smrg#define MDC_GFX_PITCH           0x00000034	/* FB and DB skip counts         */
94771d7fec4Smrg#define MDC_VID_YUV_PITCH       0x00000038	/* Y, U and V buffer skip counts */
94871d7fec4Smrg
94971d7fec4Smrg#define MDC_H_ACTIVE_TIMING     0x00000040	/* Horizontal timings            */
95071d7fec4Smrg#define MDC_H_BLANK_TIMING      0x00000044
95171d7fec4Smrg#define MDC_H_SYNC_TIMING       0x00000048
95271d7fec4Smrg#define MDC_V_ACTIVE_TIMING     0x00000050	/* Vertical Timings              */
95371d7fec4Smrg#define MDC_V_BLANK_TIMING      0x00000054
95471d7fec4Smrg#define MDC_V_SYNC_TIMING       0x00000058
95571d7fec4Smrg
95671d7fec4Smrg#define MDC_CURSOR_X            0x00000060	/* Cursor X position             */
95771d7fec4Smrg#define MDC_CURSOR_Y            0x00000064	/* Cursor Y Position             */
95871d7fec4Smrg#define MDC_ICON_X              0x00000068	/* Icon X Position               */
95971d7fec4Smrg#define MDC_LINE_CNT_STATUS     0x0000006C	/* Icon Y Position               */
96071d7fec4Smrg
96171d7fec4Smrg#define MDC_PAL_ADDRESS         0x00000070	/* Palette Address               */
96271d7fec4Smrg#define MDC_PAL_DATA            0x00000074	/* Palette Data                  */
96371d7fec4Smrg#define MDC_DFIFO_DIAG          0x00000078	/* Display FIFO diagnostic       */
96471d7fec4Smrg#define MDC_CFIFO_DIAG          0x0000007C	/* Compression FIFO diagnostic   */
96571d7fec4Smrg
96671d7fec4Smrg#define MDC_VID_DS_DELTA        0x00000080	/* Vertical Downscaling fraction */
96771d7fec4Smrg
96871d7fec4Smrg#define MDC_PHY_MEM_OFFSET      0x00000084	/* VG Base Address Register      */
96971d7fec4Smrg#define MDC_DV_CTL              0x00000088	/* Dirty-Valid Control Register  */
97071d7fec4Smrg#define MDC_DV_ACC              0x0000008C	/* Dirty-Valid RAM Access        */
97171d7fec4Smrg
97271d7fec4Smrg/* UNLOCK VALUE */
97371d7fec4Smrg
97471d7fec4Smrg#define MDC_UNLOCK_VALUE		0x00004758	/* used to unlock DC regs       */
97571d7fec4Smrg
97671d7fec4Smrg/* VG MBUS DEVICE SMI MSR FIELDS */
97771d7fec4Smrg
97871d7fec4Smrg#define MDC_VG_BL_MASK            0x00000001
97971d7fec4Smrg#define MDC_MISC_MASK             0x00000002
98071d7fec4Smrg#define MDC_ISR0_MASK             0x00000004
98171d7fec4Smrg#define MDC_VGA_BL_MASK           0x00000008
98271d7fec4Smrg#define MDC_CRTCIO_MSK            0x00000010
98371d7fec4Smrg#define MDC_VG_BLANK_SMI          0x00000001
98471d7fec4Smrg#define MDC_MISC_SMI              0x00000002
98571d7fec4Smrg#define MDC_ISR0_SMI              0x00000004
98671d7fec4Smrg#define MDC_VGA_BLANK_SMI         0x00000008
98771d7fec4Smrg#define MDC_CRTCIO_SMI            0x00000010
98871d7fec4Smrg
98971d7fec4Smrg/* MDC_GENERAL_CFG BIT FIELDS */
99071d7fec4Smrg
99171d7fec4Smrg#define MDC_GCFG_DBUG             0x80000000
99271d7fec4Smrg#define MDC_GCFG_DBSL             0x40000000
99371d7fec4Smrg#define MDC_GCFG_CFRW             0x20000000
99471d7fec4Smrg#define MDC_GCFG_DIAG             0x10000000
99571d7fec4Smrg#define MDC_GCFG_GXRFS4           0x08000000
99671d7fec4Smrg#define MDC_GCFG_SGFR             0x04000000
99771d7fec4Smrg#define MDC_GCFG_SGRE             0x02000000
99871d7fec4Smrg#define MDC_GCFG_SIGE             0x01000000
99971d7fec4Smrg#define MDC_GCFG_YUVM             0x00100000
100071d7fec4Smrg#define MDC_GCFG_VDSE             0x00080000
100171d7fec4Smrg#define MDC_GCFG_VGAFT            0x00040000
100271d7fec4Smrg#define MDC_GCFG_FDTY             0x00020000
100371d7fec4Smrg#define MDC_GCFG_STFM             0x00010000
100471d7fec4Smrg#define MDC_GCFG_DFHPEL_MASK      0x0000F000
100571d7fec4Smrg#define MDC_GCFG_DFHPSL_MASK      0x00000F00
100671d7fec4Smrg#define MDC_GCFG_VGAE             0x00000080
100771d7fec4Smrg#define MDC_GCFG_DECE             0x00000040
100871d7fec4Smrg#define MDC_GCFG_CMPE             0x00000020
100971d7fec4Smrg#define MDC_GCFG_VIDE             0x00000008
101071d7fec4Smrg#define MDC_GCFG_ICNE             0x00000004
101171d7fec4Smrg#define MDC_GCFG_CURE             0x00000002
101271d7fec4Smrg#define MDC_GCFG_DFLE             0x00000001
101371d7fec4Smrg
101471d7fec4Smrg/* MDC_DISPLAY_CFG BIT FIELDS */
101571d7fec4Smrg
101671d7fec4Smrg#define MDC_DCFG_A20M             0x80000000
101771d7fec4Smrg#define MDC_DCFG_A18M             0x40000000
101871d7fec4Smrg#define MDC_DCFG_VISL             0x08000000
101971d7fec4Smrg#define MDC_DCFG_FRLK             0x04000000
102071d7fec4Smrg#define MDC_DCFG_PALB             0x02000000
102171d7fec4Smrg#define MDC_DCFG_PIX_PAN_MASK     0x00F00000
102271d7fec4Smrg#define MDC_DCFG_DCEN             0x00080000
102371d7fec4Smrg#define MDC_DCFG_16BPP_MODE_MASK  0x00000C00
102471d7fec4Smrg#define MDC_DCFG_16BPP            0x00000000
102571d7fec4Smrg#define MDC_DCFG_15BPP            0x00000400
102671d7fec4Smrg#define MDC_DCFG_12BPP            0x00000800
102771d7fec4Smrg#define MDC_DCFG_DISP_MODE_MASK   0x00000300
102871d7fec4Smrg#define MDC_DCFG_DISP_MODE_8BPP   0x00000000
102971d7fec4Smrg#define MDC_DCFG_DISP_MODE_16BPP  0x00000100
103071d7fec4Smrg#define MDC_DCFG_DISP_MODE_24BPP  0x00000200
103171d7fec4Smrg#define MDC_DCFG_SCLE             0x00000080
103271d7fec4Smrg#define MDC_DCFG_TRUP             0x00000040
103371d7fec4Smrg#define MDC_DCFG_VIEN             0x00000020
103471d7fec4Smrg#define MDC_DCFG_VDEN             0x00000010
103571d7fec4Smrg#define MDC_DCFG_GDEN             0x00000008
103671d7fec4Smrg#define MDC_DCFG_VCKE             0x00000004
103771d7fec4Smrg#define MDC_DCFG_PCKE             0x00000002
103871d7fec4Smrg#define MDC_DCFG_TGEN             0x00000001
103971d7fec4Smrg
104071d7fec4Smrg/* MDC_LINE_CNT BIT FIELDS     */
104171d7fec4Smrg
104271d7fec4Smrg#define MDC_LNCNT_DNA             0x80000000
104371d7fec4Smrg#define MDC_LNCNT_VNA             0x40000000
104471d7fec4Smrg#define MDC_LNCNT_VSA             0x20000000
104571d7fec4Smrg#define MDC_LNCNT_VINT            0x10000000
104671d7fec4Smrg#define MDC_LNCNT_FLIP            0x08000000
104771d7fec4Smrg#define MDC_LNCNT_V_LINE_CNT      0x07FF0000
104871d7fec4Smrg#define MDC_LNCNT_VFLIP           0x00008000
104971d7fec4Smrg#define MDC_LNCNT_SIGC            0x00004000
105071d7fec4Smrg#define MDC_LNCNT_SS_LINE_CMP     0x000007FF
105171d7fec4Smrg
105271d7fec4Smrg/* MDC_FB_ST_OFFSET BIT FIELDS */
105371d7fec4Smrg
105471d7fec4Smrg#define MDC_FB_ST_OFFSET_MASK     0x0FFFFFFF
105571d7fec4Smrg
105671d7fec4Smrg/* MDC_CB_ST_OFFSET BIT FIELDS */
105771d7fec4Smrg
105871d7fec4Smrg#define MDC_CB_ST_OFFSET_MASK     0x0FFFFFFF
105971d7fec4Smrg
106071d7fec4Smrg/* MDC_CURS_ST_OFFSET BIT FIELDS */
106171d7fec4Smrg
106271d7fec4Smrg#define MDC_CURS_ST_OFFSET_MASK   0x0FFFFFFF
106371d7fec4Smrg
106471d7fec4Smrg/* MDC_ICON_ST_OFFSET BIT FIELDS */
106571d7fec4Smrg
106671d7fec4Smrg#define MDC_ICON_ST_OFFSET_MASK   0x0FFFFFFF
106771d7fec4Smrg
106871d7fec4Smrg/* MDC_VID_Y_ST_OFFSET BIT FIELDS */
106971d7fec4Smrg
107071d7fec4Smrg#define MDC_VID_Y_ST_OFFSET_MASK  0x0FFFFFFF
107171d7fec4Smrg
107271d7fec4Smrg/* MDC_VID_U_ST_OFFSET BIT FIELDS */
107371d7fec4Smrg
107471d7fec4Smrg#define MDC_VID_U_ST_OFFSET_MASK  0x0FFFFFFF
107571d7fec4Smrg
107671d7fec4Smrg/* MDC_VID_V_ST_OFFSET BIT FIELDS */
107771d7fec4Smrg
107871d7fec4Smrg#define MDC_VID_V_ST_OFFSET_MASK  0x0FFFFFFF
107971d7fec4Smrg
108071d7fec4Smrg/* MDC_LINE_SIZE BIT FIELDS */
108171d7fec4Smrg
108271d7fec4Smrg#define MDC_LINE_SIZE_VLS_MASK    0xFF000000
108371d7fec4Smrg#define MDC_LINE_SIZE_CBLS_MASK   0x007F0000
108471d7fec4Smrg#define MDC_LINE_SIZE_FBLS_MASK   0x000007FF
108571d7fec4Smrg
108671d7fec4Smrg/* MDC_GFX_PITCH BIT FIELDS */
108771d7fec4Smrg
108871d7fec4Smrg#define MDC_GFX_PITCH_CBP_MASK    0xFFFF0000
108971d7fec4Smrg#define MDC_GFX_PITCH_FBP_MASK    0x0000FFFF
109071d7fec4Smrg
109171d7fec4Smrg/* MDC_VID_YUV_PITCH BIT FIELDS */
109271d7fec4Smrg
109371d7fec4Smrg#define MDC_YUV_PITCH_UVP_MASK    0xFFFF0000
109471d7fec4Smrg#define MDC_YUV_PITCH_YBP_MASK    0x0000FFFF
109571d7fec4Smrg
109671d7fec4Smrg/* MDC_H_ACTIVE_TIMING BIT FIELDS */
109771d7fec4Smrg
109871d7fec4Smrg#define MDC_HAT_HT_MASK           0x0FF80000
109971d7fec4Smrg#define MDC_HAT_HA_MASK           0x00000FF8
110071d7fec4Smrg
110171d7fec4Smrg/* MDC_H_BLANK_TIMING BIT FIELDS */
110271d7fec4Smrg
110371d7fec4Smrg#define MDC_HBT_HBE_MASK          0x0FF80000
110471d7fec4Smrg#define MDC_HBT_HBS_MASK          0x00000FF8
110571d7fec4Smrg
110671d7fec4Smrg/* MDC_H_SYNC_TIMING BIT FIELDS */
110771d7fec4Smrg
110871d7fec4Smrg#define MDC_HST_HSE_MASK          0x0FF80000
110971d7fec4Smrg#define MDC_HST_HSS_MASK          0x00000FF8
111071d7fec4Smrg
111171d7fec4Smrg/* MDC_V_ACTIVE_TIMING BIT FIELDS */
111271d7fec4Smrg
111371d7fec4Smrg#define MDC_VAT_VT_MASK           0x07FF0000
111471d7fec4Smrg#define MDC_VAT_VA_MASK           0x000007FF
111571d7fec4Smrg
111671d7fec4Smrg/* MDC_V_BLANK_TIMING BIT FIELDS */
111771d7fec4Smrg
111871d7fec4Smrg#define MDC_VBT_VBE_MASK          0x07FF0000
111971d7fec4Smrg#define MDC_VBT_VBS_MASK          0x000007FF
112071d7fec4Smrg
112171d7fec4Smrg/* MDC_V_SYNC_TIMING BIT FIELDS */
112271d7fec4Smrg
112371d7fec4Smrg#define MDC_VST_VSE_MASK          0x07FF0000
112471d7fec4Smrg#define MDC_VST_VSS_MASK          0x000007FF
112571d7fec4Smrg
112671d7fec4Smrg/* MDC_DV_CTL BIT DEFINITIONS */
112771d7fec4Smrg
112871d7fec4Smrg#define MDC_DV_LINE_SIZE_MASK     0x00000C00
112971d7fec4Smrg#define MDC_DV_LINE_SIZE_1024     0x00000000
113071d7fec4Smrg#define MDC_DV_LINE_SIZE_2048     0x00000400
113171d7fec4Smrg#define MDC_DV_LINE_SIZE_4096     0x00000800
113271d7fec4Smrg#define MDC_DV_LINE_SIZE_8192     0x00000C00
113371d7fec4Smrg
113471d7fec4Smrg/* VGA DEFINITIONS */
113571d7fec4Smrg
113671d7fec4Smrg#define MDC_SEQUENCER_INDEX       0x03C4
113771d7fec4Smrg#define MDC_SEQUENCER_DATA        0x03C5
113871d7fec4Smrg#define MDC_SEQUENCER_RESET       0x00
113971d7fec4Smrg#define MDC_SEQUENCER_CLK_MODE    0x01
114071d7fec4Smrg
114171d7fec4Smrg#define MDC_RESET_VGA_DISP_ENABLE 0x03
114271d7fec4Smrg#define MDC_CLK_MODE_SCREEN_OFF   0x20
114371d7fec4Smrg
114471d7fec4Smrg/*---------------------------------------------------*/
114571d7fec4Smrg/*  REDCLOUD DISPLAY FILTER                          */
114671d7fec4Smrg/*---------------------------------------------------*/
114771d7fec4Smrg
114871d7fec4Smrg/* RCDF VIDEO REGISTER DEFINITIONS */
114971d7fec4Smrg
115071d7fec4Smrg#define RCDF_VIDEO_CONFIG 				    0x000
115171d7fec4Smrg#define RCDF_DISPLAY_CONFIG				    0x008
115271d7fec4Smrg#define RCDF_VIDEO_X_POS					0x010
115371d7fec4Smrg#define RCDF_VIDEO_Y_POS					0x018
115471d7fec4Smrg#define RCDF_VIDEO_SCALE					0x020
115571d7fec4Smrg#define RCDF_VIDEO_COLOR_KEY				0x028
115671d7fec4Smrg#define RCDF_VIDEO_COLOR_MASK				0x030
115771d7fec4Smrg#define RCDF_PALETTE_ADDRESS 				0x038
115871d7fec4Smrg#define RCDF_PALETTE_DATA	 				0x040
115971d7fec4Smrg#define RCDF_VID_MISC						0x050
116071d7fec4Smrg#define RCDF_VID_CLOCK_SELECT				0x058
116171d7fec4Smrg#define RCDF_VIDEO_DOWNSCALER_CONTROL       0x078
116271d7fec4Smrg#define RCDF_VIDEO_DOWNSCALER_COEFFICIENTS  0x080
116371d7fec4Smrg#define RCDF_VID_CRC						0x088
116471d7fec4Smrg#define RCDF_VID_CRC32						0x090
116571d7fec4Smrg#define RCDF_VID_ALPHA_CONTROL			    0x098
116671d7fec4Smrg#define RCDF_CURSOR_COLOR_KEY				0x0A0
116771d7fec4Smrg#define RCDF_CURSOR_COLOR_MASK			    0x0A8
116871d7fec4Smrg#define RCDF_CURSOR_COLOR_1				    0x0B0
116971d7fec4Smrg#define RCDF_CURSOR_COLOR_2				    0x0B8
117071d7fec4Smrg#define RCDF_ALPHA_XPOS_1					0x0C0
117171d7fec4Smrg#define RCDF_ALPHA_YPOS_1					0x0C8
117271d7fec4Smrg#define RCDF_ALPHA_COLOR_1				    0x0D0
117371d7fec4Smrg#define RCDF_ALPHA_CONTROL_1				0x0D8
117471d7fec4Smrg#define RCDF_ALPHA_XPOS_2					0x0E0
117571d7fec4Smrg#define RCDF_ALPHA_YPOS_2					0x0E8
117671d7fec4Smrg#define RCDF_ALPHA_COLOR_2				    0x0F0
117771d7fec4Smrg#define RCDF_ALPHA_CONTROL_2				0x0F8
117871d7fec4Smrg#define RCDF_ALPHA_XPOS_3					0x100
117971d7fec4Smrg#define RCDF_ALPHA_YPOS_3					0x108
118071d7fec4Smrg#define RCDF_ALPHA_COLOR_3				    0x110
118171d7fec4Smrg#define RCDF_ALPHA_CONTROL_3				0x118
118271d7fec4Smrg#define RCDF_VIDEO_REQUEST                  0x120
118371d7fec4Smrg#define RCDF_ALPHA_WATCH                    0x128
118471d7fec4Smrg#define RCDF_VIDEO_TEST_MODE                0x210
118571d7fec4Smrg#define RCDF_POWER_MANAGEMENT               0x410
118671d7fec4Smrg
118771d7fec4Smrg/* DISPLAY FILTER POWER MANAGEMENT DEFINITIONS */
118871d7fec4Smrg
118971d7fec4Smrg#define RCDF_PM_PANEL_POWER_ON              0x01000000
119071d7fec4Smrg
119171d7fec4Smrg/* DISPLAY FILTER MSRS */
119271d7fec4Smrg
119371d7fec4Smrg#define RCDF_MBD_MSR_DIAG_DF				0x2010
119471d7fec4Smrg#define RCDF_DIAG_32BIT_CRC					0x80000000
119571d7fec4Smrg
119671d7fec4Smrg/* "RCDF_VIDEO_CONFIG" BIT DEFINITIONS */
119771d7fec4Smrg
119871d7fec4Smrg#define RCDF_VCFG_VID_EN					0x00000001
119971d7fec4Smrg#define RCDF_VCFG_VID_INP_FORMAT			0x0000000C
120071d7fec4Smrg#define RCDF_VCFG_X_FILTER_EN				0x00000040
120171d7fec4Smrg#define RCDF_VCFG_Y_FILTER_EN				0x00000080
120271d7fec4Smrg#define RCDF_VCFG_LINE_SIZE_LOWER_MASK	    0x0000FF00
120371d7fec4Smrg#define RCDF_VCFG_INIT_READ_MASK			0x01FF0000
120471d7fec4Smrg#define RCDF_VCFG_LINE_SIZE_UPPER			0x08000000
120571d7fec4Smrg#define RCDF_VCFG_4_2_0_MODE				0x10000000
120671d7fec4Smrg#define RCDF_VCFG_UYVY_FORMAT				0x00000000
120771d7fec4Smrg#define RCDF_VCFG_Y2YU_FORMAT				0x00000004
120871d7fec4Smrg#define RCDF_VCFG_YUYV_FORMAT				0x00000008
120971d7fec4Smrg#define RCDF_VCFG_YVYU_FORMAT				0x0000000C
121071d7fec4Smrg
121171d7fec4Smrg/* "RCDF_DISPLAY_CONFIG" BIT DEFINITIONS */
121271d7fec4Smrg
121371d7fec4Smrg#define RCDF_DCFG_DIS_EN				    0x00000001
121471d7fec4Smrg#define RCDF_DCFG_HSYNC_EN				    0x00000002
121571d7fec4Smrg#define RCDF_DCFG_VSYNC_EN				    0x00000004
121671d7fec4Smrg#define RCDF_DCFG_DAC_BL_EN				    0x00000008
121771d7fec4Smrg#define RCDF_DCFG_FP_PWR_EN				    0x00000040
121871d7fec4Smrg#define RCDF_DCFG_FP_DATA_EN				0x00000080
121971d7fec4Smrg#define RCDF_DCFG_CRT_HSYNC_POL 			0x00000100
122071d7fec4Smrg#define RCDF_DCFG_CRT_VSYNC_POL 			0x00000200
122171d7fec4Smrg#define RCDF_DCFG_CRT_SYNC_SKW_MASK		    0x0001C000
122271d7fec4Smrg#define RCDF_DCFG_CRT_SYNC_SKW_INIT		    0x00010000
122371d7fec4Smrg#define RCDF_DCFG_PWR_SEQ_DLY_MASK		    0x000E0000
122471d7fec4Smrg#define RCDF_DCFG_PWR_SEQ_DLY_INIT		    0x00080000
122571d7fec4Smrg#define RCDF_DCFG_VG_CK					    0x00100000
122671d7fec4Smrg#define RCDF_DCFG_GV_PAL_BYP				0x00200000
122771d7fec4Smrg#define RCDF_DAC_VREF                       0x04000000
122871d7fec4Smrg#define RCDF_FP_ON_STATUS                   0x08000000
122971d7fec4Smrg
123071d7fec4Smrg/* "RCDF_VID_MISC" BIT DEFINITIONS */
123171d7fec4Smrg
123271d7fec4Smrg#define RCDF_GAMMA_BYPASS_BOTH              0x00000001
123371d7fec4Smrg#define RCDF_DAC_POWER_DOWN                 0x00000400
123471d7fec4Smrg#define RCDF_ANALOG_POWER_DOWN              0x00000800
123571d7fec4Smrg
123671d7fec4Smrg/* "RCDF_VIDEO_DOWNSCALER_CONTROL" BIT DEFINITIONS */
123771d7fec4Smrg
123871d7fec4Smrg#define RCDF_VIDEO_DOWNSCALE_ENABLE         0x00000001
123971d7fec4Smrg#define RCDF_VIDEO_DOWNSCALE_FACTOR_POS     1
124071d7fec4Smrg#define RCDF_VIDEO_DOWNSCALE_FACTOR_MASK    0x0000001E
124171d7fec4Smrg#define RCDF_VIDEO_DOWNSCALE_TYPE_A         0x00000000
124271d7fec4Smrg#define RCDF_VIDEO_DOWNSCALE_TYPE_B         0x00000040
124371d7fec4Smrg#define RCDF_VIDEO_DOWNSCALE_TYPE_MASK      0x00000040
124471d7fec4Smrg
124571d7fec4Smrg/* "RCDF_VIDEO_DOWNSCALER_COEFFICIENTS" BIT DEFINITIONS */
124671d7fec4Smrg
124771d7fec4Smrg#define RCDF_VIDEO_DOWNSCALER_COEF1_POS     0
124871d7fec4Smrg#define RCDF_VIDEO_DOWNSCALER_COEF2_POS     8
124971d7fec4Smrg#define RCDF_VIDEO_DOWNSCALER_COEF3_POS     16
125071d7fec4Smrg#define RCDF_VIDEO_DOWNSCALER_COEF4_POS     24
125171d7fec4Smrg#define RCDF_VIDEO_DOWNSCALER_COEF_MASK     0xF
125271d7fec4Smrg
125371d7fec4Smrg/* VIDEO DE-INTERLACING AND ALPHA CONTROL */
125471d7fec4Smrg
125571d7fec4Smrg#define RCDF_NO_CK_OUTSIDE_ALPHA            0x00000100
125671d7fec4Smrg#define RCDF_CSC_VIDEO_YUV_TO_RGB           0x00000400
125771d7fec4Smrg#define RCDF_VIDEO_INPUT_IS_RGB             0x00002000
125871d7fec4Smrg#define RCDF_ALPHA1_PRIORITY_POS			16
125971d7fec4Smrg#define RCDF_ALPHA1_PRIORITY_MASK			0x00030000
126071d7fec4Smrg#define RCDF_ALPHA2_PRIORITY_POS			18
126171d7fec4Smrg#define RCDF_ALPHA2_PRIORITY_MASK			0x000C0000
126271d7fec4Smrg#define RCDF_ALPHA3_PRIORITY_POS			20
126371d7fec4Smrg#define RCDF_ALPHA3_PRIORITY_MASK			0x00300000
126471d7fec4Smrg
126571d7fec4Smrg/* VIDEO CURSOR COLOR KEY DEFINITIONS */
126671d7fec4Smrg
126771d7fec4Smrg#define RCDF_CURSOR_COLOR_KEY_ENABLE      0x20000000
126871d7fec4Smrg#define RCDF_CURSOR_COLOR_KEY_OFFSET_POS  24
126971d7fec4Smrg#define RCDF_CURSOR_COLOR_BITS            23
127071d7fec4Smrg#define RCDF_COLOR_MASK                   0x00FFFFFF	/* 24 significant bits */
127171d7fec4Smrg
127271d7fec4Smrg/* ALPHA COLOR BIT DEFINITION (REGISTERS 0x68, 0x78, AND 0x88) */
127371d7fec4Smrg
127471d7fec4Smrg#define RCDF_ALPHA_COLOR_ENABLE           0x01000000
127571d7fec4Smrg
127671d7fec4Smrg/* ALPHA CONTROL BIT DEFINITIONS (REGISTERS 0x6C, 0x7C, AND 0x8C) */
127771d7fec4Smrg
127871d7fec4Smrg#define RCDF_ACTRL_WIN_ENABLE				0x00010000
127971d7fec4Smrg#define RCDF_ACTRL_LOAD_ALPHA				0x00020000
128071d7fec4Smrg
128171d7fec4Smrg/* VIDEO REQUEST DEFINITIONS (REGISTER 0x90) */
128271d7fec4Smrg
128371d7fec4Smrg#define RCDF_VIDEO_Y_REQUEST_POS          0
128471d7fec4Smrg#define RCDF_VIDEO_X_REQUEST_POS          16
128571d7fec4Smrg#define RCDF_VIDEO_REQUEST_MASK           0x000007FF
128671d7fec4Smrg
128771d7fec4Smrg/* GEODELINK DEVICE MSR REGISTER SUMMARY */
128871d7fec4Smrg
128971d7fec4Smrg#define MBD_MSR_CAP         0x2000	/* Device Capabilities                   */
129071d7fec4Smrg#define MBD_MSR_CONFIG      0x2001	/* Device Master Configuration Register  */
129171d7fec4Smrg#define MBD_MSR_SMI         0x2002	/* MBus Device SMI Register              */
129271d7fec4Smrg#define MBD_MSR_ERROR       0x2003	/* MBus Device Error                     */
129371d7fec4Smrg#define MBD_MSR_PM          0x2004	/* MBus Device Power Management Register */
129471d7fec4Smrg#define MBD_MSR_DIAG        0x2005	/* Mbus Device Diagnostic Register       */
129571d7fec4Smrg
129671d7fec4Smrg/* DISPLAY FILTER MBD_MSR_DIAG DEFINITIONS */
129771d7fec4Smrg
129871d7fec4Smrg#define RCDF_MBD_DIAG_SEL0        0x00007FFF	/* Lower 32-bits of Diag Bus Select     */
129971d7fec4Smrg#define RCDF_MBD_DIAG_EN0         0x00008000	/* Enable for lower 32-bits of diag bus */
130071d7fec4Smrg#define RCDF_MBD_DIAG_SEL1        0x7FFF0000	/* Upper 32-bits of Diag Bus Select     */
130171d7fec4Smrg#define RCDF_MBD_DIAG_EN1         0x80000000	/* Enable for upper 32-bits of diag bus */
130271d7fec4Smrg
130371d7fec4Smrg/* DISPLAY FILTER MBD_MSR_CONFIG DEFINITIONS */
130471d7fec4Smrg
130571d7fec4Smrg#define RCDF_CONFIG_FMT_MASK      0x00000038	/* Output Format */
130671d7fec4Smrg#define RCDF_CONFIG_FMT_CRT       0x00000000
130771d7fec4Smrg#define RCDF_CONFIG_FMT_FP        0x00000008
130871d7fec4Smrg
130971d7fec4Smrg/* MCP MSR DEFINITIONS */
131071d7fec4Smrg
131171d7fec4Smrg#define MCP_CLKOFF                0x0010
131271d7fec4Smrg#define MCP_CLKACTIVE             0x0011
131371d7fec4Smrg#define MCP_CLKDISABLE            0x0012
131471d7fec4Smrg#define MCP_CLK4ACK               0x0013
131571d7fec4Smrg#define MCP_SYS_RSTPLL            0x0014
131671d7fec4Smrg#define MCP_DOTPLL                0x0015
131771d7fec4Smrg#define MCP_DBGCLKCTL             0x0016
131871d7fec4Smrg#define MCP_RC_REVID              0x0017
131971d7fec4Smrg#define MCP_SETM0CTL              0x0040
132071d7fec4Smrg#define MCP_SETN0CTL              0x0048
132171d7fec4Smrg#define MCP_CMPVAL0               0x0050
132271d7fec4Smrg#define MCP_CMPMASK0              0x0051
132371d7fec4Smrg#define MCP_REGA                  0x0058
132471d7fec4Smrg#define MCP_REGB                  0x0059
132571d7fec4Smrg#define MCP_REGAMASK              0x005A
132671d7fec4Smrg#define MCP_REGAVAL               0x005B
132771d7fec4Smrg#define MCP_REGBMASK              0x005C
132871d7fec4Smrg#define MCP_REGBVAL               0x005D
132971d7fec4Smrg#define MCP_FIFOCTL               0x005E
133071d7fec4Smrg#define MCP_DIAGCTL               0x005F
133171d7fec4Smrg#define MCP_H0CTL                 0x0060
133271d7fec4Smrg#define MCP_XSTATE                0x0066
133371d7fec4Smrg#define MCP_YSTATE                0x0067
133471d7fec4Smrg#define MCP_ACTION0               0x0068
133571d7fec4Smrg
133671d7fec4Smrg/* MCP_SYS_RSTPLL DEFINITIONS */
133771d7fec4Smrg
133871d7fec4Smrg#define MCP_DOTPOSTDIV3           0x00000008
133971d7fec4Smrg#define MCP_DOTPREMULT2           0x00000004
134071d7fec4Smrg#define MCP_DOTPREDIV2            0x00000002
134171d7fec4Smrg
134271d7fec4Smrg/* MCP MBD_MSR_DIAG DEFINITIONS */
134371d7fec4Smrg
134471d7fec4Smrg#define MCP_MBD_DIAG_SEL0         0x00000007
134571d7fec4Smrg#define MCP_MBD_DIAG_EN0          0x00008000
134671d7fec4Smrg#define MCP_MBD_DIAG_SEL1         0x00070000
134771d7fec4Smrg#define MCP_MBD_DIAG_EN1          0x80000000
134871d7fec4Smrg
134971d7fec4Smrg/* MCP_DOTPLL DEFINITIONS */
135071d7fec4Smrg
135171d7fec4Smrg#define MCP_DOTPLL_P              0x00000003
135271d7fec4Smrg#define MCP_DOTPLL_N              0x000001FC
135371d7fec4Smrg#define MCP_DOTPLL_M              0x00001E00
135471d7fec4Smrg#define MCP_DOTPLL_LOCK           0x02000000
135571d7fec4Smrg#define MCP_DOTPLL_BYPASS         0x00008000
135671d7fec4Smrg
135771d7fec4Smrg/* END OF FILE */
135871d7fec4Smrg
1359