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