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