1*19387f23Sandvar /* $NetBSD: mq200reg.h,v 1.12 2024/05/23 08:30:51 andvar Exp $ */ 2733c0414Stakemura 3733c0414Stakemura /*- 444e4c533Stakemura * Copyright (c) 2000, 2001 TAKEMURA Shin 5733c0414Stakemura * All rights reserved. 6733c0414Stakemura * 7733c0414Stakemura * Redistribution and use in source and binary forms, with or without 8733c0414Stakemura * modification, are permitted provided that the following conditions 9733c0414Stakemura * are met: 10733c0414Stakemura * 1. Redistributions of source code must retain the above copyright 11733c0414Stakemura * notice, this list of conditions and the following disclaimer. 12733c0414Stakemura * 2. Redistributions in binary form must reproduce the above copyright 13733c0414Stakemura * notice, this list of conditions and the following disclaimer in the 14733c0414Stakemura * documentation and/or other materials provided with the distribution. 15733c0414Stakemura * 3. The name of the author may not be used to endorse or promote products 16733c0414Stakemura * derived from this software without specific prior written permission. 17733c0414Stakemura * 18733c0414Stakemura * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 19733c0414Stakemura * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20733c0414Stakemura * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21733c0414Stakemura * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 22733c0414Stakemura * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23733c0414Stakemura * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24733c0414Stakemura * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25733c0414Stakemura * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26733c0414Stakemura * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27733c0414Stakemura * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28733c0414Stakemura * SUCH DAMAGE. 29733c0414Stakemura * 30733c0414Stakemura */ 31733c0414Stakemura 32733c0414Stakemura #define MQ200_VENDOR_ID 0x4d51 33733c0414Stakemura #define MQ200_PRODUCT_ID 0x0200 345692823cStakemura #define MQ200_MAPSIZE 0x800000 35733c0414Stakemura 36733c0414Stakemura #define MQ200_POWERSTATE_D0 0 37733c0414Stakemura #define MQ200_POWERSTATE_D1 1 38733c0414Stakemura #define MQ200_POWERSTATE_D2 2 39733c0414Stakemura #define MQ200_POWERSTATE_D3 3 40733c0414Stakemura 411ab9404cStakemura #define MQ200_CLOCK_BUS 0 421ab9404cStakemura #define MQ200_CLOCK_PLL1 1 431ab9404cStakemura #define MQ200_CLOCK_PLL2 2 441ab9404cStakemura #define MQ200_CLOCK_PLL3 3 451ab9404cStakemura 46108ae856Stakemura #define MQ200_REGADDR 0x600000 /* register base address */ 47108ae856Stakemura #define MQ200_PM 0x000000 /* power management */ 48108ae856Stakemura #define MQ200_CC 0x002000 /* CPU interface */ 49108ae856Stakemura #define MQ200_MM 0x004000 /* memory interface unit */ 50108ae856Stakemura #define MQ200_IN 0x008000 /* interrupt controller */ 51108ae856Stakemura #define MQ200_GC(n) (0x00a000+0x80*(n)) 52108ae856Stakemura #define MQ200_GE 0x00c000 /* graphics engine */ 53108ae856Stakemura #define MQ200_FP 0x00e000 /* flat panel controller*/ 54108ae856Stakemura #define MQ200_CP1 0x010000 /* color palette 1 */ 55964859d8Sabs #define MQ200_DC 0x014000 /* device configuration */ 56964859d8Sabs #define MQ200_PC 0x016000 /* PCI configuration */ 57733c0414Stakemura 585692823cStakemura /* 595692823cStakemura * Power Management 605692823cStakemura */ 615692823cStakemura 625692823cStakemura /* 635692823cStakemura * CPU Interface 645692823cStakemura */ 655692823cStakemura 665692823cStakemura /* 675692823cStakemura * Memory Interface Unit 685692823cStakemura */ 69e2173effStakemura #define MQ200_MMR(n) (MQ200_MM+(n)*4) 70e2173effStakemura # define MQ200_MM00_ENABLE (1<<0) 71e2173effStakemura # define MQ200_MM00_RESET (1<<1) 72e2173effStakemura # define MQ200_MM00_DRAM_RESET (1<<2) 73e2173effStakemura # define MQ200_MM01_CLK_PLL1 (0<<0) 74e2173effStakemura # define MQ200_MM01_CLK_BUS (1<<0) 75e2173effStakemura # define MQ200_MM01_CLK_PLL2 (1<<0) 7644e4c533Stakemura # define MQ200_MM01_SLOW_REFRESH_EN (1<<1) 7744e4c533Stakemura # define MQ200_MM01_CPU_PB_EN (1<<2) 7844e4c533Stakemura # define MQ200_MM01_GC1_PB_EN (1<<3) 7944e4c533Stakemura # define MQ200_MM01_GC2_PB_EN (1<<4) 8044e4c533Stakemura # define MQ200_MM01_STN_READ_PB_EN (1<<5) 8144e4c533Stakemura # define MQ200_MM01_STN_WRITE_PB_EN (1<<6) 8244e4c533Stakemura # define MQ200_MM01_GE_PB_EN (1<<7) 8344e4c533Stakemura /* bits 11-8 is reserved */ 8444e4c533Stakemura # define MQ200_MM01_REFRESH_SHIFT 12 8544e4c533Stakemura # define MQ200_MM01_REFRESH_MASK 0x03fff000 8644e4c533Stakemura /* bits 29 is reserved */ 8744e4c533Stakemura # define MQ200_MM01_DRAM_AUTO_REFRESH_EN (1<<30) 8844e4c533Stakemura # define MQ200_MM01_DRAM_STANDBY_EN (1<<31) 895692823cStakemura 905692823cStakemura /* 915692823cStakemura * Interrupt Controller 925692823cStakemura */ 935692823cStakemura 945692823cStakemura /* 955692823cStakemura * Graphics Controller 1/2 965692823cStakemura */ 97e2173effStakemura #define MQ200_GC1 0 /* graphice controller 1*/ 98e2173effStakemura #define MQ200_GC2 1 /* graphice controller 2*/ 991ab9404cStakemura #define MQ200_GCR(n) (MQ200_GC(0)+(n)*4) 100e7c346ccStakemura /* GC Control (GC00R and GC20R) */ 1015692823cStakemura #define MQ200_GCCR(n) (MQ200_GC(n)+0x00) 1025692823cStakemura # define MQ200_GCC_ENABLE (1<<0) 1035692823cStakemura # define MQ200_GCC_HCRESET (1<<1) 1045692823cStakemura # define MQ200_GCC_VCRESET (1<<2) 105e7c346ccStakemura # define MQ200_GCC_WINEN (1<<3) 1065692823cStakemura # define MQ200_GCC_DEPTH_SHIFT 4 1075692823cStakemura # define MQ200_GCC_DEPTH_MASK 0x000000f0 108e7c346ccStakemura # define MQ200_GCC_HCEN (1<<8) 1095692823cStakemura /* bits 10-9 is reserved */ 1105692823cStakemura # define MQ200_GCC_ALTEN (1<<11) 1115692823cStakemura # define MQ200_GCC_ALTDEPTH_SHIFT 12 1125692823cStakemura # define MQ200_GCC_ALTDEPTH_MASK 0x0000f000 113e7c346ccStakemura # define MQ200_GCC_RCLK_SHIFT 16 1145692823cStakemura # define MQ200_GCC_RCLK_MASK 0x00030000 1155692823cStakemura # define MQ200_GCC_RCLK_BUS 0x00000000 1165692823cStakemura # define MQ200_GCC_RCLK_PLL1 0x00010000 1175692823cStakemura # define MQ200_GCC_RCLK_PLL2 0x00020000 1185692823cStakemura # define MQ200_GCC_RCLK_PLL3 0x00030000 1195692823cStakemura # define MQ200_GCC_TESTMODE0 (1<<18) 1205692823cStakemura # define MQ200_GCC_TESTMODE1 (1<<19) 1215692823cStakemura /* FD(first clock divisor) is 1, 1.5, 2.5, 3.5, 4.5, 5.6 or 6.5 */ 122e7c346ccStakemura # define MQ200_GCC_MCLK_FD_SHIFT 20 1235692823cStakemura # define MQ200_GCC_MCLK_FD_MASK 0x00700000 1245692823cStakemura # define MQ200_GCC_MCLK_FD_1 0x00000000 1255692823cStakemura # define MQ200_GCC_MCLK_FD_1_5 0x00100000 1265692823cStakemura # define MQ200_GCC_MCLK_FD_2_5 0x00200000 1275692823cStakemura # define MQ200_GCC_MCLK_FD_3_5 0x00300000 1285692823cStakemura # define MQ200_GCC_MCLK_FD_4_5 0x00400000 1295692823cStakemura # define MQ200_GCC_MCLK_FD_5_5 0x00500000 1305692823cStakemura # define MQ200_GCC_MCLK_FD_6_5 0x00600000 1315692823cStakemura /* bit 23 is reserved */ 1325692823cStakemura /* SD(second close divisor) is 1-255. 0 means disable */ 1335692823cStakemura # define MQ200_GCC_MCLK_SD_SHIFT 24 1345692823cStakemura # define MQ200_GCC_MCLK_SD_MASK 0xff000000 1355692823cStakemura /* GCCR_DEPTH and GCCR_ALTDEPTH values */ 1365692823cStakemura # define MQ200_GCC_1BPP 0x0 1375692823cStakemura # define MQ200_GCC_2BPP 0x1 1385692823cStakemura # define MQ200_GCC_4BPP 0x2 1395692823cStakemura # define MQ200_GCC_8BPP 0x3 1405692823cStakemura # define MQ200_GCC_16BPP 0x4 1415692823cStakemura # define MQ200_GCC_24BPP 0x5 1425692823cStakemura # define MQ200_GCC_ARGB888 0x6 1435692823cStakemura # define MQ200_GCC_PALBGR 0x6 1445692823cStakemura # define MQ200_GCC_ABGR888 0x7 1455692823cStakemura # define MQ200_GCC_PALRGB 0x7 1465692823cStakemura # define MQ200_GCC_16BPP_DIRECT 0xc 1475692823cStakemura # define MQ200_GCC_24BPP_DIRECT 0xd 1485692823cStakemura # define MQ200_GCC_ARGB888_DIRECT 0xe 1495692823cStakemura # define MQ200_GCC_PALBGR_DIRECT 0xe 1505692823cStakemura # define MQ200_GCC_ABGR888_DIRECT 0xf 1515692823cStakemura # define MQ200_GCC_PALRGB_DIRECT 0xf 1525692823cStakemura 153e7c346ccStakemura /* GC CRT Control (GC1only) */ 154e7c346ccStakemura #define MQ200_GC1CRTCR MQ200_GCR(0x01) 155e7c346ccStakemura # define MQ200_GC1CRTC_DACEN (1<<0) 156e7c346ccStakemura # define MQ200_GC1CRTC_HSYNC_PMCLK (1<<2) 157e7c346ccStakemura # define MQ200_GC1CRTC_VSYNC_PMCLK (1<<3) 158e7c346ccStakemura # define MQ200_GC1CRTC_HSYNC_PMMASK 0x00000030 159e7c346ccStakemura # define MQ200_GC1CRTC_HSYNC_PMNORMAL 0x00000000 160e7c346ccStakemura # define MQ200_GC1CRTC_HSYNC_PMLOW 0x00000010 161e7c346ccStakemura # define MQ200_GC1CRTC_HSYNC_PMHIGH 0x00000020 162e7c346ccStakemura # define MQ200_GC1CRTC_VSYNC_PMMASK 0x000000c0 163e7c346ccStakemura # define MQ200_GC1CRTC_VSYNC_PMNORMAL 0x00000000 164e7c346ccStakemura # define MQ200_GC1CRTC_VSYNC_PMLOW 0x00000040 165e7c346ccStakemura # define MQ200_GC1CRTC_VSYNC_PMHIGH 0x00000080 166e7c346ccStakemura # define MQ200_GC1CRTC_HSYNC_ACTVHIGH (0<<8) 167e7c346ccStakemura # define MQ200_GC1CRTC_HSYNC_ACTVLOW (1<<8) 168e7c346ccStakemura # define MQ200_GC1CRTC_VSYNC_ACTVHIGH (0<<9) 169e7c346ccStakemura # define MQ200_GC1CRTC_VSYNC_ACTVLOW (1<<9) 170e7c346ccStakemura # define MQ200_GC1CRTC_SYNC_PEDESTAL_EN (1<<10) 171e7c346ccStakemura # define MQ200_GC1CRTC_BLANK_PEDESTAL_EN (1<<11) 172e7c346ccStakemura # define MQ200_GC1CRTC_COMPOSITE_SYNC_EN (1<<12) 173e7c346ccStakemura # define MQ200_GC1CRTC_VREF_INTR (0<<13) 174e7c346ccStakemura # define MQ200_GC1CRTC_VREF_EXTR (1<<13) 175e7c346ccStakemura # define MQ200_GC1CRTC_MONITOR_SENCE_EN (1<<14) 176e7c346ccStakemura # define MQ200_GC1CRTC_CONSTANT_OUTPUT_EN (1<<15) 177e7c346ccStakemura # define MQ200_GC1CRTC_OUTPUT_LEVEL_MASK 0x00ff0000 178e7c346ccStakemura # define MQ200_GC1CRTC_OUTPUT_LEVEL_SHIFT 16 179e7c346ccStakemura # define MQ200_GC1CRTC_BLUE_NOTLOADED (1<<24) 180e7c346ccStakemura # define MQ200_GC1CRTC_RED_NOTLOADED (1<<25) 181e7c346ccStakemura # define MQ200_GC1CRTC_GREEN_NOTLOADED (1<<26) 1825692823cStakemura /* bit 27 is reserved */ 183e7c346ccStakemura # define MQ200_GC1CRTC_COLOR (0<<28) 184e7c346ccStakemura # define MQ200_GC1CRTC_MONO (1<<28) 1855692823cStakemura /* bits 31-29 are reserved */ 1865692823cStakemura 187e7c346ccStakemura /* GC CRC Control (GC2 only) */ 188e7c346ccStakemura #define MQ200_GC2CRCCR MQ200_GCR(0x21) 189e7c346ccStakemura # define MQ200_GC2CRCC_ENABLE (1<<0) 190e7c346ccStakemura # define MQ200_GC2CRCC_WAIT1VSYNC (0<<1) 191e7c346ccStakemura # define MQ200_GC2CRCC_WAIT2VSYNC (1<<1) 192e7c346ccStakemura # define MQ200_GC2CRCC_BLUE (0x0<<2) 193e7c346ccStakemura # define MQ200_GC2CRCC_GREEN (0x1<<2) 194e7c346ccStakemura # define MQ200_GC2CRCC_RED (0x2<<2) 195e7c346ccStakemura # define MQ200_GC2CRCC_RESULT_SHIFT 8 196e7c346ccStakemura # define MQ200_GC2CRCC_RESULT_MASK 0x3fffff00 197e7c346ccStakemura 198*19387f23Sandvar /* GC Horizontal Display Control (GC02R and GC22R) */ 1995692823cStakemura #define MQ200_GCHDCR(n) (MQ200_GC(n)+0x08) 200e7c346ccStakemura # define MQ200_GC1HDC_TOTAL_MASK 0x00000fff 201e7c346ccStakemura # define MQ200_GC1HDC_TOTAL_SHIFT 0 2025692823cStakemura /* bits 15-12 are reserved */ 2035692823cStakemura # define MQ200_GCHDC_END_MASK 0x0fff0000 2045692823cStakemura # define MQ200_GCHDC_END_SHIFT 16 2055692823cStakemura /* bits 31-28 are reserved */ 2065692823cStakemura 207e7c346ccStakemura /* GC Vertical Display Control (GC03R and GC23R) */ 2085692823cStakemura #define MQ200_GCVDCR(n) (MQ200_GC(n)+0x0c) 209e2173effStakemura # define MQ200_GC1VDC_TOTAL_MASK 0x00000fff 210e2173effStakemura # define MQ200_GC1VDC_TOTAL_SHIFT 0 2115692823cStakemura /* bits 15-12 are reserved */ 2125692823cStakemura # define MQ200_GCVDC_END_MASK 0x0fff0000 2135692823cStakemura # define MQ200_GCVDC_END_SHIFT 16 2145692823cStakemura /* bits 31-28 are reserved */ 2155692823cStakemura 216*19387f23Sandvar /* GC Horizontal Sync Control (GC04R and GC24R) */ 2175692823cStakemura #define MQ200_GCHSCR(n) (MQ200_GC(n)+0x10) 2185692823cStakemura # define MQ200_GCHSC_START_MASK 0x00000fff 2195692823cStakemura # define MQ200_GCHSC_START_SHIFT 0 2205692823cStakemura /* bits 15-12 are reserved */ 2215692823cStakemura # define MQ200_GCHSC_END_MASK 0x0fff0000 2225692823cStakemura # define MQ200_GCHSC_END_SHIFT 16 2235692823cStakemura /* bits 31-28 are reserved */ 2245692823cStakemura 225e7c346ccStakemura /* GC Vertical Sync Control (GC05R and GC25R) */ 2265692823cStakemura #define MQ200_GCVSCR(n) (MQ200_GC(n)+0x14) 2275692823cStakemura # define MQ200_GCVSC_START_MASK 0x00000fff 2285692823cStakemura # define MQ200_GCVSC_START_SHIFT 0 2295692823cStakemura /* bits 15-12 are reserved */ 2305692823cStakemura # define MQ200_GCVSC_END_MASK 0x0fff0000 2315692823cStakemura # define MQ200_GCVSC_END_SHIFT 16 2325692823cStakemura /* bits 31-28 are reserved */ 2335692823cStakemura 234e7c346ccStakemura /* GC Vertical Display Count (GC07R) */ 235e7c346ccStakemura #define MQ200_GC1VDCNTR MQ200_GCR(0x07) 236e7c346ccStakemura # define MQ200_GC1VDCNT_MASK 0x00000fff 2375692823cStakemura /* bits 31-12 are reserved */ 2385692823cStakemura 239e7c346ccStakemura /* GC Window Horizontal Control (GC08R and GC28R) */ 240e7c346ccStakemura #define MQ200_GCWHCR(n) (MQ200_GC(n)+0x20) 241e7c346ccStakemura # define MQ200_GCWHC_START_MASK 0x00000fff 242e7c346ccStakemura # define MQ200_GCWHC_START_SHIFT 0 2435692823cStakemura /* bits 15-12 are reserved */ 244e7c346ccStakemura # define MQ200_GCWHC_WIDTH_MASK 0x0fff0000 245e7c346ccStakemura # define MQ200_GCWHC_WIDTH_SHIFT 16 246e7c346ccStakemura /* ALD: Additional Line Delta (GC1 only) */ 247e7c346ccStakemura # define MQ200_GC1WHC_ALD_MASK 0xf0000000 248e7c346ccStakemura # define MQ200_GC1WHC_ALD_SHIFT 28 2495692823cStakemura 250e7c346ccStakemura /* GC Window Vertical Control (GC09R and GC29R) */ 251e7c346ccStakemura #define MQ200_GCWVCR(n) (MQ200_GC(n)+0x24) 252e7c346ccStakemura # define MQ200_GCWVC_START_MASK 0x00000fff 253e7c346ccStakemura # define MQ200_GCWVC_START_SHIFT 0 2545692823cStakemura /* bits 15-12 are reserved */ 255e7c346ccStakemura # define MQ200_GCWVC_HEIGHT_MASK 0x0fff0000 256e7c346ccStakemura # define MQ200_GCWVC_HEIGHT_SHIFT 16 2575692823cStakemura /* bits 31-28 are reserved */ 2585692823cStakemura 259e7c346ccStakemura /* GC Altarnate Window Horizontal Control (GC0AR and GC2AR) */ 260e7c346ccStakemura #define MQ200_GCAWHCR(n) (MQ200_GC(n)+0x28) 261e7c346ccStakemura # define MQ200_GCAWHC_START_MASK 0x00000fff 262e7c346ccStakemura # define MQ200_GCAWHC_START_SHIFT 0 2635692823cStakemura /* bits 15-12 are reserved */ 264e7c346ccStakemura # define MQ200_GCAWHC_WIDTH_MASK 0x0fff0000 265e7c346ccStakemura # define MQ200_GCAWHC_WIDTH_SHIFT 16 266e7c346ccStakemura /* ALD: Additional Line Delta (GC1 only) */ 267e7c346ccStakemura # define MQ200_GC1AWHC_ALD_MASK 0xf0000000 268e7c346ccStakemura # define MQ200_GC1AWHC_ALD_SHIFT 28 2695692823cStakemura 270e7c346ccStakemura /* GC Alternate Window Vertical Control (GC0BR and GC2BR) */ 271e7c346ccStakemura #define MQ200_GCAWVCR(n) (MQ200_GC(n)+0x2C) 272e7c346ccStakemura # define MQ200_GCAWVC_START_MASK 0x00000fff 273e7c346ccStakemura # define MQ200_GCAWVC_START_SHIFT 0 2745692823cStakemura /* bits 15-12 are reserved */ 275e7c346ccStakemura # define MQ200_GCAWVC_HEIGHT_MASK 0x0fff0000 276e7c346ccStakemura # define MQ200_GCAWVC_HEIGHT_SHIFT 16 2775692823cStakemura /* bits 31-28 are reserved */ 2785692823cStakemura 279e7c346ccStakemura /* GC Window Start Address (GC0CR and GC2CR) */ 2805692823cStakemura #define MQ200_GCWSAR(n) (MQ200_GC(n)+0x30) 2815692823cStakemura # define MQ200_GCWSA_MASK 0x000fffff 2825692823cStakemura /* bits 31-21 are reserved */ 2835692823cStakemura 284e7c346ccStakemura /* GC Alternate Window Start Address (GC0DR and GC2DR) */ 2855692823cStakemura #define MQ200_GCAWSAR(n) (MQ200_GC(n)+0x34) 2865692823cStakemura # define MQ200_GCAWSA_MASK 0x000fffff 2875692823cStakemura /* bits 24-21 are reserved */ 2885692823cStakemura # define MQ200_GCAWPI_MASK 0xfe000000 289ccaf1e96Ssnj # define MQ200_GCAWPI_SHIFT 24 /* XXX, 24 could be useful 2905692823cStakemura than 23 */ 2915692823cStakemura 292e7c346ccStakemura /* GC Window Stride (GC0ER and GC2ER) */ 2935692823cStakemura #define MQ200_GCWSTR(n) (MQ200_GC(n)+0x38) 2945692823cStakemura # define MQ200_GCWST_MASK 0x0000ffff 2955692823cStakemura # define MQ200_GCWST_SHIFT 0 296e7c346ccStakemura # define MQ200_GCAWST_MASK 0xffff0000 297e7c346ccStakemura # define MQ200_GCAWST_SHIFT 16 2985692823cStakemura 299e7c346ccStakemura /* GC2 Line Size (GC2 only, GC2FR) */ 300e7c346ccStakemura #define MQ200_GC2LSR MQ200_GCR(0x2f) 301e7c346ccStakemura # define MQ200_GC2WLS_MASK 0x00003fff 302e7c346ccStakemura # define MQ200_GC2WLS_SHIFT 0 303e7c346ccStakemura # define MQ200_GC2AWLS_MASK 0x3fff0000 304e7c346ccStakemura # define MQ200_GC2AWLS_SHIFT 16 305e7c346ccStakemura 306e7c346ccStakemura 307e7c346ccStakemura /* GC Hardware Cursor Position (GC10R and GC30R) */ 3085692823cStakemura #define MQ200_GCHCPR(n) (MQ200_GC(n)+0x40) 3095692823cStakemura # define MQ200_GCHCP_HSTART_MASK 0x00000fff 3105692823cStakemura # define MQ200_GCHCP_HSTART_SHIFT 0 3115692823cStakemura /* bits 15-12 are reserved */ 3125692823cStakemura # define MQ200_GCHCP_VSTART_MASK 0x0fff0000 3135692823cStakemura # define MQ200_GCHCP_VSTART_SHIFT 16 3145692823cStakemura /* bits 31-28 are reserved */ 3155692823cStakemura 316e7c346ccStakemura /* GC Hardware Start Address and Offset (GC11R and GC31R) */ 3175692823cStakemura #define MQ200_GCHCAOR(n) (MQ200_GC(n)+0x44) 3185692823cStakemura # define MQ200_GCHCAO_ADDR_MASK 0x00000fff 3195692823cStakemura # define MQ200_GCHCAO_ADDR_SHIFT 0 3205692823cStakemura /* bits 15-12 are reserved */ 3215692823cStakemura # define MQ200_GCHCAO_HOFFSET_MASK 0x003f0000 3225692823cStakemura # define MQ200_GCHCAO_HOFFSET_SHIFT 16 3235692823cStakemura /* bits 23-22 are reserved */ 3245692823cStakemura # define MQ200_GCHCAO_VOFFSET_MASK 0x3f000000 3255692823cStakemura # define MQ200_GCHCAO_VOFFSET_SHIFT 24 3265692823cStakemura /* bits 31-30 are reserved */ 3275692823cStakemura 328e7c346ccStakemura /* GC Hardware Cursor Foreground Color (GC13R and GC33R) */ 3295692823cStakemura #define MQ200_GCHCFCR(n) (MQ200_GC(n)+0x48) 3305692823cStakemura # define MQ200_GCHCFC_MASK 0x00ffffff 3315692823cStakemura /* you can use MQ200_GC_RGB macro */ 3325692823cStakemura /* bits 31-24 are reserved */ 3335692823cStakemura 334e7c346ccStakemura /* GC Hardware Cursor Background Color (GC14R and GC34R) */ 3355692823cStakemura #define MQ200_GCHCBCR(n) (MQ200_GC(n)+0x4c) 3365692823cStakemura # define MQ200_GCHCBC_MASK 0x00ffffff 3375692823cStakemura /* you can use MQ200_GC_RGB macro */ 3385692823cStakemura /* bits 31-24 are reserved */ 3395692823cStakemura 3405692823cStakemura #define MQ200_GC1CR MQ200_GCCR(0) 3415692823cStakemura #define MQ200_GC1HDCR MQ200_GCHDCR(0) 3425692823cStakemura #define MQ200_GC1VDCR MQ200_GCVDCR(0) 3435692823cStakemura #define MQ200_GC1HSCR MQ200_GCHSCR(0) 3445692823cStakemura #define MQ200_GC1VSCR MQ200_GCVSCR(0) 3455692823cStakemura #define MQ200_GC1HWCR MQ200_GCHWCR(0) 3465692823cStakemura #define MQ200_GC1VWCR MQ200_GCVWCR(0) 3475692823cStakemura #define MQ200_GC1HAWCR MQ200_GCHAWCR(0) 3485692823cStakemura #define MQ200_GC1AVWCR MQ200_GCAVWCR(0) 3495692823cStakemura #define MQ200_GC1WSAR MQ200_GCWSAR(0) 3505692823cStakemura #define MQ200_GC1AWSAR MQ200_GCAWSAR(0) 3515692823cStakemura #define MQ200_GC1WSTR MQ200_GCWSTR(0) 3525692823cStakemura #define MQ200_GC1HCPR MQ200_GCHCPR(0) 3535692823cStakemura #define MQ200_GC1HCAOR MQ200_GCHCAOR(0) 3545692823cStakemura #define MQ200_GC1HCFCR MQ200_GCHCFCR(0) 3555692823cStakemura #define MQ200_GC1HCBCR MQ200_GCHCBCR(0) 3565692823cStakemura 3575692823cStakemura #define MQ200_GC2CR MQ200_GCCR(1) 3585692823cStakemura #define MQ200_GC2HDCR MQ200_GCHDCR(1) 3595692823cStakemura #define MQ200_GC2VDCR MQ200_GCVDCR(1) 3605692823cStakemura #define MQ200_GC2HSCR MQ200_GCHSCR(1) 3615692823cStakemura #define MQ200_GC2VSCR MQ200_GCVSCR(1) 3625692823cStakemura #define MQ200_GC2HWCR MQ200_GCHWCR(1) 3635692823cStakemura #define MQ200_GC2VWCR MQ200_GCVWCR(1) 3645692823cStakemura #define MQ200_GC2HAWCR MQ200_GCHAWCR(1) 3655692823cStakemura #define MQ200_GC2AVWCR MQ200_GCAVWCR(1) 3665692823cStakemura #define MQ200_GC2WSAR MQ200_GCWSAR(1) 3675692823cStakemura #define MQ200_GC2AWSAR MQ200_GCAWSAR(1) 3685692823cStakemura #define MQ200_GC2WSTR MQ200_GCWSTR(1) 3695692823cStakemura #define MQ200_GC2HCPR MQ200_GCHCPR(1) 3705692823cStakemura #define MQ200_GC2HCAOR MQ200_GCHCAOR(1) 3715692823cStakemura #define MQ200_GC2HCFCR MQ200_GCHCFCR(1) 3725692823cStakemura #define MQ200_GC2HCBCR MQ200_GCHCBCR(1) 3735692823cStakemura 3745692823cStakemura /* 3755692823cStakemura * Graphics Engine 3765692823cStakemura */ 3775692823cStakemura 3785692823cStakemura /* 379a5bf3b3cSwiz * Flat Pannel Controller 3805692823cStakemura */ 381e7c346ccStakemura #define MQ200_FPR(n) (MQ200_FP + (n)*4) 382e7c346ccStakemura /* FP Control (FP00R) */ 383e7c346ccStakemura #define MQ200_FPCR MQ200_FPR(0) 384e7c346ccStakemura # define MQ200_FPC_ENABLE (1<<0) 3855692823cStakemura # define MQ200_FPC_GC1 (0<<1) 3865692823cStakemura # define MQ200_FPC_GC2 (1<<1) 387e7c346ccStakemura # define MQ200_FPC_TYPE_MASK 0x000000fc 388e7c346ccStakemura # define MQ200_FPC_TYPE_SHIFT 2 389e7c346ccStakemura 3905692823cStakemura # define MQ200_FPC_TFT (0<<2) 3915692823cStakemura # define MQ200_FPC_SSTN (1<<2) 3925692823cStakemura # define MQ200_FPC_DSTN (2<<2) 393e7c346ccStakemura 394e7c346ccStakemura # define MQ200_FPC_COLOR (0<<4) 3955692823cStakemura # define MQ200_FPC_MONO (1<<4) 396e7c346ccStakemura 397e7c346ccStakemura # define MQ200_FPC_TFTCOLOR (MQ200_FPC_TFT|MQ200_FPC_COLOR) 398e7c346ccStakemura # define MQ200_FPC_SSTNCOLOR (MQ200_FPC_SSTN|MQ200_FPC_COLOR) 399e7c346ccStakemura # define MQ200_FPC_DSTNCOLOR (MQ200_FPC_DSTN|MQ200_FPC_COLOR) 400e7c346ccStakemura 401e7c346ccStakemura # define MQ200_FPC_TFTMONO (MQ200_FPC_TFT|MQ200_FPC_MONO) 402e7c346ccStakemura # define MQ200_FPC_SSTNMONO (MQ200_FPC_SSTN|MQ200_FPC_MONO) 403e7c346ccStakemura # define MQ200_FPC_DSTNMONO (MQ200_FPC_DSTN|MQ200_FPC_MONO) 404e7c346ccStakemura 405e7c346ccStakemura # define MQ200_FPC_TFT4MONO ((0<<5)|MQ200_FPC_TFTMONO) 406e7c346ccStakemura # define MQ200_FPC_TFT12 ((0<<5)|MQ200_FPC_TFTCOLOR) 407e7c346ccStakemura # define MQ200_FPC_SSTN4 ((0<<5)|MQ200_FPC_SSTNCOLOR) 408e7c346ccStakemura # define MQ200_FPC_DSTN8 ((0<<5)|MQ200_FPC_DSTNCOLOR) 409e7c346ccStakemura # define MQ200_FPC_TFT6MONO ((1<<5)|MQ200_FPC_TFTMONO) 410e7c346ccStakemura # define MQ200_FPC_TFT18 ((1<<5)|MQ200_FPC_TFTCOLOR) 411e7c346ccStakemura # define MQ200_FPC_SSTN8 ((1<<5)|MQ200_FPC_SSTNCOLOR) 412e7c346ccStakemura # define MQ200_FPC_DSTN16 ((1<<5)|MQ200_FPC_DSTNCOLOR) 413e7c346ccStakemura # define MQ200_FPC_TFT8MONO ((2<<5)|MQ200_FPC_TFTMONO) 414e7c346ccStakemura # define MQ200_FPC_TFT24 ((2<<5)|MQ200_FPC_TFTCOLOR) 415e7c346ccStakemura # define MQ200_FPC_SSTN12 ((2<<5)|MQ200_FPC_SSTNCOLOR) 416e7c346ccStakemura # define MQ200_FPC_DSTN24 ((2<<5)|MQ200_FPC_DSTNCOLOR) 417e7c346ccStakemura # define MQ200_FPC_SSTN16 ((3<<5)|MQ200_FPC_SSTNCOLOR) 418e7c346ccStakemura # define MQ200_FPC_SSTN24 ((4<<5)|MQ200_FPC_SSTNCOLOR) 4195692823cStakemura # define MQ200_FPC_DITH_DISABLE (0<<8) 4205692823cStakemura # define MQ200_FPC_DITH_PTRN1 (1<<8) 4215692823cStakemura # define MQ200_FPC_DITH_PTRN2 (2<<8) 4225692823cStakemura # define MQ200_FPC_DITH_PTRN3 (3<<8) 4235692823cStakemura /* bits 11-10 are reserved */ 4245692823cStakemura # define MQ200_FPC_DITH_BC_MASK 0x00007000 4255692823cStakemura # define MQ200_FPC_DITH_BC_SHIFT 12 4265692823cStakemura # define MQ200_FPC_FRC_DISABLE_ALTWIN (1<<15) 4275692823cStakemura # define MQ200_FPC_FRC_2LEVEL (0<<16) 4285692823cStakemura # define MQ200_FPC_FRC_4LEVEL (1<<16) 4295692823cStakemura # define MQ200_FPC_FRC_8LEVEL (2<<16) 4305692823cStakemura # define MQ200_FPC_FRC_16LEVEL (3<<16) 4315692823cStakemura # define MQ200_FPC_DITH_ADJ_MASK 0x0ffc0000 4325692823cStakemura # define MQ200_FPC_DITH_ADJ_SHIFT 18 4335692823cStakemura # define MQ200_FPC_DITH_ADJ_VAL 0x018 4345692823cStakemura # define MQ200_FPC_DITH_ADJ1_MASK 0x00fc0000 4355692823cStakemura # define MQ200_FPC_DITH_ADJ1_SHIFT 18 4365692823cStakemura # define MQ200_FPC_DITH_ADJ1_VAL 0x18 4375692823cStakemura # define MQ200_FPC_DITH_ADJ2_MASK 0x07000000 4385692823cStakemura # define MQ200_FPC_DITH_ADJ2_SHIFT 24 4395692823cStakemura # define MQ200_FPC_DITH_ADJ2_VAL 0x0 4405692823cStakemura # define MQ200_FPC_DITH_ADJ3_MASK 0x08000000 4415692823cStakemura # define MQ200_FPC_DITH_ADJ3_SHIFT 27 4425692823cStakemura # define MQ200_FPC_DITH_ADJ3_VAL 0x0 4435692823cStakemura # define MQ200_FPC_TESTMODE0 (1<<28) 4445692823cStakemura # define MQ200_FPC_TESTMODE1 (1<<29) 4455692823cStakemura # define MQ200_FPC_TESTMODE2 (1<<30) 4465692823cStakemura # define MQ200_FPC_TESTMODE3 (1<<31) 4475692823cStakemura 448e7c346ccStakemura /* FP Output Pin Control (FP01R) */ 449e7c346ccStakemura #define MQ200_FPPCR MQ200_FPR(1) 4505692823cStakemura # define MQ200_FPPC_PIN_LOW (1<<0) 4515692823cStakemura # define MQ200_FPPC_INVERSION_EN (1<<1) 4525692823cStakemura # define MQ200_FPPC_FDE_COMPOSITE (0<<2) 4535692823cStakemura # define MQ200_FPPC_FDE_HORIZONTAL (1<<2) 4545692823cStakemura # define MQ200_FPPC_FDE_FMOD_EN (1<<3) 4555692823cStakemura # define MQ200_FPPC_FD2_DATAK (0<<4) 4565692823cStakemura # define MQ200_FPPC_FD2_SHIFTCLK (1<<4) 4575692823cStakemura # define MQ200_FPPC_FSCLK_EN (1<<5) 4585692823cStakemura # define MQ200_FPPC_SHIFTCLK_DIV2 (1<<6) 4595692823cStakemura # define MQ200_FPPC_SHIFTCLK_MASK (1<<7) 4605692823cStakemura # define MQ200_FPPC_STNLP_BLANK (1<<8) 4615692823cStakemura # define MQ200_FPPC_SHIFTCLK_BLANK (1<<9) 4625692823cStakemura # define MQ200_FPPC_STNEXLP_EN (1<<10) 4635692823cStakemura /* bit 11 is reserved */ 4645692823cStakemura # define MQ200_FPPC_FD2_MAX (0<<12) 4655692823cStakemura # define MQ200_FPPC_FD2_MID (1<<12) 4665692823cStakemura # define MQ200_FPPC_FD2_MID2 (2<<12) 4675692823cStakemura # define MQ200_FPPC_FD2_MIN (3<<12) 4685692823cStakemura # define MQ200_FPPC_DRV_MAX (0<<12) 4695692823cStakemura # define MQ200_FPPC_DRV_MID (1<<12) 4705692823cStakemura # define MQ200_FPPC_DRV_MID2 (2<<12) 4715692823cStakemura # define MQ200_FPPC_DRV_MIN (3<<12) 4725692823cStakemura # define MQ200_FPPC_FD2_ACTVHIGH (0<<16) 4735692823cStakemura # define MQ200_FPPC_FD2_ACTVLOW (1<<16) 4745692823cStakemura # define MQ200_FPPC_ACTVHIGH (0<<17) 4755692823cStakemura # define MQ200_FPPC_ACTVLOW (1<<17) 4765692823cStakemura # define MQ200_FPPC_FDE_ACTVHIGH (0<<18) 4775692823cStakemura # define MQ200_FPPC_FDE_ACTVLOW (1<<18) 4785692823cStakemura # define MQ200_FPPC_FHSYNC_ACTVHIGH (0<<19) 4795692823cStakemura # define MQ200_FPPC_FHSYNC_ACTVLOW (1<<19) 4805692823cStakemura # define MQ200_FPPC_FVSYNC_ACTVHIGH (0<<20) 4815692823cStakemura # define MQ200_FPPC_FVSYNC_ACTVLOW (1<<20) 4825692823cStakemura # define MQ200_FPPC_FSCLK_ACTVHIGH (0<<21) 4835692823cStakemura # define MQ200_FPPC_FSCLK_ACTVLOW (1<<21) 4845692823cStakemura # define MQ200_FPPC_FSCLK_MAX (0<<22) 4855692823cStakemura # define MQ200_FPPC_FSCLK_MID (1<<22) 4865692823cStakemura # define MQ200_FPPC_FSCLK_MID2 (2<<22) 4875692823cStakemura # define MQ200_FPPC_FSCLK_MIN (3<<22) 4885692823cStakemura # define MQ200_FPPC_FSCLK_DELAY_MASK 0x07000000 4895692823cStakemura # define MQ200_FPPC_FSCLK_DELAY_SHIFT 24 4905692823cStakemura /* bits 31-27 are reserved */ 4915692823cStakemura 492e7c346ccStakemura /* FP General Purpose Output Port Control (FP02R) */ 493e7c346ccStakemura #define MQ200_FPGPOCR MQ200_FPR(2) 4945692823cStakemura # define MQ200_FPGPOC_ENCTL_EN (0<<0) 4955692823cStakemura # define MQ200_FPGPOC_GPO0_EN (1<<0) 4965692823cStakemura # define MQ200_FPGPOC_OSCCLK_EN (2<<0) 4975692823cStakemura # define MQ200_FPGPOC_PLL3_EN (3<<0) 4985692823cStakemura # define MQ200_FPGPOC_ENVEE_EN (0<<2) 4995692823cStakemura # define MQ200_FPGPOC_GPO1_EN (1<<2) 5005692823cStakemura # define MQ200_FPGPOC_PWM0_EN (0<<4) 5015692823cStakemura # define MQ200_FPGPOC_GPO2_EN (1<<4) 5025692823cStakemura # define MQ200_FPGPOC_PWM1_EN (0<<6) 5035692823cStakemura # define MQ200_FPGPOC_GPO3_EN (1<<6) 5045692823cStakemura # define MQ200_FPGPOC_ENVDD_EN (0<<8) 5055692823cStakemura # define MQ200_FPGPOC_GPO4_EN (1<<9) 5065692823cStakemura # define MQ200_FPGPOC_PWM_MAX (0<<10) 5075692823cStakemura # define MQ200_FPGPOC_PWM_MID (1<<10) 5085692823cStakemura # define MQ200_FPGPOC_PWM_MID2 (2<<10) 5095692823cStakemura # define MQ200_FPGPOC_PWM_MIN (3<<10) 5105692823cStakemura # define MQ200_FPGPOC_GPO_MAX (0<<12) 5115692823cStakemura # define MQ200_FPGPOC_GPO_MID (1<<12) 5125692823cStakemura # define MQ200_FPGPOC_GPO_MID2 (2<<12) 5135692823cStakemura # define MQ200_FPGPOC_GPO_MIN (3<<12) 5145692823cStakemura # define MQ200_FPGPOC_DRV_MAX (0<<14) 5155692823cStakemura # define MQ200_FPGPOC_DRV_MID (1<<14) 5165692823cStakemura # define MQ200_FPGPOC_DRV_MID2 (2<<14) 5175692823cStakemura # define MQ200_FPGPOC_DRV_MIN (3<<14) 5185692823cStakemura # define MQ200_FPGPOC_GPO0 (1<<16) 5195692823cStakemura # define MQ200_FPGPOC_GPO1 (1<<17) 5205692823cStakemura # define MQ200_FPGPOC_GPO2 (1<<18) 5215692823cStakemura # define MQ200_FPGPOC_GPO3 (1<<19) 5225692823cStakemura # define MQ200_FPGPOC_GPO4 (1<<20) 5235692823cStakemura /* bits 31-21 are reserved */ 5245692823cStakemura 525e7c346ccStakemura /* FP General Purpose I/O Port Control (FP03R) */ 526e7c346ccStakemura #define MQ200_FPGPOICR MQ200_FPR(3) 5275692823cStakemura # define MQ200_FPGPIOC_INPUT0_EN (0<<0) 5285692823cStakemura # define MQ200_FPGPIOC_OUTPUT0_EN (1<<0 5295692823cStakemura # define MQ200_FPGPIOC_PLL1_EN (2<<0) 5305692823cStakemura # define MQ200_FPGPIOC_CRCBLUE_EN (3<<0) 5315692823cStakemura # define MQ200_FPGPIOC_INPUT1_EN (0<<2) 5325692823cStakemura # define MQ200_FPGPIOC_OUTPUT1_EN (1<<2 5335692823cStakemura # define MQ200_FPGPIOC_PLL2_EN (2<<2) 5345692823cStakemura # define MQ200_FPGPIOC_CRCGREEN_EN (3<<2) 5355692823cStakemura # define MQ200_FPGPIOC_INPUT2_EN (0<<4) 5365692823cStakemura # define MQ200_FPGPIOC_OUTPUT2_EN (1<<4 5375692823cStakemura # define MQ200_FPGPIOC_PMCLK_EN (2<<4) 5385692823cStakemura # define MQ200_FPGPIOC_CRCRED_EN (3<<4) 5395692823cStakemura /* bits 15-6 are reserved */ 5405692823cStakemura # define MQ200_FPGPIOC_OUTPUT0 (1<<16) 5415692823cStakemura # define MQ200_FPGPIOC_OUTPUT1 (1<<17) 5425692823cStakemura # define MQ200_FPGPIOC_OUTPUT2 (1<<18) 5435692823cStakemura /* bits 23-19 are reserved */ 5445692823cStakemura # define MQ200_FPGPIOC_INPUT0 (1<<24) 5455692823cStakemura # define MQ200_FPGPIOC_INPUT1 (1<<25) 5465692823cStakemura # define MQ200_FPGPIOC_INPUT2 (1<<26) 5475692823cStakemura /* bits 31-27 are reserved */ 5485692823cStakemura 549e7c346ccStakemura /* FP STN Panel Control (FP04R) */ 550e7c346ccStakemura #define MQ200_FPSTNCR MQ200_FPR(4) 5515692823cStakemura # define MQ200_FPSTNC_FRCPRM0_MASK 0x000000ff 5525692823cStakemura # define MQ200_FPSTNC_FRCPRM0_SHIFT 0 5535692823cStakemura # define MQ200_FPSTNC_FRCPRM1_MASK 0x0000ff00 5545692823cStakemura # define MQ200_FPSTNC_FRCPRM1_SHIFT 8 5555692823cStakemura # define MQ200_FPSTNC_FRCPRM2_MASK 0x00ff0000 5565692823cStakemura # define MQ200_FPSTNC_FRCPRM2_SHIFT 16 5575692823cStakemura # define MQ200_FPSTNC_FMOD_MASK 0x7f000000 5585692823cStakemura # define MQ200_FPSTNC_FMOD_SHIFT 24 5595692823cStakemura # define MQ200_FPSTNC_FMOD_FRAMECLK (0<<31) 5605692823cStakemura # define MQ200_FPSTNC_FMOD_LINECLK (0<<31) 5615692823cStakemura 562e7c346ccStakemura /* FP D-STN Half-Frame Buffer Control (FP05R) */ 563e7c346ccStakemura #define MQ200_FPHFBCR MQ200_FPR(5) 5645692823cStakemura # define MQ200_FPHFBC_START_MASK 0x00003fff 5655692823cStakemura # define MQ200_FPHFBC_START_SHIFT -7 /* XXX, does this work? */ 5665692823cStakemura /* bits 15-14 are reserved */ 5675692823cStakemura # define MQ200_FPHFBC_END_MASK 0xffff0000 5685692823cStakemura # define MQ200_FPHFBC_END_SHIFT (16-4) /* XXX, does this work? */ 5695692823cStakemura 570e7c346ccStakemura /* FP Pulse Width Modulation Control (FP0FR) */ 571e7c346ccStakemura #define MQ200_FPPWMCR MQ200_FPR(0xf) 5725692823cStakemura # define MQ200_FPPWMC_PWM0_OSCCLK (0<<0) 5735692823cStakemura # define MQ200_FPPWMC_PWM0_BUSCLK (1<<0) 5745692823cStakemura # define MQ200_FPPWMC_PWM0_PMCLK (2<<0) 5755692823cStakemura # define MQ200_FPPWMC_PWM0_PWSEQ_EN (0<<2) 5765692823cStakemura # define MQ200_FPPWMC_PWM0_PWSEQ_DISABLE (1<<2) 5775692823cStakemura /* bit 3 is reserved */ 5785692823cStakemura # define MQ200_FPPWMC_PWM0_DIV_MASK 0x000000f0 5795692823cStakemura # define MQ200_FPPWMC_PWM0_DIV_SHIFT 4 5805692823cStakemura # define MQ200_FPPWMC_PWM0_DCYCLE_MASK 0x0000ff00 5815692823cStakemura # define MQ200_FPPWMC_PWM0_DCYCLE_SHIFT 8 5825692823cStakemura # define MQ200_FPPWMC_PWM1_OSCCLK (0<<16) 5835692823cStakemura # define MQ200_FPPWMC_PWM1_BUSCLK (1<<16) 5845692823cStakemura # define MQ200_FPPWMC_PWM1_PMCLK (2<<16) 5855692823cStakemura # define MQ200_FPPWMC_PWM1_PWSEQ_EN (0<<18) 5865692823cStakemura # define MQ200_FPPWMC_PWM1_PWSEQ_DISABLE (1<<18) 5875692823cStakemura /* bit 19 is reserved */ 5885692823cStakemura # define MQ200_FPPWMC_PWM1_DIV_MASK 0x00f00000 5895692823cStakemura # define MQ200_FPPWMC_PWM1_DIV_SHIFT 20 5905692823cStakemura # define MQ200_FPPWMC_PWM1_DCYCLE_MASK 0xff000000 5915692823cStakemura # define MQ200_FPPWMC_PWM1_DCYCLE_SHIFT 24 5925692823cStakemura 593e7c346ccStakemura /* FP Frame Rate Control Pattern (FP10R to FP2FR) */ 594e7c346ccStakemura #define MQ200_FPFRCPR(n) MQ200_FPR(0x10+n) 5955692823cStakemura 596e7c346ccStakemura /* FP Frame Rate Control Weight (FP30R to FP37R) */ 597e7c346ccStakemura #define MQ200_FPFRCWR(n) MQ200_FPR(0x30+n) 5985692823cStakemura 5995692823cStakemura /* 6005692823cStakemura * Color Palette 1 6015692823cStakemura */ 6025692823cStakemura #define MQ200_CP(cp, idx) (MQ200_CP1 + (idx) * 4) */ 6035692823cStakemura # define MQ200_GC_BLUE_MASK 0x00ff0000 6045692823cStakemura # define MQ200_GC_BLUE_SHIFT 16 6055692823cStakemura # define MQ200_GC_GREEN_MASK 0x0000ff00 6065692823cStakemura # define MQ200_GC_GREEN_SHIFT 8 6075692823cStakemura # define MQ200_GC_RED_MASK 0x000000ff 6085692823cStakemura # define MQ200_GC_RED_SHIFT 0 6095692823cStakemura # define MQ200_GC_RGB(r, g, b) \ 6105692823cStakemura (((((unsigned long)(r))&0xff)<<0) | \ 6115692823cStakemura ((((unsigned long)(g))&0xff)<<8) | \ 6125692823cStakemura ((((unsigned long)(b))&0xff)<<16)) 6135692823cStakemura 6145692823cStakemura /* 615964859d8Sabs * Device Configuration 6165692823cStakemura */ 6175692823cStakemura 6185692823cStakemura /* 6195692823cStakemura * PCI configuration space 6205692823cStakemura */ 621733c0414Stakemura #define MQ200_PC00R (MQ200_PC+0x00) /* device/vendor ID */ 622733c0414Stakemura #define MQ200_PC04R (MQ200_PC+0x04) /* command/status */ 623733c0414Stakemura #define MQ200_PC08R (MQ200_PC+0x04) /* calss code/revision */ 624733c0414Stakemura 625733c0414Stakemura #define MQ200_PMR (MQ200_PC+0x40) /* power management */ 626733c0414Stakemura #define MQ200_PMCSR (MQ200_PC+0x44) /* control/status */ 627e2173effStakemura 628e2173effStakemura /* 629e2173effStakemura * Power Management 630e2173effStakemura */ 631e2173effStakemura #define MQ200_PMCR (MQ200_PM + 0x00) 632e2173effStakemura # define MQ200_PMC_PLL1_N (1<<0) 63344e4c533Stakemura # define MQ200_PMC_PLL1_N_SHIFT 5 634e2173effStakemura # define MQ200_PMC_PLL2_ENABLE (1<<2) 635e2173effStakemura # define MQ200_PMC_PLL3_ENABLE (1<<3) 636e2173effStakemura # define MQ200_PMC_IMMEDIATELY (1<<5) 637e2173effStakemura # define MQ200_PMC_GE_ENABLE (1<<8) 638e2173effStakemura # define MQ200_PMC_GE_FORCE_BUSY (1<<9) 639e2173effStakemura # define MQ200_PMC_GE_FORCE_BUSY_LOCAL (1<<10) 640e2173effStakemura # define MQ200_PMC_GE_CLK_MASK 0x00001800 641e2173effStakemura # define MQ200_PMC_GE_CLK_SHIFT 11 642e2173effStakemura # define MQ200_PMC_GE_CLK_BUS (0<<11) 643e2173effStakemura # define MQ200_PMC_GE_CLK_PLL1 (1<<11) 644e2173effStakemura # define MQ200_PMC_GE_CLK_PLL2 (2<<11) 645e2173effStakemura # define MQ200_PMC_GE_CLK_PLL3 (3<<11) 646e2173effStakemura # define MQ200_PMC_GE_COMMAND_RESET (1<<13) 647e2173effStakemura # define MQ200_PMC_GE_SOURCE_RESET (1<<14) 648e2173effStakemura # define MQ200_PMC_MIU_SEQ_ENABLE (1<<15) 649e2173effStakemura # define MQ200_PMC_D3_REFRESH (1<<16) 650e2173effStakemura # define MQ200_PMC_D4_REFRESH (1<<17) 651e2173effStakemura # define MQ200_PMC_SEQINTVL_MASK (3<<18) 652e2173effStakemura # define MQ200_PMC_SEQINTVL_SHIFT 18 653e2173effStakemura # define MQ200_PMC_SEQINTVL_4 (0<<18) 654e2173effStakemura # define MQ200_PMC_SEQINTVL_8 (0<<18) 655e2173effStakemura # define MQ200_PMC_SEQINTVL_16 (0<<18) 656e2173effStakemura # define MQ200_PMC_SEQINTVL_2048 (0<<18) 657e2173effStakemura # define MQ200_PMC_FP_SEQINTVL_MASK (3<<20) 658e2173effStakemura # define MQ200_PMC_FP_SEQINTVL_SHIFT 20 659e2173effStakemura # define MQ200_PMC_FP_SEQINTVL_512 (0<<20) 660e2173effStakemura # define MQ200_PMC_FP_SEQINTVL_1024 (1<<20) 661e2173effStakemura # define MQ200_PMC_FP_SEQINTVL_2048 (2<<20) 662e2173effStakemura # define MQ200_PMC_FP_SEQINTVL_128K (3<<20) 663e2173effStakemura # define MQ200_PMC_SEQINTVL_ALL (1<<22) 664e2173effStakemura # define MQ200_PMC_TESTMODE (1<<23) 665e2173effStakemura # define MQ200_PMC_STATE_MASK (3<<24) 666e2173effStakemura # define MQ200_PMC_STATE_SHIFT 24 667e2173effStakemura # define MQ200_PMC_SEQPROGRESS (1<<26) 668e2173effStakemura #define MQ200_PMD1CR (MQ200_PM + 0x04) 669e2173effStakemura #define MQ200_PMD2CR (MQ200_PM + 0x08) 670e2173effStakemura 671e2173effStakemura #define MQ200_DCMISCR (MQ200_DC + 0x00) 672e2173effStakemura # define MQ200_DCMISC_OSC_BYPASS (1<<0) 673e2173effStakemura # define MQ200_DCMISC_OSC_ENABLE (1<<1) 674e2173effStakemura # define MQ200_DCMISC_PLL1_BYPASS (1<<2) 675e2173effStakemura # define MQ200_DCMISC_PLL1_ENABLE (1<<3) 676e2173effStakemura # define MQ200_DCMISC_SA_SLOWBUS (1<<13) 677e2173effStakemura # define MQ200_DCMISC_CHIP_RESET (1<<14) 678e2173effStakemura # define MQ200_DCMISC_MEMSTANDBY_DISABLE (1<<15) 679e2173effStakemura # define MQ200_DCMISC_OSCSHAPER_DISABLE (1<<24) 680e2173effStakemura # define MQ200_DCMISC_FASTPOWSEQ_DISABLE (1<<25) 681e2173effStakemura # define MQ200_DCMISC_OSCFREQ_MASK (3<<26) 682e2173effStakemura # define MQ200_DCMISC_OSCFREQ_12_25 (3<<26) 683e2173effStakemura 684e2173effStakemura /* 685e2173effStakemura * Fout = Fref*(M+1)/(N+1)/(2^P) 686e2173effStakemura * Fout: PLL output frequency 687e2173effStakemura * Fref: reference frequency(internal oscillator or external clock) 688e2173effStakemura */ 6891ab9404cStakemura #define MQ200_PLL1R (MQ200_DC + 0x00) 690e2173effStakemura #define MQ200_PLL2R (MQ200_PM + 0x18) 691e2173effStakemura #define MQ200_PLL3R (MQ200_PM + 0x1c) 692e2173effStakemura #define MQ200_PLL_EXTCLK (1<<0) 693e2173effStakemura #define MQ200_PLL_BYPASS (1<<1) 694e2173effStakemura #define MQ200_PLL_P_MASK 0x00000070 695e2173effStakemura #define MQ200_PLL_P_SHIFT 4 696e2173effStakemura #define MQ200_PLL_N_MASK 0x00001f00 697e2173effStakemura #define MQ200_PLL_N_SHIFT 8 698e2173effStakemura #define MQ200_PLL_M_MASK 0x00ff0000 699e2173effStakemura #define MQ200_PLL_M_SHIFT 16 7001ab9404cStakemura #define MQ200_PLL_PARAM_MASK (MQ200_PLL_P_MASK|MQ200_PLL_N_MASK|MQ200_PLL_M_MASK) 701e2173effStakemura #define MQ200_PLL_TRIM_MASK 0xf0000000 702e2173effStakemura #define MQ200_PLL_TRIM_SHIFT 28 703