162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * ATI Mach64 Register Definitions 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 1997 Michael AK Tesch 662306a36Sopenharmony_ci * written with much help from Jon Howell 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * Updated for 3D RAGE PRO and 3D RAGE Mobility by Geert Uytterhoeven 962306a36Sopenharmony_ci */ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/* 1262306a36Sopenharmony_ci * most of the rest of this file comes from ATI sample code 1362306a36Sopenharmony_ci */ 1462306a36Sopenharmony_ci#ifndef REGMACH64_H 1562306a36Sopenharmony_ci#define REGMACH64_H 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci/* NON-GUI MEMORY MAPPED Registers - expressed in BYTE offsets */ 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci/* Accelerator CRTC */ 2062306a36Sopenharmony_ci#define CRTC_H_TOTAL_DISP 0x0000 /* Dword offset 0_00 */ 2162306a36Sopenharmony_ci#define CRTC2_H_TOTAL_DISP 0x0000 /* Dword offset 0_00 */ 2262306a36Sopenharmony_ci#define CRTC_H_SYNC_STRT_WID 0x0004 /* Dword offset 0_01 */ 2362306a36Sopenharmony_ci#define CRTC2_H_SYNC_STRT_WID 0x0004 /* Dword offset 0_01 */ 2462306a36Sopenharmony_ci#define CRTC_H_SYNC_STRT 0x0004 2562306a36Sopenharmony_ci#define CRTC2_H_SYNC_STRT 0x0004 2662306a36Sopenharmony_ci#define CRTC_H_SYNC_DLY 0x0005 2762306a36Sopenharmony_ci#define CRTC2_H_SYNC_DLY 0x0005 2862306a36Sopenharmony_ci#define CRTC_H_SYNC_WID 0x0006 2962306a36Sopenharmony_ci#define CRTC2_H_SYNC_WID 0x0006 3062306a36Sopenharmony_ci#define CRTC_V_TOTAL_DISP 0x0008 /* Dword offset 0_02 */ 3162306a36Sopenharmony_ci#define CRTC2_V_TOTAL_DISP 0x0008 /* Dword offset 0_02 */ 3262306a36Sopenharmony_ci#define CRTC_V_TOTAL 0x0008 3362306a36Sopenharmony_ci#define CRTC2_V_TOTAL 0x0008 3462306a36Sopenharmony_ci#define CRTC_V_DISP 0x000A 3562306a36Sopenharmony_ci#define CRTC2_V_DISP 0x000A 3662306a36Sopenharmony_ci#define CRTC_V_SYNC_STRT_WID 0x000C /* Dword offset 0_03 */ 3762306a36Sopenharmony_ci#define CRTC2_V_SYNC_STRT_WID 0x000C /* Dword offset 0_03 */ 3862306a36Sopenharmony_ci#define CRTC_V_SYNC_STRT 0x000C 3962306a36Sopenharmony_ci#define CRTC2_V_SYNC_STRT 0x000C 4062306a36Sopenharmony_ci#define CRTC_V_SYNC_WID 0x000E 4162306a36Sopenharmony_ci#define CRTC2_V_SYNC_WID 0x000E 4262306a36Sopenharmony_ci#define CRTC_VLINE_CRNT_VLINE 0x0010 /* Dword offset 0_04 */ 4362306a36Sopenharmony_ci#define CRTC2_VLINE_CRNT_VLINE 0x0010 /* Dword offset 0_04 */ 4462306a36Sopenharmony_ci#define CRTC_OFF_PITCH 0x0014 /* Dword offset 0_05 */ 4562306a36Sopenharmony_ci#define CRTC_OFFSET 0x0014 4662306a36Sopenharmony_ci#define CRTC_PITCH 0x0016 4762306a36Sopenharmony_ci#define CRTC_INT_CNTL 0x0018 /* Dword offset 0_06 */ 4862306a36Sopenharmony_ci#define CRTC_GEN_CNTL 0x001C /* Dword offset 0_07 */ 4962306a36Sopenharmony_ci#define CRTC_PIX_WIDTH 0x001D 5062306a36Sopenharmony_ci#define CRTC_FIFO 0x001E 5162306a36Sopenharmony_ci#define CRTC_EXT_DISP 0x001F 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci/* Memory Buffer Control */ 5462306a36Sopenharmony_ci#define DSP_CONFIG 0x0020 /* Dword offset 0_08 */ 5562306a36Sopenharmony_ci#define PM_DSP_CONFIG 0x0020 /* Dword offset 0_08 (Mobility Only) */ 5662306a36Sopenharmony_ci#define DSP_ON_OFF 0x0024 /* Dword offset 0_09 */ 5762306a36Sopenharmony_ci#define PM_DSP_ON_OFF 0x0024 /* Dword offset 0_09 (Mobility Only) */ 5862306a36Sopenharmony_ci#define TIMER_CONFIG 0x0028 /* Dword offset 0_0A */ 5962306a36Sopenharmony_ci#define MEM_BUF_CNTL 0x002C /* Dword offset 0_0B */ 6062306a36Sopenharmony_ci#define MEM_ADDR_CONFIG 0x0034 /* Dword offset 0_0D */ 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci/* Accelerator CRTC */ 6362306a36Sopenharmony_ci#define CRT_TRAP 0x0038 /* Dword offset 0_0E */ 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci#define I2C_CNTL_0 0x003C /* Dword offset 0_0F */ 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci#define DSTN_CONTROL_LG 0x003C /* Dword offset 0_0F (LG) */ 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci/* Overscan */ 7062306a36Sopenharmony_ci#define OVR_CLR 0x0040 /* Dword offset 0_10 */ 7162306a36Sopenharmony_ci#define OVR2_CLR 0x0040 /* Dword offset 0_10 */ 7262306a36Sopenharmony_ci#define OVR_WID_LEFT_RIGHT 0x0044 /* Dword offset 0_11 */ 7362306a36Sopenharmony_ci#define OVR2_WID_LEFT_RIGHT 0x0044 /* Dword offset 0_11 */ 7462306a36Sopenharmony_ci#define OVR_WID_TOP_BOTTOM 0x0048 /* Dword offset 0_12 */ 7562306a36Sopenharmony_ci#define OVR2_WID_TOP_BOTTOM 0x0048 /* Dword offset 0_12 */ 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci/* Memory Buffer Control */ 7862306a36Sopenharmony_ci#define VGA_DSP_CONFIG 0x004C /* Dword offset 0_13 */ 7962306a36Sopenharmony_ci#define PM_VGA_DSP_CONFIG 0x004C /* Dword offset 0_13 (Mobility Only) */ 8062306a36Sopenharmony_ci#define VGA_DSP_ON_OFF 0x0050 /* Dword offset 0_14 */ 8162306a36Sopenharmony_ci#define PM_VGA_DSP_ON_OFF 0x0050 /* Dword offset 0_14 (Mobility Only) */ 8262306a36Sopenharmony_ci#define DSP2_CONFIG 0x0054 /* Dword offset 0_15 */ 8362306a36Sopenharmony_ci#define PM_DSP2_CONFIG 0x0054 /* Dword offset 0_15 (Mobility Only) */ 8462306a36Sopenharmony_ci#define DSP2_ON_OFF 0x0058 /* Dword offset 0_16 */ 8562306a36Sopenharmony_ci#define PM_DSP2_ON_OFF 0x0058 /* Dword offset 0_16 (Mobility Only) */ 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci/* Accelerator CRTC */ 8862306a36Sopenharmony_ci#define CRTC2_OFF_PITCH 0x005C /* Dword offset 0_17 */ 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci/* Hardware Cursor */ 9162306a36Sopenharmony_ci#define CUR_CLR0 0x0060 /* Dword offset 0_18 */ 9262306a36Sopenharmony_ci#define CUR2_CLR0 0x0060 /* Dword offset 0_18 */ 9362306a36Sopenharmony_ci#define CUR_CLR1 0x0064 /* Dword offset 0_19 */ 9462306a36Sopenharmony_ci#define CUR2_CLR1 0x0064 /* Dword offset 0_19 */ 9562306a36Sopenharmony_ci#define CUR_OFFSET 0x0068 /* Dword offset 0_1A */ 9662306a36Sopenharmony_ci#define CUR2_OFFSET 0x0068 /* Dword offset 0_1A */ 9762306a36Sopenharmony_ci#define CUR_HORZ_VERT_POSN 0x006C /* Dword offset 0_1B */ 9862306a36Sopenharmony_ci#define CUR2_HORZ_VERT_POSN 0x006C /* Dword offset 0_1B */ 9962306a36Sopenharmony_ci#define CUR_HORZ_VERT_OFF 0x0070 /* Dword offset 0_1C */ 10062306a36Sopenharmony_ci#define CUR2_HORZ_VERT_OFF 0x0070 /* Dword offset 0_1C */ 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci#define CNFG_PANEL_LG 0x0074 /* Dword offset 0_1D (LG) */ 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci/* General I/O Control */ 10562306a36Sopenharmony_ci#define GP_IO 0x0078 /* Dword offset 0_1E */ 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci/* Test and Debug */ 10862306a36Sopenharmony_ci#define HW_DEBUG 0x007C /* Dword offset 0_1F */ 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci/* Scratch Pad and Test */ 11162306a36Sopenharmony_ci#define SCRATCH_REG0 0x0080 /* Dword offset 0_20 */ 11262306a36Sopenharmony_ci#define SCRATCH_REG1 0x0084 /* Dword offset 0_21 */ 11362306a36Sopenharmony_ci#define SCRATCH_REG2 0x0088 /* Dword offset 0_22 */ 11462306a36Sopenharmony_ci#define SCRATCH_REG3 0x008C /* Dword offset 0_23 */ 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci/* Clock Control */ 11762306a36Sopenharmony_ci#define CLOCK_CNTL 0x0090 /* Dword offset 0_24 */ 11862306a36Sopenharmony_ci/* CLOCK_CNTL register constants CT LAYOUT */ 11962306a36Sopenharmony_ci#define CLOCK_SEL 0x0f 12062306a36Sopenharmony_ci#define CLOCK_SEL_INTERNAL 0x03 12162306a36Sopenharmony_ci#define CLOCK_SEL_EXTERNAL 0x0c 12262306a36Sopenharmony_ci#define CLOCK_DIV 0x30 12362306a36Sopenharmony_ci#define CLOCK_DIV1 0x00 12462306a36Sopenharmony_ci#define CLOCK_DIV2 0x10 12562306a36Sopenharmony_ci#define CLOCK_DIV4 0x20 12662306a36Sopenharmony_ci#define CLOCK_STROBE 0x40 12762306a36Sopenharmony_ci/* ? 0x80 */ 12862306a36Sopenharmony_ci/* CLOCK_CNTL register constants GX LAYOUT */ 12962306a36Sopenharmony_ci#define CLOCK_BIT 0x04 /* For ICS2595 */ 13062306a36Sopenharmony_ci#define CLOCK_PULSE 0x08 /* For ICS2595 */ 13162306a36Sopenharmony_ci/*#define CLOCK_STROBE 0x40 dito as CT */ 13262306a36Sopenharmony_ci#define CLOCK_DATA 0x80 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci/* For internal PLL(CT) start */ 13562306a36Sopenharmony_ci#define CLOCK_CNTL_ADDR CLOCK_CNTL + 1 13662306a36Sopenharmony_ci#define PLL_WR_EN 0x02 13762306a36Sopenharmony_ci#define PLL_ADDR 0xfc 13862306a36Sopenharmony_ci#define CLOCK_CNTL_DATA CLOCK_CNTL + 2 13962306a36Sopenharmony_ci#define PLL_DATA 0xff 14062306a36Sopenharmony_ci/* For internal PLL(CT) end */ 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci#define CLOCK_SEL_CNTL 0x0090 /* Dword offset 0_24 */ 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci/* Configuration */ 14562306a36Sopenharmony_ci#define CNFG_STAT1 0x0094 /* Dword offset 0_25 */ 14662306a36Sopenharmony_ci#define CNFG_STAT2 0x0098 /* Dword offset 0_26 */ 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci/* Bus Control */ 14962306a36Sopenharmony_ci#define BUS_CNTL 0x00A0 /* Dword offset 0_28 */ 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci#define LCD_INDEX 0x00A4 /* Dword offset 0_29 */ 15262306a36Sopenharmony_ci#define LCD_DATA 0x00A8 /* Dword offset 0_2A */ 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci#define HFB_PITCH_ADDR_LG 0x00A8 /* Dword offset 0_2A (LG) */ 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci/* Memory Control */ 15762306a36Sopenharmony_ci#define EXT_MEM_CNTL 0x00AC /* Dword offset 0_2B */ 15862306a36Sopenharmony_ci#define MEM_CNTL 0x00B0 /* Dword offset 0_2C */ 15962306a36Sopenharmony_ci#define MEM_VGA_WP_SEL 0x00B4 /* Dword offset 0_2D */ 16062306a36Sopenharmony_ci#define MEM_VGA_RP_SEL 0x00B8 /* Dword offset 0_2E */ 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci#define I2C_CNTL_1 0x00BC /* Dword offset 0_2F */ 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ci#define LT_GIO_LG 0x00BC /* Dword offset 0_2F (LG) */ 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci/* DAC Control */ 16762306a36Sopenharmony_ci#define DAC_REGS 0x00C0 /* Dword offset 0_30 */ 16862306a36Sopenharmony_ci#define DAC_W_INDEX 0x00C0 /* Dword offset 0_30 */ 16962306a36Sopenharmony_ci#define DAC_DATA 0x00C1 /* Dword offset 0_30 */ 17062306a36Sopenharmony_ci#define DAC_MASK 0x00C2 /* Dword offset 0_30 */ 17162306a36Sopenharmony_ci#define DAC_R_INDEX 0x00C3 /* Dword offset 0_30 */ 17262306a36Sopenharmony_ci#define DAC_CNTL 0x00C4 /* Dword offset 0_31 */ 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci#define EXT_DAC_REGS 0x00C8 /* Dword offset 0_32 */ 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci#define HORZ_STRETCHING_LG 0x00C8 /* Dword offset 0_32 (LG) */ 17762306a36Sopenharmony_ci#define VERT_STRETCHING_LG 0x00CC /* Dword offset 0_33 (LG) */ 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci/* Test and Debug */ 18062306a36Sopenharmony_ci#define GEN_TEST_CNTL 0x00D0 /* Dword offset 0_34 */ 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci/* Custom Macros */ 18362306a36Sopenharmony_ci#define CUSTOM_MACRO_CNTL 0x00D4 /* Dword offset 0_35 */ 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci#define LCD_GEN_CNTL_LG 0x00D4 /* Dword offset 0_35 (LG) */ 18662306a36Sopenharmony_ci#define POWER_MANAGEMENT_LG 0x00D8 /* Dword offset 0_36 (LG) */ 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci/* Configuration */ 18962306a36Sopenharmony_ci#define CNFG_CNTL 0x00DC /* Dword offset 0_37 (CT, ET, VT) */ 19062306a36Sopenharmony_ci#define CNFG_CHIP_ID 0x00E0 /* Dword offset 0_38 */ 19162306a36Sopenharmony_ci#define CNFG_STAT0 0x00E4 /* Dword offset 0_39 */ 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci/* Test and Debug */ 19462306a36Sopenharmony_ci#define CRC_SIG 0x00E8 /* Dword offset 0_3A */ 19562306a36Sopenharmony_ci#define CRC2_SIG 0x00E8 /* Dword offset 0_3A */ 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ci/* GUI MEMORY MAPPED Registers */ 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci/* Draw Engine Destination Trajectory */ 20162306a36Sopenharmony_ci#define DST_OFF_PITCH 0x0100 /* Dword offset 0_40 */ 20262306a36Sopenharmony_ci#define DST_X 0x0104 /* Dword offset 0_41 */ 20362306a36Sopenharmony_ci#define DST_Y 0x0108 /* Dword offset 0_42 */ 20462306a36Sopenharmony_ci#define DST_Y_X 0x010C /* Dword offset 0_43 */ 20562306a36Sopenharmony_ci#define DST_WIDTH 0x0110 /* Dword offset 0_44 */ 20662306a36Sopenharmony_ci#define DST_HEIGHT 0x0114 /* Dword offset 0_45 */ 20762306a36Sopenharmony_ci#define DST_HEIGHT_WIDTH 0x0118 /* Dword offset 0_46 */ 20862306a36Sopenharmony_ci#define DST_X_WIDTH 0x011C /* Dword offset 0_47 */ 20962306a36Sopenharmony_ci#define DST_BRES_LNTH 0x0120 /* Dword offset 0_48 */ 21062306a36Sopenharmony_ci#define DST_BRES_ERR 0x0124 /* Dword offset 0_49 */ 21162306a36Sopenharmony_ci#define DST_BRES_INC 0x0128 /* Dword offset 0_4A */ 21262306a36Sopenharmony_ci#define DST_BRES_DEC 0x012C /* Dword offset 0_4B */ 21362306a36Sopenharmony_ci#define DST_CNTL 0x0130 /* Dword offset 0_4C */ 21462306a36Sopenharmony_ci#define DST_Y_X__ALIAS__ 0x0134 /* Dword offset 0_4D */ 21562306a36Sopenharmony_ci#define TRAIL_BRES_ERR 0x0138 /* Dword offset 0_4E */ 21662306a36Sopenharmony_ci#define TRAIL_BRES_INC 0x013C /* Dword offset 0_4F */ 21762306a36Sopenharmony_ci#define TRAIL_BRES_DEC 0x0140 /* Dword offset 0_50 */ 21862306a36Sopenharmony_ci#define LEAD_BRES_LNTH 0x0144 /* Dword offset 0_51 */ 21962306a36Sopenharmony_ci#define Z_OFF_PITCH 0x0148 /* Dword offset 0_52 */ 22062306a36Sopenharmony_ci#define Z_CNTL 0x014C /* Dword offset 0_53 */ 22162306a36Sopenharmony_ci#define ALPHA_TST_CNTL 0x0150 /* Dword offset 0_54 */ 22262306a36Sopenharmony_ci#define SECONDARY_STW_EXP 0x0158 /* Dword offset 0_56 */ 22362306a36Sopenharmony_ci#define SECONDARY_S_X_INC 0x015C /* Dword offset 0_57 */ 22462306a36Sopenharmony_ci#define SECONDARY_S_Y_INC 0x0160 /* Dword offset 0_58 */ 22562306a36Sopenharmony_ci#define SECONDARY_S_START 0x0164 /* Dword offset 0_59 */ 22662306a36Sopenharmony_ci#define SECONDARY_W_X_INC 0x0168 /* Dword offset 0_5A */ 22762306a36Sopenharmony_ci#define SECONDARY_W_Y_INC 0x016C /* Dword offset 0_5B */ 22862306a36Sopenharmony_ci#define SECONDARY_W_START 0x0170 /* Dword offset 0_5C */ 22962306a36Sopenharmony_ci#define SECONDARY_T_X_INC 0x0174 /* Dword offset 0_5D */ 23062306a36Sopenharmony_ci#define SECONDARY_T_Y_INC 0x0178 /* Dword offset 0_5E */ 23162306a36Sopenharmony_ci#define SECONDARY_T_START 0x017C /* Dword offset 0_5F */ 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci/* Draw Engine Source Trajectory */ 23462306a36Sopenharmony_ci#define SRC_OFF_PITCH 0x0180 /* Dword offset 0_60 */ 23562306a36Sopenharmony_ci#define SRC_X 0x0184 /* Dword offset 0_61 */ 23662306a36Sopenharmony_ci#define SRC_Y 0x0188 /* Dword offset 0_62 */ 23762306a36Sopenharmony_ci#define SRC_Y_X 0x018C /* Dword offset 0_63 */ 23862306a36Sopenharmony_ci#define SRC_WIDTH1 0x0190 /* Dword offset 0_64 */ 23962306a36Sopenharmony_ci#define SRC_HEIGHT1 0x0194 /* Dword offset 0_65 */ 24062306a36Sopenharmony_ci#define SRC_HEIGHT1_WIDTH1 0x0198 /* Dword offset 0_66 */ 24162306a36Sopenharmony_ci#define SRC_X_START 0x019C /* Dword offset 0_67 */ 24262306a36Sopenharmony_ci#define SRC_Y_START 0x01A0 /* Dword offset 0_68 */ 24362306a36Sopenharmony_ci#define SRC_Y_X_START 0x01A4 /* Dword offset 0_69 */ 24462306a36Sopenharmony_ci#define SRC_WIDTH2 0x01A8 /* Dword offset 0_6A */ 24562306a36Sopenharmony_ci#define SRC_HEIGHT2 0x01AC /* Dword offset 0_6B */ 24662306a36Sopenharmony_ci#define SRC_HEIGHT2_WIDTH2 0x01B0 /* Dword offset 0_6C */ 24762306a36Sopenharmony_ci#define SRC_CNTL 0x01B4 /* Dword offset 0_6D */ 24862306a36Sopenharmony_ci 24962306a36Sopenharmony_ci#define SCALE_OFF 0x01C0 /* Dword offset 0_70 */ 25062306a36Sopenharmony_ci#define SECONDARY_SCALE_OFF 0x01C4 /* Dword offset 0_71 */ 25162306a36Sopenharmony_ci 25262306a36Sopenharmony_ci#define TEX_0_OFF 0x01C0 /* Dword offset 0_70 */ 25362306a36Sopenharmony_ci#define TEX_1_OFF 0x01C4 /* Dword offset 0_71 */ 25462306a36Sopenharmony_ci#define TEX_2_OFF 0x01C8 /* Dword offset 0_72 */ 25562306a36Sopenharmony_ci#define TEX_3_OFF 0x01CC /* Dword offset 0_73 */ 25662306a36Sopenharmony_ci#define TEX_4_OFF 0x01D0 /* Dword offset 0_74 */ 25762306a36Sopenharmony_ci#define TEX_5_OFF 0x01D4 /* Dword offset 0_75 */ 25862306a36Sopenharmony_ci#define TEX_6_OFF 0x01D8 /* Dword offset 0_76 */ 25962306a36Sopenharmony_ci#define TEX_7_OFF 0x01DC /* Dword offset 0_77 */ 26062306a36Sopenharmony_ci 26162306a36Sopenharmony_ci#define SCALE_WIDTH 0x01DC /* Dword offset 0_77 */ 26262306a36Sopenharmony_ci#define SCALE_HEIGHT 0x01E0 /* Dword offset 0_78 */ 26362306a36Sopenharmony_ci 26462306a36Sopenharmony_ci#define TEX_8_OFF 0x01E0 /* Dword offset 0_78 */ 26562306a36Sopenharmony_ci#define TEX_9_OFF 0x01E4 /* Dword offset 0_79 */ 26662306a36Sopenharmony_ci#define TEX_10_OFF 0x01E8 /* Dword offset 0_7A */ 26762306a36Sopenharmony_ci#define S_Y_INC 0x01EC /* Dword offset 0_7B */ 26862306a36Sopenharmony_ci 26962306a36Sopenharmony_ci#define SCALE_PITCH 0x01EC /* Dword offset 0_7B */ 27062306a36Sopenharmony_ci#define SCALE_X_INC 0x01F0 /* Dword offset 0_7C */ 27162306a36Sopenharmony_ci 27262306a36Sopenharmony_ci#define RED_X_INC 0x01F0 /* Dword offset 0_7C */ 27362306a36Sopenharmony_ci#define GREEN_X_INC 0x01F4 /* Dword offset 0_7D */ 27462306a36Sopenharmony_ci 27562306a36Sopenharmony_ci#define SCALE_Y_INC 0x01F4 /* Dword offset 0_7D */ 27662306a36Sopenharmony_ci#define SCALE_VACC 0x01F8 /* Dword offset 0_7E */ 27762306a36Sopenharmony_ci#define SCALE_3D_CNTL 0x01FC /* Dword offset 0_7F */ 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_ci/* Host Data */ 28062306a36Sopenharmony_ci#define HOST_DATA0 0x0200 /* Dword offset 0_80 */ 28162306a36Sopenharmony_ci#define HOST_DATA1 0x0204 /* Dword offset 0_81 */ 28262306a36Sopenharmony_ci#define HOST_DATA2 0x0208 /* Dword offset 0_82 */ 28362306a36Sopenharmony_ci#define HOST_DATA3 0x020C /* Dword offset 0_83 */ 28462306a36Sopenharmony_ci#define HOST_DATA4 0x0210 /* Dword offset 0_84 */ 28562306a36Sopenharmony_ci#define HOST_DATA5 0x0214 /* Dword offset 0_85 */ 28662306a36Sopenharmony_ci#define HOST_DATA6 0x0218 /* Dword offset 0_86 */ 28762306a36Sopenharmony_ci#define HOST_DATA7 0x021C /* Dword offset 0_87 */ 28862306a36Sopenharmony_ci#define HOST_DATA8 0x0220 /* Dword offset 0_88 */ 28962306a36Sopenharmony_ci#define HOST_DATA9 0x0224 /* Dword offset 0_89 */ 29062306a36Sopenharmony_ci#define HOST_DATAA 0x0228 /* Dword offset 0_8A */ 29162306a36Sopenharmony_ci#define HOST_DATAB 0x022C /* Dword offset 0_8B */ 29262306a36Sopenharmony_ci#define HOST_DATAC 0x0230 /* Dword offset 0_8C */ 29362306a36Sopenharmony_ci#define HOST_DATAD 0x0234 /* Dword offset 0_8D */ 29462306a36Sopenharmony_ci#define HOST_DATAE 0x0238 /* Dword offset 0_8E */ 29562306a36Sopenharmony_ci#define HOST_DATAF 0x023C /* Dword offset 0_8F */ 29662306a36Sopenharmony_ci#define HOST_CNTL 0x0240 /* Dword offset 0_90 */ 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ci/* GUI Bus Mastering */ 29962306a36Sopenharmony_ci#define BM_HOSTDATA 0x0244 /* Dword offset 0_91 */ 30062306a36Sopenharmony_ci#define BM_ADDR 0x0248 /* Dword offset 0_92 */ 30162306a36Sopenharmony_ci#define BM_DATA 0x0248 /* Dword offset 0_92 */ 30262306a36Sopenharmony_ci#define BM_GUI_TABLE_CMD 0x024C /* Dword offset 0_93 */ 30362306a36Sopenharmony_ci 30462306a36Sopenharmony_ci/* Pattern */ 30562306a36Sopenharmony_ci#define PAT_REG0 0x0280 /* Dword offset 0_A0 */ 30662306a36Sopenharmony_ci#define PAT_REG1 0x0284 /* Dword offset 0_A1 */ 30762306a36Sopenharmony_ci#define PAT_CNTL 0x0288 /* Dword offset 0_A2 */ 30862306a36Sopenharmony_ci 30962306a36Sopenharmony_ci/* Scissors */ 31062306a36Sopenharmony_ci#define SC_LEFT 0x02A0 /* Dword offset 0_A8 */ 31162306a36Sopenharmony_ci#define SC_RIGHT 0x02A4 /* Dword offset 0_A9 */ 31262306a36Sopenharmony_ci#define SC_LEFT_RIGHT 0x02A8 /* Dword offset 0_AA */ 31362306a36Sopenharmony_ci#define SC_TOP 0x02AC /* Dword offset 0_AB */ 31462306a36Sopenharmony_ci#define SC_BOTTOM 0x02B0 /* Dword offset 0_AC */ 31562306a36Sopenharmony_ci#define SC_TOP_BOTTOM 0x02B4 /* Dword offset 0_AD */ 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ci/* Data Path */ 31862306a36Sopenharmony_ci#define USR1_DST_OFF_PITCH 0x02B8 /* Dword offset 0_AE */ 31962306a36Sopenharmony_ci#define USR2_DST_OFF_PITCH 0x02BC /* Dword offset 0_AF */ 32062306a36Sopenharmony_ci#define DP_BKGD_CLR 0x02C0 /* Dword offset 0_B0 */ 32162306a36Sopenharmony_ci#define DP_FOG_CLR 0x02C4 /* Dword offset 0_B1 */ 32262306a36Sopenharmony_ci#define DP_FRGD_CLR 0x02C4 /* Dword offset 0_B1 */ 32362306a36Sopenharmony_ci#define DP_WRITE_MASK 0x02C8 /* Dword offset 0_B2 */ 32462306a36Sopenharmony_ci#define DP_CHAIN_MASK 0x02CC /* Dword offset 0_B3 */ 32562306a36Sopenharmony_ci#define DP_PIX_WIDTH 0x02D0 /* Dword offset 0_B4 */ 32662306a36Sopenharmony_ci#define DP_MIX 0x02D4 /* Dword offset 0_B5 */ 32762306a36Sopenharmony_ci#define DP_SRC 0x02D8 /* Dword offset 0_B6 */ 32862306a36Sopenharmony_ci#define DP_FRGD_CLR_MIX 0x02DC /* Dword offset 0_B7 */ 32962306a36Sopenharmony_ci#define DP_FRGD_BKGD_CLR 0x02E0 /* Dword offset 0_B8 */ 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_ci/* Draw Engine Destination Trajectory */ 33262306a36Sopenharmony_ci#define DST_X_Y 0x02E8 /* Dword offset 0_BA */ 33362306a36Sopenharmony_ci#define DST_WIDTH_HEIGHT 0x02EC /* Dword offset 0_BB */ 33462306a36Sopenharmony_ci 33562306a36Sopenharmony_ci/* Data Path */ 33662306a36Sopenharmony_ci#define USR_DST_PICTH 0x02F0 /* Dword offset 0_BC */ 33762306a36Sopenharmony_ci#define DP_SET_GUI_ENGINE2 0x02F8 /* Dword offset 0_BE */ 33862306a36Sopenharmony_ci#define DP_SET_GUI_ENGINE 0x02FC /* Dword offset 0_BF */ 33962306a36Sopenharmony_ci 34062306a36Sopenharmony_ci/* Color Compare */ 34162306a36Sopenharmony_ci#define CLR_CMP_CLR 0x0300 /* Dword offset 0_C0 */ 34262306a36Sopenharmony_ci#define CLR_CMP_MASK 0x0304 /* Dword offset 0_C1 */ 34362306a36Sopenharmony_ci#define CLR_CMP_CNTL 0x0308 /* Dword offset 0_C2 */ 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ci/* Command FIFO */ 34662306a36Sopenharmony_ci#define FIFO_STAT 0x0310 /* Dword offset 0_C4 */ 34762306a36Sopenharmony_ci 34862306a36Sopenharmony_ci#define CONTEXT_MASK 0x0320 /* Dword offset 0_C8 */ 34962306a36Sopenharmony_ci#define CONTEXT_LOAD_CNTL 0x032C /* Dword offset 0_CB */ 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ci/* Engine Control */ 35262306a36Sopenharmony_ci#define GUI_TRAJ_CNTL 0x0330 /* Dword offset 0_CC */ 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ci/* Engine Status/FIFO */ 35562306a36Sopenharmony_ci#define GUI_STAT 0x0338 /* Dword offset 0_CE */ 35662306a36Sopenharmony_ci 35762306a36Sopenharmony_ci#define TEX_PALETTE_INDEX 0x0340 /* Dword offset 0_D0 */ 35862306a36Sopenharmony_ci#define STW_EXP 0x0344 /* Dword offset 0_D1 */ 35962306a36Sopenharmony_ci#define LOG_MAX_INC 0x0348 /* Dword offset 0_D2 */ 36062306a36Sopenharmony_ci#define S_X_INC 0x034C /* Dword offset 0_D3 */ 36162306a36Sopenharmony_ci#define S_Y_INC__ALIAS__ 0x0350 /* Dword offset 0_D4 */ 36262306a36Sopenharmony_ci 36362306a36Sopenharmony_ci#define SCALE_PITCH__ALIAS__ 0x0350 /* Dword offset 0_D4 */ 36462306a36Sopenharmony_ci 36562306a36Sopenharmony_ci#define S_START 0x0354 /* Dword offset 0_D5 */ 36662306a36Sopenharmony_ci#define W_X_INC 0x0358 /* Dword offset 0_D6 */ 36762306a36Sopenharmony_ci#define W_Y_INC 0x035C /* Dword offset 0_D7 */ 36862306a36Sopenharmony_ci#define W_START 0x0360 /* Dword offset 0_D8 */ 36962306a36Sopenharmony_ci#define T_X_INC 0x0364 /* Dword offset 0_D9 */ 37062306a36Sopenharmony_ci#define T_Y_INC 0x0368 /* Dword offset 0_DA */ 37162306a36Sopenharmony_ci 37262306a36Sopenharmony_ci#define SECONDARY_SCALE_PITCH 0x0368 /* Dword offset 0_DA */ 37362306a36Sopenharmony_ci 37462306a36Sopenharmony_ci#define T_START 0x036C /* Dword offset 0_DB */ 37562306a36Sopenharmony_ci#define TEX_SIZE_PITCH 0x0370 /* Dword offset 0_DC */ 37662306a36Sopenharmony_ci#define TEX_CNTL 0x0374 /* Dword offset 0_DD */ 37762306a36Sopenharmony_ci#define SECONDARY_TEX_OFFSET 0x0378 /* Dword offset 0_DE */ 37862306a36Sopenharmony_ci#define TEX_PALETTE 0x037C /* Dword offset 0_DF */ 37962306a36Sopenharmony_ci 38062306a36Sopenharmony_ci#define SCALE_PITCH_BOTH 0x0380 /* Dword offset 0_E0 */ 38162306a36Sopenharmony_ci#define SECONDARY_SCALE_OFF_ACC 0x0384 /* Dword offset 0_E1 */ 38262306a36Sopenharmony_ci#define SCALE_OFF_ACC 0x0388 /* Dword offset 0_E2 */ 38362306a36Sopenharmony_ci#define SCALE_DST_Y_X 0x038C /* Dword offset 0_E3 */ 38462306a36Sopenharmony_ci 38562306a36Sopenharmony_ci/* Draw Engine Destination Trajectory */ 38662306a36Sopenharmony_ci#define COMPOSITE_SHADOW_ID 0x0398 /* Dword offset 0_E6 */ 38762306a36Sopenharmony_ci 38862306a36Sopenharmony_ci#define SECONDARY_SCALE_X_INC 0x039C /* Dword offset 0_E7 */ 38962306a36Sopenharmony_ci 39062306a36Sopenharmony_ci#define SPECULAR_RED_X_INC 0x039C /* Dword offset 0_E7 */ 39162306a36Sopenharmony_ci#define SPECULAR_RED_Y_INC 0x03A0 /* Dword offset 0_E8 */ 39262306a36Sopenharmony_ci#define SPECULAR_RED_START 0x03A4 /* Dword offset 0_E9 */ 39362306a36Sopenharmony_ci 39462306a36Sopenharmony_ci#define SECONDARY_SCALE_HACC 0x03A4 /* Dword offset 0_E9 */ 39562306a36Sopenharmony_ci 39662306a36Sopenharmony_ci#define SPECULAR_GREEN_X_INC 0x03A8 /* Dword offset 0_EA */ 39762306a36Sopenharmony_ci#define SPECULAR_GREEN_Y_INC 0x03AC /* Dword offset 0_EB */ 39862306a36Sopenharmony_ci#define SPECULAR_GREEN_START 0x03B0 /* Dword offset 0_EC */ 39962306a36Sopenharmony_ci#define SPECULAR_BLUE_X_INC 0x03B4 /* Dword offset 0_ED */ 40062306a36Sopenharmony_ci#define SPECULAR_BLUE_Y_INC 0x03B8 /* Dword offset 0_EE */ 40162306a36Sopenharmony_ci#define SPECULAR_BLUE_START 0x03BC /* Dword offset 0_EF */ 40262306a36Sopenharmony_ci 40362306a36Sopenharmony_ci#define SCALE_X_INC__ALIAS__ 0x03C0 /* Dword offset 0_F0 */ 40462306a36Sopenharmony_ci 40562306a36Sopenharmony_ci#define RED_X_INC__ALIAS__ 0x03C0 /* Dword offset 0_F0 */ 40662306a36Sopenharmony_ci#define RED_Y_INC 0x03C4 /* Dword offset 0_F1 */ 40762306a36Sopenharmony_ci#define RED_START 0x03C8 /* Dword offset 0_F2 */ 40862306a36Sopenharmony_ci 40962306a36Sopenharmony_ci#define SCALE_HACC 0x03C8 /* Dword offset 0_F2 */ 41062306a36Sopenharmony_ci#define SCALE_Y_INC__ALIAS__ 0x03CC /* Dword offset 0_F3 */ 41162306a36Sopenharmony_ci 41262306a36Sopenharmony_ci#define GREEN_X_INC__ALIAS__ 0x03CC /* Dword offset 0_F3 */ 41362306a36Sopenharmony_ci#define GREEN_Y_INC 0x03D0 /* Dword offset 0_F4 */ 41462306a36Sopenharmony_ci 41562306a36Sopenharmony_ci#define SECONDARY_SCALE_Y_INC 0x03D0 /* Dword offset 0_F4 */ 41662306a36Sopenharmony_ci#define SECONDARY_SCALE_VACC 0x03D4 /* Dword offset 0_F5 */ 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ci#define GREEN_START 0x03D4 /* Dword offset 0_F5 */ 41962306a36Sopenharmony_ci#define BLUE_X_INC 0x03D8 /* Dword offset 0_F6 */ 42062306a36Sopenharmony_ci#define BLUE_Y_INC 0x03DC /* Dword offset 0_F7 */ 42162306a36Sopenharmony_ci#define BLUE_START 0x03E0 /* Dword offset 0_F8 */ 42262306a36Sopenharmony_ci#define Z_X_INC 0x03E4 /* Dword offset 0_F9 */ 42362306a36Sopenharmony_ci#define Z_Y_INC 0x03E8 /* Dword offset 0_FA */ 42462306a36Sopenharmony_ci#define Z_START 0x03EC /* Dword offset 0_FB */ 42562306a36Sopenharmony_ci#define ALPHA_X_INC 0x03F0 /* Dword offset 0_FC */ 42662306a36Sopenharmony_ci#define FOG_X_INC 0x03F0 /* Dword offset 0_FC */ 42762306a36Sopenharmony_ci#define ALPHA_Y_INC 0x03F4 /* Dword offset 0_FD */ 42862306a36Sopenharmony_ci#define FOG_Y_INC 0x03F4 /* Dword offset 0_FD */ 42962306a36Sopenharmony_ci#define ALPHA_START 0x03F8 /* Dword offset 0_FE */ 43062306a36Sopenharmony_ci#define FOG_START 0x03F8 /* Dword offset 0_FE */ 43162306a36Sopenharmony_ci 43262306a36Sopenharmony_ci#define OVERLAY_Y_X_START 0x0400 /* Dword offset 1_00 */ 43362306a36Sopenharmony_ci#define OVERLAY_Y_X_END 0x0404 /* Dword offset 1_01 */ 43462306a36Sopenharmony_ci#define OVERLAY_VIDEO_KEY_CLR 0x0408 /* Dword offset 1_02 */ 43562306a36Sopenharmony_ci#define OVERLAY_VIDEO_KEY_MSK 0x040C /* Dword offset 1_03 */ 43662306a36Sopenharmony_ci#define OVERLAY_GRAPHICS_KEY_CLR 0x0410 /* Dword offset 1_04 */ 43762306a36Sopenharmony_ci#define OVERLAY_GRAPHICS_KEY_MSK 0x0414 /* Dword offset 1_05 */ 43862306a36Sopenharmony_ci#define OVERLAY_KEY_CNTL 0x0418 /* Dword offset 1_06 */ 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_ci#define OVERLAY_SCALE_INC 0x0420 /* Dword offset 1_08 */ 44162306a36Sopenharmony_ci#define OVERLAY_SCALE_CNTL 0x0424 /* Dword offset 1_09 */ 44262306a36Sopenharmony_ci#define SCALER_HEIGHT_WIDTH 0x0428 /* Dword offset 1_0A */ 44362306a36Sopenharmony_ci#define SCALER_TEST 0x042C /* Dword offset 1_0B */ 44462306a36Sopenharmony_ci#define SCALER_BUF0_OFFSET 0x0434 /* Dword offset 1_0D */ 44562306a36Sopenharmony_ci#define SCALER_BUF1_OFFSET 0x0438 /* Dword offset 1_0E */ 44662306a36Sopenharmony_ci#define SCALE_BUF_PITCH 0x043C /* Dword offset 1_0F */ 44762306a36Sopenharmony_ci 44862306a36Sopenharmony_ci#define CAPTURE_START_END 0x0440 /* Dword offset 1_10 */ 44962306a36Sopenharmony_ci#define CAPTURE_X_WIDTH 0x0444 /* Dword offset 1_11 */ 45062306a36Sopenharmony_ci#define VIDEO_FORMAT 0x0448 /* Dword offset 1_12 */ 45162306a36Sopenharmony_ci#define VBI_START_END 0x044C /* Dword offset 1_13 */ 45262306a36Sopenharmony_ci#define CAPTURE_CONFIG 0x0450 /* Dword offset 1_14 */ 45362306a36Sopenharmony_ci#define TRIG_CNTL 0x0454 /* Dword offset 1_15 */ 45462306a36Sopenharmony_ci 45562306a36Sopenharmony_ci#define OVERLAY_EXCLUSIVE_HORZ 0x0458 /* Dword offset 1_16 */ 45662306a36Sopenharmony_ci#define OVERLAY_EXCLUSIVE_VERT 0x045C /* Dword offset 1_17 */ 45762306a36Sopenharmony_ci 45862306a36Sopenharmony_ci#define VAL_WIDTH 0x0460 /* Dword offset 1_18 */ 45962306a36Sopenharmony_ci#define CAPTURE_DEBUG 0x0464 /* Dword offset 1_19 */ 46062306a36Sopenharmony_ci#define VIDEO_SYNC_TEST 0x0468 /* Dword offset 1_1A */ 46162306a36Sopenharmony_ci 46262306a36Sopenharmony_ci/* GenLocking */ 46362306a36Sopenharmony_ci#define SNAPSHOT_VH_COUNTS 0x0470 /* Dword offset 1_1C */ 46462306a36Sopenharmony_ci#define SNAPSHOT_F_COUNT 0x0474 /* Dword offset 1_1D */ 46562306a36Sopenharmony_ci#define N_VIF_COUNT 0x0478 /* Dword offset 1_1E */ 46662306a36Sopenharmony_ci#define SNAPSHOT_VIF_COUNT 0x047C /* Dword offset 1_1F */ 46762306a36Sopenharmony_ci 46862306a36Sopenharmony_ci#define CAPTURE_BUF0_OFFSET 0x0480 /* Dword offset 1_20 */ 46962306a36Sopenharmony_ci#define CAPTURE_BUF1_OFFSET 0x0484 /* Dword offset 1_21 */ 47062306a36Sopenharmony_ci#define CAPTURE_BUF_PITCH 0x0488 /* Dword offset 1_22 */ 47162306a36Sopenharmony_ci 47262306a36Sopenharmony_ci/* GenLocking */ 47362306a36Sopenharmony_ci#define SNAPSHOT2_VH_COUNTS 0x04B0 /* Dword offset 1_2C */ 47462306a36Sopenharmony_ci#define SNAPSHOT2_F_COUNT 0x04B4 /* Dword offset 1_2D */ 47562306a36Sopenharmony_ci#define N_VIF2_COUNT 0x04B8 /* Dword offset 1_2E */ 47662306a36Sopenharmony_ci#define SNAPSHOT2_VIF_COUNT 0x04BC /* Dword offset 1_2F */ 47762306a36Sopenharmony_ci 47862306a36Sopenharmony_ci#define MPP_CONFIG 0x04C0 /* Dword offset 1_30 */ 47962306a36Sopenharmony_ci#define MPP_STROBE_SEQ 0x04C4 /* Dword offset 1_31 */ 48062306a36Sopenharmony_ci#define MPP_ADDR 0x04C8 /* Dword offset 1_32 */ 48162306a36Sopenharmony_ci#define MPP_DATA 0x04CC /* Dword offset 1_33 */ 48262306a36Sopenharmony_ci#define TVO_CNTL 0x0500 /* Dword offset 1_40 */ 48362306a36Sopenharmony_ci 48462306a36Sopenharmony_ci/* Test and Debug */ 48562306a36Sopenharmony_ci#define CRT_HORZ_VERT_LOAD 0x0544 /* Dword offset 1_51 */ 48662306a36Sopenharmony_ci 48762306a36Sopenharmony_ci/* AGP */ 48862306a36Sopenharmony_ci#define AGP_BASE 0x0548 /* Dword offset 1_52 */ 48962306a36Sopenharmony_ci#define AGP_CNTL 0x054C /* Dword offset 1_53 */ 49062306a36Sopenharmony_ci 49162306a36Sopenharmony_ci#define SCALER_COLOUR_CNTL 0x0550 /* Dword offset 1_54 */ 49262306a36Sopenharmony_ci#define SCALER_H_COEFF0 0x0554 /* Dword offset 1_55 */ 49362306a36Sopenharmony_ci#define SCALER_H_COEFF1 0x0558 /* Dword offset 1_56 */ 49462306a36Sopenharmony_ci#define SCALER_H_COEFF2 0x055C /* Dword offset 1_57 */ 49562306a36Sopenharmony_ci#define SCALER_H_COEFF3 0x0560 /* Dword offset 1_58 */ 49662306a36Sopenharmony_ci#define SCALER_H_COEFF4 0x0564 /* Dword offset 1_59 */ 49762306a36Sopenharmony_ci 49862306a36Sopenharmony_ci/* Command FIFO */ 49962306a36Sopenharmony_ci#define GUI_CMDFIFO_DEBUG 0x0570 /* Dword offset 1_5C */ 50062306a36Sopenharmony_ci#define GUI_CMDFIFO_DATA 0x0574 /* Dword offset 1_5D */ 50162306a36Sopenharmony_ci#define GUI_CNTL 0x0578 /* Dword offset 1_5E */ 50262306a36Sopenharmony_ci 50362306a36Sopenharmony_ci/* Bus Mastering */ 50462306a36Sopenharmony_ci#define BM_FRAME_BUF_OFFSET 0x0580 /* Dword offset 1_60 */ 50562306a36Sopenharmony_ci#define BM_SYSTEM_MEM_ADDR 0x0584 /* Dword offset 1_61 */ 50662306a36Sopenharmony_ci#define BM_COMMAND 0x0588 /* Dword offset 1_62 */ 50762306a36Sopenharmony_ci#define BM_STATUS 0x058C /* Dword offset 1_63 */ 50862306a36Sopenharmony_ci#define BM_GUI_TABLE 0x05B8 /* Dword offset 1_6E */ 50962306a36Sopenharmony_ci#define BM_SYSTEM_TABLE 0x05BC /* Dword offset 1_6F */ 51062306a36Sopenharmony_ci 51162306a36Sopenharmony_ci#define SCALER_BUF0_OFFSET_U 0x05D4 /* Dword offset 1_75 */ 51262306a36Sopenharmony_ci#define SCALER_BUF0_OFFSET_V 0x05D8 /* Dword offset 1_76 */ 51362306a36Sopenharmony_ci#define SCALER_BUF1_OFFSET_U 0x05DC /* Dword offset 1_77 */ 51462306a36Sopenharmony_ci#define SCALER_BUF1_OFFSET_V 0x05E0 /* Dword offset 1_78 */ 51562306a36Sopenharmony_ci 51662306a36Sopenharmony_ci/* Setup Engine */ 51762306a36Sopenharmony_ci#define VERTEX_1_S 0x0640 /* Dword offset 1_90 */ 51862306a36Sopenharmony_ci#define VERTEX_1_T 0x0644 /* Dword offset 1_91 */ 51962306a36Sopenharmony_ci#define VERTEX_1_W 0x0648 /* Dword offset 1_92 */ 52062306a36Sopenharmony_ci#define VERTEX_1_SPEC_ARGB 0x064C /* Dword offset 1_93 */ 52162306a36Sopenharmony_ci#define VERTEX_1_Z 0x0650 /* Dword offset 1_94 */ 52262306a36Sopenharmony_ci#define VERTEX_1_ARGB 0x0654 /* Dword offset 1_95 */ 52362306a36Sopenharmony_ci#define VERTEX_1_X_Y 0x0658 /* Dword offset 1_96 */ 52462306a36Sopenharmony_ci#define ONE_OVER_AREA 0x065C /* Dword offset 1_97 */ 52562306a36Sopenharmony_ci#define VERTEX_2_S 0x0660 /* Dword offset 1_98 */ 52662306a36Sopenharmony_ci#define VERTEX_2_T 0x0664 /* Dword offset 1_99 */ 52762306a36Sopenharmony_ci#define VERTEX_2_W 0x0668 /* Dword offset 1_9A */ 52862306a36Sopenharmony_ci#define VERTEX_2_SPEC_ARGB 0x066C /* Dword offset 1_9B */ 52962306a36Sopenharmony_ci#define VERTEX_2_Z 0x0670 /* Dword offset 1_9C */ 53062306a36Sopenharmony_ci#define VERTEX_2_ARGB 0x0674 /* Dword offset 1_9D */ 53162306a36Sopenharmony_ci#define VERTEX_2_X_Y 0x0678 /* Dword offset 1_9E */ 53262306a36Sopenharmony_ci#define ONE_OVER_AREA 0x065C /* Dword offset 1_9F */ 53362306a36Sopenharmony_ci#define VERTEX_3_S 0x0680 /* Dword offset 1_A0 */ 53462306a36Sopenharmony_ci#define VERTEX_3_T 0x0684 /* Dword offset 1_A1 */ 53562306a36Sopenharmony_ci#define VERTEX_3_W 0x0688 /* Dword offset 1_A2 */ 53662306a36Sopenharmony_ci#define VERTEX_3_SPEC_ARGB 0x068C /* Dword offset 1_A3 */ 53762306a36Sopenharmony_ci#define VERTEX_3_Z 0x0690 /* Dword offset 1_A4 */ 53862306a36Sopenharmony_ci#define VERTEX_3_ARGB 0x0694 /* Dword offset 1_A5 */ 53962306a36Sopenharmony_ci#define VERTEX_3_X_Y 0x0698 /* Dword offset 1_A6 */ 54062306a36Sopenharmony_ci#define ONE_OVER_AREA 0x065C /* Dword offset 1_A7 */ 54162306a36Sopenharmony_ci#define VERTEX_1_S 0x0640 /* Dword offset 1_AB */ 54262306a36Sopenharmony_ci#define VERTEX_1_T 0x0644 /* Dword offset 1_AC */ 54362306a36Sopenharmony_ci#define VERTEX_1_W 0x0648 /* Dword offset 1_AD */ 54462306a36Sopenharmony_ci#define VERTEX_2_S 0x0660 /* Dword offset 1_AE */ 54562306a36Sopenharmony_ci#define VERTEX_2_T 0x0664 /* Dword offset 1_AF */ 54662306a36Sopenharmony_ci#define VERTEX_2_W 0x0668 /* Dword offset 1_B0 */ 54762306a36Sopenharmony_ci#define VERTEX_3_SECONDARY_S 0x06C0 /* Dword offset 1_B0 */ 54862306a36Sopenharmony_ci#define VERTEX_3_S 0x0680 /* Dword offset 1_B1 */ 54962306a36Sopenharmony_ci#define VERTEX_3_SECONDARY_T 0x06C4 /* Dword offset 1_B1 */ 55062306a36Sopenharmony_ci#define VERTEX_3_T 0x0684 /* Dword offset 1_B2 */ 55162306a36Sopenharmony_ci#define VERTEX_3_SECONDARY_W 0x06C8 /* Dword offset 1_B2 */ 55262306a36Sopenharmony_ci#define VERTEX_3_W 0x0688 /* Dword offset 1_B3 */ 55362306a36Sopenharmony_ci#define VERTEX_1_SPEC_ARGB 0x064C /* Dword offset 1_B4 */ 55462306a36Sopenharmony_ci#define VERTEX_2_SPEC_ARGB 0x066C /* Dword offset 1_B5 */ 55562306a36Sopenharmony_ci#define VERTEX_3_SPEC_ARGB 0x068C /* Dword offset 1_B6 */ 55662306a36Sopenharmony_ci#define VERTEX_1_Z 0x0650 /* Dword offset 1_B7 */ 55762306a36Sopenharmony_ci#define VERTEX_2_Z 0x0670 /* Dword offset 1_B8 */ 55862306a36Sopenharmony_ci#define VERTEX_3_Z 0x0690 /* Dword offset 1_B9 */ 55962306a36Sopenharmony_ci#define VERTEX_1_ARGB 0x0654 /* Dword offset 1_BA */ 56062306a36Sopenharmony_ci#define VERTEX_2_ARGB 0x0674 /* Dword offset 1_BB */ 56162306a36Sopenharmony_ci#define VERTEX_3_ARGB 0x0694 /* Dword offset 1_BC */ 56262306a36Sopenharmony_ci#define VERTEX_1_X_Y 0x0658 /* Dword offset 1_BD */ 56362306a36Sopenharmony_ci#define VERTEX_2_X_Y 0x0678 /* Dword offset 1_BE */ 56462306a36Sopenharmony_ci#define VERTEX_3_X_Y 0x0698 /* Dword offset 1_BF */ 56562306a36Sopenharmony_ci#define ONE_OVER_AREA_UC 0x0700 /* Dword offset 1_C0 */ 56662306a36Sopenharmony_ci#define SETUP_CNTL 0x0704 /* Dword offset 1_C1 */ 56762306a36Sopenharmony_ci#define VERTEX_1_SECONDARY_S 0x0728 /* Dword offset 1_CA */ 56862306a36Sopenharmony_ci#define VERTEX_1_SECONDARY_T 0x072C /* Dword offset 1_CB */ 56962306a36Sopenharmony_ci#define VERTEX_1_SECONDARY_W 0x0730 /* Dword offset 1_CC */ 57062306a36Sopenharmony_ci#define VERTEX_2_SECONDARY_S 0x0734 /* Dword offset 1_CD */ 57162306a36Sopenharmony_ci#define VERTEX_2_SECONDARY_T 0x0738 /* Dword offset 1_CE */ 57262306a36Sopenharmony_ci#define VERTEX_2_SECONDARY_W 0x073C /* Dword offset 1_CF */ 57362306a36Sopenharmony_ci 57462306a36Sopenharmony_ci 57562306a36Sopenharmony_ci#define GTC_3D_RESET_DELAY 3 /* 3D engine reset delay in ms */ 57662306a36Sopenharmony_ci 57762306a36Sopenharmony_ci/* CRTC control values (mostly CRTC_GEN_CNTL) */ 57862306a36Sopenharmony_ci 57962306a36Sopenharmony_ci#define CRTC_H_SYNC_NEG 0x00200000 58062306a36Sopenharmony_ci#define CRTC_V_SYNC_NEG 0x00200000 58162306a36Sopenharmony_ci 58262306a36Sopenharmony_ci#define CRTC_DBL_SCAN_EN 0x00000001 58362306a36Sopenharmony_ci#define CRTC_INTERLACE_EN 0x00000002 58462306a36Sopenharmony_ci#define CRTC_HSYNC_DIS 0x00000004 58562306a36Sopenharmony_ci#define CRTC_VSYNC_DIS 0x00000008 58662306a36Sopenharmony_ci#define CRTC_CSYNC_EN 0x00000010 58762306a36Sopenharmony_ci#define CRTC_PIX_BY_2_EN 0x00000020 /* unused on RAGE */ 58862306a36Sopenharmony_ci#define CRTC_DISPLAY_DIS 0x00000040 58962306a36Sopenharmony_ci#define CRTC_VGA_XOVERSCAN 0x00000080 59062306a36Sopenharmony_ci 59162306a36Sopenharmony_ci#define CRTC_PIX_WIDTH_MASK 0x00000700 59262306a36Sopenharmony_ci#define CRTC_PIX_WIDTH_4BPP 0x00000100 59362306a36Sopenharmony_ci#define CRTC_PIX_WIDTH_8BPP 0x00000200 59462306a36Sopenharmony_ci#define CRTC_PIX_WIDTH_15BPP 0x00000300 59562306a36Sopenharmony_ci#define CRTC_PIX_WIDTH_16BPP 0x00000400 59662306a36Sopenharmony_ci#define CRTC_PIX_WIDTH_24BPP 0x00000500 59762306a36Sopenharmony_ci#define CRTC_PIX_WIDTH_32BPP 0x00000600 59862306a36Sopenharmony_ci 59962306a36Sopenharmony_ci#define CRTC_BYTE_PIX_ORDER 0x00000800 60062306a36Sopenharmony_ci#define CRTC_PIX_ORDER_MSN_LSN 0x00000000 60162306a36Sopenharmony_ci#define CRTC_PIX_ORDER_LSN_MSN 0x00000800 60262306a36Sopenharmony_ci 60362306a36Sopenharmony_ci#define CRTC_VSYNC_INT_EN 0x00001000ul /* XC/XL */ 60462306a36Sopenharmony_ci#define CRTC_VSYNC_INT 0x00002000ul /* XC/XL */ 60562306a36Sopenharmony_ci#define CRTC_FIFO_OVERFILL 0x0000c000ul /* VT/GT */ 60662306a36Sopenharmony_ci#define CRTC2_VSYNC_INT_EN 0x00004000ul /* XC/XL */ 60762306a36Sopenharmony_ci#define CRTC2_VSYNC_INT 0x00008000ul /* XC/XL */ 60862306a36Sopenharmony_ci 60962306a36Sopenharmony_ci#define CRTC_FIFO_LWM 0x000f0000 61062306a36Sopenharmony_ci#define CRTC_HVSYNC_IO_DRIVE 0x00010000 /* XC/XL */ 61162306a36Sopenharmony_ci#define CRTC2_PIX_WIDTH 0x000e0000 /* LTPro */ 61262306a36Sopenharmony_ci 61362306a36Sopenharmony_ci#define CRTC_VGA_128KAP_PAGING 0x00100000 61462306a36Sopenharmony_ci#define CRTC_VFC_SYNC_TRISTATE 0x00200000 /* VTB/GTB/LT */ 61562306a36Sopenharmony_ci#define CRTC2_EN 0x00200000 /* LTPro */ 61662306a36Sopenharmony_ci#define CRTC_LOCK_REGS 0x00400000 61762306a36Sopenharmony_ci#define CRTC_SYNC_TRISTATE 0x00800000 61862306a36Sopenharmony_ci 61962306a36Sopenharmony_ci#define CRTC_EXT_DISP_EN 0x01000000 62062306a36Sopenharmony_ci#define CRTC_EN 0x02000000 62162306a36Sopenharmony_ci#define CRTC_DISP_REQ_EN 0x04000000 62262306a36Sopenharmony_ci#define CRTC_VGA_LINEAR 0x08000000 62362306a36Sopenharmony_ci#define CRTC_VSYNC_FALL_EDGE 0x10000000 62462306a36Sopenharmony_ci#define CRTC_VGA_TEXT_132 0x20000000 62562306a36Sopenharmony_ci#define CRTC_CNT_EN 0x40000000 62662306a36Sopenharmony_ci#define CRTC_CUR_B_TEST 0x80000000 62762306a36Sopenharmony_ci 62862306a36Sopenharmony_ci#define CRTC_CRNT_VLINE 0x07f00000 62962306a36Sopenharmony_ci 63062306a36Sopenharmony_ci#define CRTC_PRESERVED_MASK 0x0001f000 63162306a36Sopenharmony_ci 63262306a36Sopenharmony_ci#define CRTC_VBLANK 0x00000001 63362306a36Sopenharmony_ci#define CRTC_VBLANK_INT_EN 0x00000002 63462306a36Sopenharmony_ci#define CRTC_VBLANK_INT 0x00000004 63562306a36Sopenharmony_ci#define CRTC_VBLANK_INT_AK CRTC_VBLANK_INT 63662306a36Sopenharmony_ci#define CRTC_VLINE_INT_EN 0x00000008 63762306a36Sopenharmony_ci#define CRTC_VLINE_INT 0x00000010 63862306a36Sopenharmony_ci#define CRTC_VLINE_INT_AK CRTC_VLINE_INT 63962306a36Sopenharmony_ci#define CRTC_VLINE_SYNC 0x00000020 64062306a36Sopenharmony_ci#define CRTC_FRAME 0x00000040 64162306a36Sopenharmony_ci#define SNAPSHOT_INT_EN 0x00000080 64262306a36Sopenharmony_ci#define SNAPSHOT_INT 0x00000100 64362306a36Sopenharmony_ci#define SNAPSHOT_INT_AK SNAPSHOT_INT 64462306a36Sopenharmony_ci#define I2C_INT_EN 0x00000200 64562306a36Sopenharmony_ci#define I2C_INT 0x00000400 64662306a36Sopenharmony_ci#define I2C_INT_AK I2C_INT 64762306a36Sopenharmony_ci#define CRTC2_VBLANK 0x00000800 64862306a36Sopenharmony_ci#define CRTC2_VBLANK_INT_EN 0x00001000 64962306a36Sopenharmony_ci#define CRTC2_VBLANK_INT 0x00002000 65062306a36Sopenharmony_ci#define CRTC2_VBLANK_INT_AK CRTC2_VBLANK_INT 65162306a36Sopenharmony_ci#define CRTC2_VLINE_INT_EN 0x00004000 65262306a36Sopenharmony_ci#define CRTC2_VLINE_INT 0x00008000 65362306a36Sopenharmony_ci#define CRTC2_VLINE_INT_AK CRTC2_VLINE_INT 65462306a36Sopenharmony_ci#define CAPBUF0_INT_EN 0x00010000 65562306a36Sopenharmony_ci#define CAPBUF0_INT 0x00020000 65662306a36Sopenharmony_ci#define CAPBUF0_INT_AK CAPBUF0_INT 65762306a36Sopenharmony_ci#define CAPBUF1_INT_EN 0x00040000 65862306a36Sopenharmony_ci#define CAPBUF1_INT 0x00080000 65962306a36Sopenharmony_ci#define CAPBUF1_INT_AK CAPBUF1_INT 66062306a36Sopenharmony_ci#define OVERLAY_EOF_INT_EN 0x00100000 66162306a36Sopenharmony_ci#define OVERLAY_EOF_INT 0x00200000 66262306a36Sopenharmony_ci#define OVERLAY_EOF_INT_AK OVERLAY_EOF_INT 66362306a36Sopenharmony_ci#define ONESHOT_CAP_INT_EN 0x00400000 66462306a36Sopenharmony_ci#define ONESHOT_CAP_INT 0x00800000 66562306a36Sopenharmony_ci#define ONESHOT_CAP_INT_AK ONESHOT_CAP_INT 66662306a36Sopenharmony_ci#define BUSMASTER_EOL_INT_EN 0x01000000 66762306a36Sopenharmony_ci#define BUSMASTER_EOL_INT 0x02000000 66862306a36Sopenharmony_ci#define BUSMASTER_EOL_INT_AK BUSMASTER_EOL_INT 66962306a36Sopenharmony_ci#define GP_INT_EN 0x04000000 67062306a36Sopenharmony_ci#define GP_INT 0x08000000 67162306a36Sopenharmony_ci#define GP_INT_AK GP_INT 67262306a36Sopenharmony_ci#define CRTC2_VLINE_SYNC 0x10000000 67362306a36Sopenharmony_ci#define SNAPSHOT2_INT_EN 0x20000000 67462306a36Sopenharmony_ci#define SNAPSHOT2_INT 0x40000000 67562306a36Sopenharmony_ci#define SNAPSHOT2_INT_AK SNAPSHOT2_INT 67662306a36Sopenharmony_ci#define VBLANK_BIT2_INT 0x80000000 67762306a36Sopenharmony_ci#define VBLANK_BIT2_INT_AK VBLANK_BIT2_INT 67862306a36Sopenharmony_ci 67962306a36Sopenharmony_ci#define CRTC_INT_EN_MASK (CRTC_VBLANK_INT_EN | \ 68062306a36Sopenharmony_ci CRTC_VLINE_INT_EN | \ 68162306a36Sopenharmony_ci SNAPSHOT_INT_EN | \ 68262306a36Sopenharmony_ci I2C_INT_EN | \ 68362306a36Sopenharmony_ci CRTC2_VBLANK_INT_EN | \ 68462306a36Sopenharmony_ci CRTC2_VLINE_INT_EN | \ 68562306a36Sopenharmony_ci CAPBUF0_INT_EN | \ 68662306a36Sopenharmony_ci CAPBUF1_INT_EN | \ 68762306a36Sopenharmony_ci OVERLAY_EOF_INT_EN | \ 68862306a36Sopenharmony_ci ONESHOT_CAP_INT_EN | \ 68962306a36Sopenharmony_ci BUSMASTER_EOL_INT_EN | \ 69062306a36Sopenharmony_ci GP_INT_EN | \ 69162306a36Sopenharmony_ci SNAPSHOT2_INT_EN) 69262306a36Sopenharmony_ci 69362306a36Sopenharmony_ci/* DAC control values */ 69462306a36Sopenharmony_ci 69562306a36Sopenharmony_ci#define DAC_EXT_SEL_RS2 0x01 69662306a36Sopenharmony_ci#define DAC_EXT_SEL_RS3 0x02 69762306a36Sopenharmony_ci#define DAC_8BIT_EN 0x00000100 69862306a36Sopenharmony_ci#define DAC_PIX_DLY_MASK 0x00000600 69962306a36Sopenharmony_ci#define DAC_PIX_DLY_0NS 0x00000000 70062306a36Sopenharmony_ci#define DAC_PIX_DLY_2NS 0x00000200 70162306a36Sopenharmony_ci#define DAC_PIX_DLY_4NS 0x00000400 70262306a36Sopenharmony_ci#define DAC_BLANK_ADJ_MASK 0x00001800 70362306a36Sopenharmony_ci#define DAC_BLANK_ADJ_0 0x00000000 70462306a36Sopenharmony_ci#define DAC_BLANK_ADJ_1 0x00000800 70562306a36Sopenharmony_ci#define DAC_BLANK_ADJ_2 0x00001000 70662306a36Sopenharmony_ci 70762306a36Sopenharmony_ci/* DAC control values (my source XL/XC Register reference) */ 70862306a36Sopenharmony_ci#define DAC_OUTPUT_MASK 0x00000001 /* 0 - PAL, 1 - NTSC */ 70962306a36Sopenharmony_ci#define DAC_MISTERY_BIT 0x00000002 /* PS2 ? RS343 ?, EXTRA_BRIGHT for GT */ 71062306a36Sopenharmony_ci#define DAC_BLANKING 0x00000004 71162306a36Sopenharmony_ci#define DAC_CMP_DISABLE 0x00000008 71262306a36Sopenharmony_ci#define DAC1_CLK_SEL 0x00000010 71362306a36Sopenharmony_ci#define PALETTE_ACCESS_CNTL 0x00000020 71462306a36Sopenharmony_ci#define PALETTE2_SNOOP_EN 0x00000040 71562306a36Sopenharmony_ci#define DAC_CMP_OUTPUT 0x00000080 /* read only */ 71662306a36Sopenharmony_ci/* #define DAC_8BIT_EN is ok */ 71762306a36Sopenharmony_ci#define CRT_SENSE 0x00000800 /* read only */ 71862306a36Sopenharmony_ci#define CRT_DETECTION_ON 0x00001000 71962306a36Sopenharmony_ci#define DAC_VGA_ADR_EN 0x00002000 72062306a36Sopenharmony_ci#define DAC_FEA_CON_EN 0x00004000 72162306a36Sopenharmony_ci#define DAC_PDWN 0x00008000 72262306a36Sopenharmony_ci#define DAC_TYPE_MASK 0x00070000 /* read only */ 72362306a36Sopenharmony_ci 72462306a36Sopenharmony_ci 72562306a36Sopenharmony_ci 72662306a36Sopenharmony_ci/* Mix control values */ 72762306a36Sopenharmony_ci 72862306a36Sopenharmony_ci#define MIX_NOT_DST 0x0000 72962306a36Sopenharmony_ci#define MIX_0 0x0001 73062306a36Sopenharmony_ci#define MIX_1 0x0002 73162306a36Sopenharmony_ci#define MIX_DST 0x0003 73262306a36Sopenharmony_ci#define MIX_NOT_SRC 0x0004 73362306a36Sopenharmony_ci#define MIX_XOR 0x0005 73462306a36Sopenharmony_ci#define MIX_XNOR 0x0006 73562306a36Sopenharmony_ci#define MIX_SRC 0x0007 73662306a36Sopenharmony_ci#define MIX_NAND 0x0008 73762306a36Sopenharmony_ci#define MIX_NOT_SRC_OR_DST 0x0009 73862306a36Sopenharmony_ci#define MIX_SRC_OR_NOT_DST 0x000a 73962306a36Sopenharmony_ci#define MIX_OR 0x000b 74062306a36Sopenharmony_ci#define MIX_AND 0x000c 74162306a36Sopenharmony_ci#define MIX_SRC_AND_NOT_DST 0x000d 74262306a36Sopenharmony_ci#define MIX_NOT_SRC_AND_DST 0x000e 74362306a36Sopenharmony_ci#define MIX_NOR 0x000f 74462306a36Sopenharmony_ci 74562306a36Sopenharmony_ci/* Maximum engine dimensions */ 74662306a36Sopenharmony_ci#define ENGINE_MIN_X 0 74762306a36Sopenharmony_ci#define ENGINE_MIN_Y 0 74862306a36Sopenharmony_ci#define ENGINE_MAX_X 4095 74962306a36Sopenharmony_ci#define ENGINE_MAX_Y 16383 75062306a36Sopenharmony_ci 75162306a36Sopenharmony_ci/* Mach64 engine bit constants - these are typically ORed together */ 75262306a36Sopenharmony_ci 75362306a36Sopenharmony_ci/* BUS_CNTL register constants */ 75462306a36Sopenharmony_ci#define BUS_APER_REG_DIS 0x00000010 75562306a36Sopenharmony_ci#define BUS_FIFO_ERR_ACK 0x00200000 75662306a36Sopenharmony_ci#define BUS_HOST_ERR_ACK 0x00800000 75762306a36Sopenharmony_ci 75862306a36Sopenharmony_ci/* GEN_TEST_CNTL register constants */ 75962306a36Sopenharmony_ci#define GEN_OVR_OUTPUT_EN 0x20 76062306a36Sopenharmony_ci#define HWCURSOR_ENABLE 0x80 76162306a36Sopenharmony_ci#define GUI_ENGINE_ENABLE 0x100 76262306a36Sopenharmony_ci#define BLOCK_WRITE_ENABLE 0x200 76362306a36Sopenharmony_ci 76462306a36Sopenharmony_ci/* DSP_CONFIG register constants */ 76562306a36Sopenharmony_ci#define DSP_XCLKS_PER_QW 0x00003fff 76662306a36Sopenharmony_ci#define DSP_LOOP_LATENCY 0x000f0000 76762306a36Sopenharmony_ci#define DSP_PRECISION 0x00700000 76862306a36Sopenharmony_ci 76962306a36Sopenharmony_ci/* DSP_ON_OFF register constants */ 77062306a36Sopenharmony_ci#define DSP_OFF 0x000007ff 77162306a36Sopenharmony_ci#define DSP_ON 0x07ff0000 77262306a36Sopenharmony_ci#define VGA_DSP_OFF DSP_OFF 77362306a36Sopenharmony_ci#define VGA_DSP_ON DSP_ON 77462306a36Sopenharmony_ci#define VGA_DSP_XCLKS_PER_QW DSP_XCLKS_PER_QW 77562306a36Sopenharmony_ci 77662306a36Sopenharmony_ci/* PLL register indices and fields */ 77762306a36Sopenharmony_ci#define MPLL_CNTL 0x00 77862306a36Sopenharmony_ci#define PLL_PC_GAIN 0x07 77962306a36Sopenharmony_ci#define PLL_VC_GAIN 0x18 78062306a36Sopenharmony_ci#define PLL_DUTY_CYC 0xE0 78162306a36Sopenharmony_ci#define VPLL_CNTL 0x01 78262306a36Sopenharmony_ci#define PLL_REF_DIV 0x02 78362306a36Sopenharmony_ci#define PLL_GEN_CNTL 0x03 78462306a36Sopenharmony_ci#define PLL_OVERRIDE 0x01 /* PLL_SLEEP */ 78562306a36Sopenharmony_ci#define PLL_MCLK_RST 0x02 /* PLL_MRESET */ 78662306a36Sopenharmony_ci#define OSC_EN 0x04 78762306a36Sopenharmony_ci#define EXT_CLK_EN 0x08 78862306a36Sopenharmony_ci#define FORCE_DCLK_TRI_STATE 0x08 /* VT4 -> */ 78962306a36Sopenharmony_ci#define MCLK_SRC_SEL 0x70 79062306a36Sopenharmony_ci#define EXT_CLK_CNTL 0x80 79162306a36Sopenharmony_ci#define DLL_PWDN 0x80 /* VT4 -> */ 79262306a36Sopenharmony_ci#define MCLK_FB_DIV 0x04 79362306a36Sopenharmony_ci#define PLL_VCLK_CNTL 0x05 79462306a36Sopenharmony_ci#define PLL_VCLK_SRC_SEL 0x03 79562306a36Sopenharmony_ci#define PLL_VCLK_RST 0x04 79662306a36Sopenharmony_ci#define PLL_VCLK_INVERT 0x08 79762306a36Sopenharmony_ci#define VCLK_POST_DIV 0x06 79862306a36Sopenharmony_ci#define VCLK0_POST 0x03 79962306a36Sopenharmony_ci#define VCLK1_POST 0x0C 80062306a36Sopenharmony_ci#define VCLK2_POST 0x30 80162306a36Sopenharmony_ci#define VCLK3_POST 0xC0 80262306a36Sopenharmony_ci#define VCLK0_FB_DIV 0x07 80362306a36Sopenharmony_ci#define VCLK1_FB_DIV 0x08 80462306a36Sopenharmony_ci#define VCLK2_FB_DIV 0x09 80562306a36Sopenharmony_ci#define VCLK3_FB_DIV 0x0A 80662306a36Sopenharmony_ci#define PLL_EXT_CNTL 0x0B 80762306a36Sopenharmony_ci#define PLL_XCLK_MCLK_RATIO 0x03 80862306a36Sopenharmony_ci#define PLL_XCLK_SRC_SEL 0x07 80962306a36Sopenharmony_ci#define PLL_MFB_TIMES_4_2B 0x08 81062306a36Sopenharmony_ci#define PLL_VCLK0_XDIV 0x10 81162306a36Sopenharmony_ci#define PLL_VCLK1_XDIV 0x20 81262306a36Sopenharmony_ci#define PLL_VCLK2_XDIV 0x40 81362306a36Sopenharmony_ci#define PLL_VCLK3_XDIV 0x80 81462306a36Sopenharmony_ci#define DLL_CNTL 0x0C 81562306a36Sopenharmony_ci#define DLL1_CNTL 0x0C 81662306a36Sopenharmony_ci#define VFC_CNTL 0x0D 81762306a36Sopenharmony_ci#define PLL_TEST_CNTL 0x0E 81862306a36Sopenharmony_ci#define PLL_TEST_COUNT 0x0F 81962306a36Sopenharmony_ci#define LVDS_CNTL0 0x10 82062306a36Sopenharmony_ci#define LVDS_CNTL1 0x11 82162306a36Sopenharmony_ci#define AGP1_CNTL 0x12 82262306a36Sopenharmony_ci#define AGP2_CNTL 0x13 82362306a36Sopenharmony_ci#define DLL2_CNTL 0x14 82462306a36Sopenharmony_ci#define SCLK_FB_DIV 0x15 82562306a36Sopenharmony_ci#define SPLL_CNTL1 0x16 82662306a36Sopenharmony_ci#define SPLL_CNTL2 0x17 82762306a36Sopenharmony_ci#define APLL_STRAPS 0x18 82862306a36Sopenharmony_ci#define EXT_VPLL_CNTL 0x19 82962306a36Sopenharmony_ci#define EXT_VPLL_EN 0x04 83062306a36Sopenharmony_ci#define EXT_VPLL_VGA_EN 0x08 83162306a36Sopenharmony_ci#define EXT_VPLL_INSYNC 0x10 83262306a36Sopenharmony_ci#define EXT_VPLL_REF_DIV 0x1A 83362306a36Sopenharmony_ci#define EXT_VPLL_FB_DIV 0x1B 83462306a36Sopenharmony_ci#define EXT_VPLL_MSB 0x1C 83562306a36Sopenharmony_ci#define HTOTAL_CNTL 0x1D 83662306a36Sopenharmony_ci#define BYTE_CLK_CNTL 0x1E 83762306a36Sopenharmony_ci#define TV_PLL_CNTL1 0x1F 83862306a36Sopenharmony_ci#define TV_PLL_CNTL2 0x20 83962306a36Sopenharmony_ci#define TV_PLL_CNTL 0x21 84062306a36Sopenharmony_ci#define EXT_TV_PLL 0x22 84162306a36Sopenharmony_ci#define V2PLL_CNTL 0x23 84262306a36Sopenharmony_ci#define PLL_V2CLK_CNTL 0x24 84362306a36Sopenharmony_ci#define EXT_V2PLL_REF_DIV 0x25 84462306a36Sopenharmony_ci#define EXT_V2PLL_FB_DIV 0x26 84562306a36Sopenharmony_ci#define EXT_V2PLL_MSB 0x27 84662306a36Sopenharmony_ci#define HTOTAL2_CNTL 0x28 84762306a36Sopenharmony_ci#define PLL_YCLK_CNTL 0x29 84862306a36Sopenharmony_ci#define PM_DYN_CLK_CNTL 0x2A 84962306a36Sopenharmony_ci 85062306a36Sopenharmony_ci/* CNFG_CNTL register constants */ 85162306a36Sopenharmony_ci#define APERTURE_4M_ENABLE 1 85262306a36Sopenharmony_ci#define APERTURE_8M_ENABLE 2 85362306a36Sopenharmony_ci#define VGA_APERTURE_ENABLE 4 85462306a36Sopenharmony_ci 85562306a36Sopenharmony_ci/* CNFG_STAT0 register constants (GX, CX) */ 85662306a36Sopenharmony_ci#define CFG_BUS_TYPE 0x00000007 85762306a36Sopenharmony_ci#define CFG_MEM_TYPE 0x00000038 85862306a36Sopenharmony_ci#define CFG_INIT_DAC_TYPE 0x00000e00 85962306a36Sopenharmony_ci 86062306a36Sopenharmony_ci/* CNFG_STAT0 register constants (CT, ET, VT) */ 86162306a36Sopenharmony_ci#define CFG_MEM_TYPE_xT 0x00000007 86262306a36Sopenharmony_ci 86362306a36Sopenharmony_ci#define ISA 0 86462306a36Sopenharmony_ci#define EISA 1 86562306a36Sopenharmony_ci#define LOCAL_BUS 6 86662306a36Sopenharmony_ci#define PCI 7 86762306a36Sopenharmony_ci 86862306a36Sopenharmony_ci/* Memory types for GX, CX */ 86962306a36Sopenharmony_ci#define DRAMx4 0 87062306a36Sopenharmony_ci#define VRAMx16 1 87162306a36Sopenharmony_ci#define VRAMx16ssr 2 87262306a36Sopenharmony_ci#define DRAMx16 3 87362306a36Sopenharmony_ci#define GraphicsDRAMx16 4 87462306a36Sopenharmony_ci#define EnhancedVRAMx16 5 87562306a36Sopenharmony_ci#define EnhancedVRAMx16ssr 6 87662306a36Sopenharmony_ci 87762306a36Sopenharmony_ci/* Memory types for CT, ET, VT, GT */ 87862306a36Sopenharmony_ci#define DRAM 1 87962306a36Sopenharmony_ci#define EDO 2 88062306a36Sopenharmony_ci#define PSEUDO_EDO 3 88162306a36Sopenharmony_ci#define SDRAM 4 88262306a36Sopenharmony_ci#define SGRAM 5 88362306a36Sopenharmony_ci#define WRAM 6 88462306a36Sopenharmony_ci#define SDRAM32 6 88562306a36Sopenharmony_ci 88662306a36Sopenharmony_ci#define DAC_INTERNAL 0x00 88762306a36Sopenharmony_ci#define DAC_IBMRGB514 0x01 88862306a36Sopenharmony_ci#define DAC_ATI68875 0x02 88962306a36Sopenharmony_ci#define DAC_TVP3026_A 0x72 89062306a36Sopenharmony_ci#define DAC_BT476 0x03 89162306a36Sopenharmony_ci#define DAC_BT481 0x04 89262306a36Sopenharmony_ci#define DAC_ATT20C491 0x14 89362306a36Sopenharmony_ci#define DAC_SC15026 0x24 89462306a36Sopenharmony_ci#define DAC_MU9C1880 0x34 89562306a36Sopenharmony_ci#define DAC_IMSG174 0x44 89662306a36Sopenharmony_ci#define DAC_ATI68860_B 0x05 89762306a36Sopenharmony_ci#define DAC_ATI68860_C 0x15 89862306a36Sopenharmony_ci#define DAC_TVP3026_B 0x75 89962306a36Sopenharmony_ci#define DAC_STG1700 0x06 90062306a36Sopenharmony_ci#define DAC_ATT498 0x16 90162306a36Sopenharmony_ci#define DAC_STG1702 0x07 90262306a36Sopenharmony_ci#define DAC_SC15021 0x17 90362306a36Sopenharmony_ci#define DAC_ATT21C498 0x27 90462306a36Sopenharmony_ci#define DAC_STG1703 0x37 90562306a36Sopenharmony_ci#define DAC_CH8398 0x47 90662306a36Sopenharmony_ci#define DAC_ATT20C408 0x57 90762306a36Sopenharmony_ci 90862306a36Sopenharmony_ci#define CLK_ATI18818_0 0 90962306a36Sopenharmony_ci#define CLK_ATI18818_1 1 91062306a36Sopenharmony_ci#define CLK_STG1703 2 91162306a36Sopenharmony_ci#define CLK_CH8398 3 91262306a36Sopenharmony_ci#define CLK_INTERNAL 4 91362306a36Sopenharmony_ci#define CLK_ATT20C408 5 91462306a36Sopenharmony_ci#define CLK_IBMRGB514 6 91562306a36Sopenharmony_ci 91662306a36Sopenharmony_ci/* MEM_CNTL register constants */ 91762306a36Sopenharmony_ci#define MEM_SIZE_ALIAS 0x00000007 91862306a36Sopenharmony_ci#define MEM_SIZE_512K 0x00000000 91962306a36Sopenharmony_ci#define MEM_SIZE_1M 0x00000001 92062306a36Sopenharmony_ci#define MEM_SIZE_2M 0x00000002 92162306a36Sopenharmony_ci#define MEM_SIZE_4M 0x00000003 92262306a36Sopenharmony_ci#define MEM_SIZE_6M 0x00000004 92362306a36Sopenharmony_ci#define MEM_SIZE_8M 0x00000005 92462306a36Sopenharmony_ci#define MEM_SIZE_ALIAS_GTB 0x0000000F 92562306a36Sopenharmony_ci#define MEM_SIZE_2M_GTB 0x00000003 92662306a36Sopenharmony_ci#define MEM_SIZE_4M_GTB 0x00000007 92762306a36Sopenharmony_ci#define MEM_SIZE_6M_GTB 0x00000009 92862306a36Sopenharmony_ci#define MEM_SIZE_8M_GTB 0x0000000B 92962306a36Sopenharmony_ci#define MEM_BNDRY 0x00030000 93062306a36Sopenharmony_ci#define MEM_BNDRY_0K 0x00000000 93162306a36Sopenharmony_ci#define MEM_BNDRY_256K 0x00010000 93262306a36Sopenharmony_ci#define MEM_BNDRY_512K 0x00020000 93362306a36Sopenharmony_ci#define MEM_BNDRY_1M 0x00030000 93462306a36Sopenharmony_ci#define MEM_BNDRY_EN 0x00040000 93562306a36Sopenharmony_ci 93662306a36Sopenharmony_ci#define ONE_MB 0x100000 93762306a36Sopenharmony_ci/* ATI PCI constants */ 93862306a36Sopenharmony_ci#define PCI_ATI_VENDOR_ID 0x1002 93962306a36Sopenharmony_ci 94062306a36Sopenharmony_ci 94162306a36Sopenharmony_ci/* CNFG_CHIP_ID register constants */ 94262306a36Sopenharmony_ci#define CFG_CHIP_TYPE 0x0000FFFF 94362306a36Sopenharmony_ci#define CFG_CHIP_CLASS 0x00FF0000 94462306a36Sopenharmony_ci#define CFG_CHIP_REV 0xFF000000 94562306a36Sopenharmony_ci#define CFG_CHIP_MAJOR 0x07000000 94662306a36Sopenharmony_ci#define CFG_CHIP_FND_ID 0x38000000 94762306a36Sopenharmony_ci#define CFG_CHIP_MINOR 0xC0000000 94862306a36Sopenharmony_ci 94962306a36Sopenharmony_ci 95062306a36Sopenharmony_ci/* Chip IDs read from CNFG_CHIP_ID */ 95162306a36Sopenharmony_ci 95262306a36Sopenharmony_ci/* mach64GX family */ 95362306a36Sopenharmony_ci#define GX_CHIP_ID 0xD7 /* mach64GX (ATI888GX00) */ 95462306a36Sopenharmony_ci#define CX_CHIP_ID 0x57 /* mach64CX (ATI888CX00) */ 95562306a36Sopenharmony_ci 95662306a36Sopenharmony_ci#define GX_PCI_ID 0x4758 /* mach64GX (ATI888GX00) */ 95762306a36Sopenharmony_ci#define CX_PCI_ID 0x4358 /* mach64CX (ATI888CX00) */ 95862306a36Sopenharmony_ci 95962306a36Sopenharmony_ci/* mach64CT family */ 96062306a36Sopenharmony_ci#define CT_CHIP_ID 0x4354 /* mach64CT (ATI264CT) */ 96162306a36Sopenharmony_ci#define ET_CHIP_ID 0x4554 /* mach64ET (ATI264ET) */ 96262306a36Sopenharmony_ci 96362306a36Sopenharmony_ci/* mach64CT family / mach64VT class */ 96462306a36Sopenharmony_ci#define VT_CHIP_ID 0x5654 /* mach64VT (ATI264VT) */ 96562306a36Sopenharmony_ci#define VU_CHIP_ID 0x5655 /* mach64VTB (ATI264VTB) */ 96662306a36Sopenharmony_ci#define VV_CHIP_ID 0x5656 /* mach64VT4 (ATI264VT4) */ 96762306a36Sopenharmony_ci 96862306a36Sopenharmony_ci/* mach64CT family / mach64GT (3D RAGE) class */ 96962306a36Sopenharmony_ci#define LB_CHIP_ID 0x4c42 /* RAGE LT PRO, AGP */ 97062306a36Sopenharmony_ci#define LD_CHIP_ID 0x4c44 /* RAGE LT PRO */ 97162306a36Sopenharmony_ci#define LG_CHIP_ID 0x4c47 /* RAGE LT */ 97262306a36Sopenharmony_ci#define LI_CHIP_ID 0x4c49 /* RAGE LT PRO */ 97362306a36Sopenharmony_ci#define LP_CHIP_ID 0x4c50 /* RAGE LT PRO */ 97462306a36Sopenharmony_ci#define LT_CHIP_ID 0x4c54 /* RAGE LT */ 97562306a36Sopenharmony_ci 97662306a36Sopenharmony_ci/* mach64CT family / (Rage XL) class */ 97762306a36Sopenharmony_ci#define GR_CHIP_ID 0x4752 /* RAGE XL, BGA, PCI33 */ 97862306a36Sopenharmony_ci#define GS_CHIP_ID 0x4753 /* RAGE XL, PQFP, PCI33 */ 97962306a36Sopenharmony_ci#define GM_CHIP_ID 0x474d /* RAGE XL, BGA, AGP 1x,2x */ 98062306a36Sopenharmony_ci#define GN_CHIP_ID 0x474e /* RAGE XL, PQFP,AGP 1x,2x */ 98162306a36Sopenharmony_ci#define GO_CHIP_ID 0x474f /* RAGE XL, BGA, PCI66 */ 98262306a36Sopenharmony_ci#define GL_CHIP_ID 0x474c /* RAGE XL, PQFP, PCI66 */ 98362306a36Sopenharmony_ci 98462306a36Sopenharmony_ci#define IS_XL(id) ((id)==GR_CHIP_ID || (id)==GS_CHIP_ID || \ 98562306a36Sopenharmony_ci (id)==GM_CHIP_ID || (id)==GN_CHIP_ID || \ 98662306a36Sopenharmony_ci (id)==GO_CHIP_ID || (id)==GL_CHIP_ID) 98762306a36Sopenharmony_ci 98862306a36Sopenharmony_ci#define GT_CHIP_ID 0x4754 /* RAGE (GT) */ 98962306a36Sopenharmony_ci#define GU_CHIP_ID 0x4755 /* RAGE II/II+ (GTB) */ 99062306a36Sopenharmony_ci#define GV_CHIP_ID 0x4756 /* RAGE IIC, PCI */ 99162306a36Sopenharmony_ci#define GW_CHIP_ID 0x4757 /* RAGE IIC, AGP */ 99262306a36Sopenharmony_ci#define GZ_CHIP_ID 0x475a /* RAGE IIC, AGP */ 99362306a36Sopenharmony_ci#define GB_CHIP_ID 0x4742 /* RAGE PRO, BGA, AGP 1x and 2x */ 99462306a36Sopenharmony_ci#define GD_CHIP_ID 0x4744 /* RAGE PRO, BGA, AGP 1x only */ 99562306a36Sopenharmony_ci#define GI_CHIP_ID 0x4749 /* RAGE PRO, BGA, PCI33 only */ 99662306a36Sopenharmony_ci#define GP_CHIP_ID 0x4750 /* RAGE PRO, PQFP, PCI33, full 3D */ 99762306a36Sopenharmony_ci#define GQ_CHIP_ID 0x4751 /* RAGE PRO, PQFP, PCI33, limited 3D */ 99862306a36Sopenharmony_ci 99962306a36Sopenharmony_ci#define LM_CHIP_ID 0x4c4d /* RAGE Mobility AGP, full function */ 100062306a36Sopenharmony_ci#define LN_CHIP_ID 0x4c4e /* RAGE Mobility AGP */ 100162306a36Sopenharmony_ci#define LR_CHIP_ID 0x4c52 /* RAGE Mobility PCI, full function */ 100262306a36Sopenharmony_ci#define LS_CHIP_ID 0x4c53 /* RAGE Mobility PCI */ 100362306a36Sopenharmony_ci 100462306a36Sopenharmony_ci#define IS_MOBILITY(id) ((id)==LM_CHIP_ID || (id)==LN_CHIP_ID || \ 100562306a36Sopenharmony_ci (id)==LR_CHIP_ID || (id)==LS_CHIP_ID) 100662306a36Sopenharmony_ci/* Mach64 major ASIC revisions */ 100762306a36Sopenharmony_ci#define MACH64_ASIC_NEC_VT_A3 0x08 100862306a36Sopenharmony_ci#define MACH64_ASIC_NEC_VT_A4 0x48 100962306a36Sopenharmony_ci#define MACH64_ASIC_SGS_VT_A4 0x40 101062306a36Sopenharmony_ci#define MACH64_ASIC_SGS_VT_B1S1 0x01 101162306a36Sopenharmony_ci#define MACH64_ASIC_SGS_GT_B1S1 0x01 101262306a36Sopenharmony_ci#define MACH64_ASIC_SGS_GT_B1S2 0x41 101362306a36Sopenharmony_ci#define MACH64_ASIC_UMC_GT_B2U1 0x1a 101462306a36Sopenharmony_ci#define MACH64_ASIC_UMC_GT_B2U2 0x5a 101562306a36Sopenharmony_ci#define MACH64_ASIC_UMC_VT_B2U3 0x9a 101662306a36Sopenharmony_ci#define MACH64_ASIC_UMC_GT_B2U3 0x9a 101762306a36Sopenharmony_ci#define MACH64_ASIC_UMC_R3B_D_P_A1 0x1b 101862306a36Sopenharmony_ci#define MACH64_ASIC_UMC_R3B_D_P_A2 0x5b 101962306a36Sopenharmony_ci#define MACH64_ASIC_UMC_R3B_D_P_A3 0x1c 102062306a36Sopenharmony_ci#define MACH64_ASIC_UMC_R3B_D_P_A4 0x5c 102162306a36Sopenharmony_ci 102262306a36Sopenharmony_ci/* Mach64 foundries */ 102362306a36Sopenharmony_ci#define MACH64_FND_SGS 0 102462306a36Sopenharmony_ci#define MACH64_FND_NEC 1 102562306a36Sopenharmony_ci#define MACH64_FND_UMC 3 102662306a36Sopenharmony_ci 102762306a36Sopenharmony_ci/* Mach64 chip types */ 102862306a36Sopenharmony_ci#define MACH64_UNKNOWN 0 102962306a36Sopenharmony_ci#define MACH64_GX 1 103062306a36Sopenharmony_ci#define MACH64_CX 2 103162306a36Sopenharmony_ci#define MACH64_CT 3Restore 103262306a36Sopenharmony_ci#define MACH64_ET 4 103362306a36Sopenharmony_ci#define MACH64_VT 5 103462306a36Sopenharmony_ci#define MACH64_GT 6 103562306a36Sopenharmony_ci 103662306a36Sopenharmony_ci/* DST_CNTL register constants */ 103762306a36Sopenharmony_ci#define DST_X_RIGHT_TO_LEFT 0 103862306a36Sopenharmony_ci#define DST_X_LEFT_TO_RIGHT 1 103962306a36Sopenharmony_ci#define DST_Y_BOTTOM_TO_TOP 0 104062306a36Sopenharmony_ci#define DST_Y_TOP_TO_BOTTOM 2 104162306a36Sopenharmony_ci#define DST_X_MAJOR 0 104262306a36Sopenharmony_ci#define DST_Y_MAJOR 4 104362306a36Sopenharmony_ci#define DST_X_TILE 8 104462306a36Sopenharmony_ci#define DST_Y_TILE 0x10 104562306a36Sopenharmony_ci#define DST_LAST_PEL 0x20 104662306a36Sopenharmony_ci#define DST_POLYGON_ENABLE 0x40 104762306a36Sopenharmony_ci#define DST_24_ROTATION_ENABLE 0x80 104862306a36Sopenharmony_ci 104962306a36Sopenharmony_ci/* SRC_CNTL register constants */ 105062306a36Sopenharmony_ci#define SRC_PATTERN_ENABLE 1 105162306a36Sopenharmony_ci#define SRC_ROTATION_ENABLE 2 105262306a36Sopenharmony_ci#define SRC_LINEAR_ENABLE 4 105362306a36Sopenharmony_ci#define SRC_BYTE_ALIGN 8 105462306a36Sopenharmony_ci#define SRC_LINE_X_RIGHT_TO_LEFT 0 105562306a36Sopenharmony_ci#define SRC_LINE_X_LEFT_TO_RIGHT 0x10 105662306a36Sopenharmony_ci 105762306a36Sopenharmony_ci/* HOST_CNTL register constants */ 105862306a36Sopenharmony_ci#define HOST_BYTE_ALIGN 1 105962306a36Sopenharmony_ci 106062306a36Sopenharmony_ci/* GUI_TRAJ_CNTL register constants */ 106162306a36Sopenharmony_ci#define PAT_MONO_8x8_ENABLE 0x01000000 106262306a36Sopenharmony_ci#define PAT_CLR_4x2_ENABLE 0x02000000 106362306a36Sopenharmony_ci#define PAT_CLR_8x1_ENABLE 0x04000000 106462306a36Sopenharmony_ci 106562306a36Sopenharmony_ci/* DP_CHAIN_MASK register constants */ 106662306a36Sopenharmony_ci#define DP_CHAIN_4BPP 0x8888 106762306a36Sopenharmony_ci#define DP_CHAIN_7BPP 0xD2D2 106862306a36Sopenharmony_ci#define DP_CHAIN_8BPP 0x8080 106962306a36Sopenharmony_ci#define DP_CHAIN_8BPP_RGB 0x9292 107062306a36Sopenharmony_ci#define DP_CHAIN_15BPP 0x4210 107162306a36Sopenharmony_ci#define DP_CHAIN_16BPP 0x8410 107262306a36Sopenharmony_ci#define DP_CHAIN_24BPP 0x8080 107362306a36Sopenharmony_ci#define DP_CHAIN_32BPP 0x8080 107462306a36Sopenharmony_ci 107562306a36Sopenharmony_ci/* DP_PIX_WIDTH register constants */ 107662306a36Sopenharmony_ci#define DST_1BPP 0x0 107762306a36Sopenharmony_ci#define DST_4BPP 0x1 107862306a36Sopenharmony_ci#define DST_8BPP 0x2 107962306a36Sopenharmony_ci#define DST_15BPP 0x3 108062306a36Sopenharmony_ci#define DST_16BPP 0x4 108162306a36Sopenharmony_ci#define DST_24BPP 0x5 108262306a36Sopenharmony_ci#define DST_32BPP 0x6 108362306a36Sopenharmony_ci#define DST_MASK 0xF 108462306a36Sopenharmony_ci#define SRC_1BPP 0x000 108562306a36Sopenharmony_ci#define SRC_4BPP 0x100 108662306a36Sopenharmony_ci#define SRC_8BPP 0x200 108762306a36Sopenharmony_ci#define SRC_15BPP 0x300 108862306a36Sopenharmony_ci#define SRC_16BPP 0x400 108962306a36Sopenharmony_ci#define SRC_24BPP 0x500 109062306a36Sopenharmony_ci#define SRC_32BPP 0x600 109162306a36Sopenharmony_ci#define SRC_MASK 0xF00 109262306a36Sopenharmony_ci#define DP_HOST_TRIPLE_EN 0x2000 109362306a36Sopenharmony_ci#define HOST_1BPP 0x00000 109462306a36Sopenharmony_ci#define HOST_4BPP 0x10000 109562306a36Sopenharmony_ci#define HOST_8BPP 0x20000 109662306a36Sopenharmony_ci#define HOST_15BPP 0x30000 109762306a36Sopenharmony_ci#define HOST_16BPP 0x40000 109862306a36Sopenharmony_ci#define HOST_24BPP 0x50000 109962306a36Sopenharmony_ci#define HOST_32BPP 0x60000 110062306a36Sopenharmony_ci#define HOST_MASK 0xF0000 110162306a36Sopenharmony_ci#define BYTE_ORDER_MSB_TO_LSB 0 110262306a36Sopenharmony_ci#define BYTE_ORDER_LSB_TO_MSB 0x1000000 110362306a36Sopenharmony_ci#define BYTE_ORDER_MASK 0x1000000 110462306a36Sopenharmony_ci 110562306a36Sopenharmony_ci/* DP_MIX register constants */ 110662306a36Sopenharmony_ci#define BKGD_MIX_NOT_D 0 110762306a36Sopenharmony_ci#define BKGD_MIX_ZERO 1 110862306a36Sopenharmony_ci#define BKGD_MIX_ONE 2 110962306a36Sopenharmony_ci#define BKGD_MIX_D 3 111062306a36Sopenharmony_ci#define BKGD_MIX_NOT_S 4 111162306a36Sopenharmony_ci#define BKGD_MIX_D_XOR_S 5 111262306a36Sopenharmony_ci#define BKGD_MIX_NOT_D_XOR_S 6 111362306a36Sopenharmony_ci#define BKGD_MIX_S 7 111462306a36Sopenharmony_ci#define BKGD_MIX_NOT_D_OR_NOT_S 8 111562306a36Sopenharmony_ci#define BKGD_MIX_D_OR_NOT_S 9 111662306a36Sopenharmony_ci#define BKGD_MIX_NOT_D_OR_S 10 111762306a36Sopenharmony_ci#define BKGD_MIX_D_OR_S 11 111862306a36Sopenharmony_ci#define BKGD_MIX_D_AND_S 12 111962306a36Sopenharmony_ci#define BKGD_MIX_NOT_D_AND_S 13 112062306a36Sopenharmony_ci#define BKGD_MIX_D_AND_NOT_S 14 112162306a36Sopenharmony_ci#define BKGD_MIX_NOT_D_AND_NOT_S 15 112262306a36Sopenharmony_ci#define BKGD_MIX_D_PLUS_S_DIV2 0x17 112362306a36Sopenharmony_ci#define FRGD_MIX_NOT_D 0 112462306a36Sopenharmony_ci#define FRGD_MIX_ZERO 0x10000 112562306a36Sopenharmony_ci#define FRGD_MIX_ONE 0x20000 112662306a36Sopenharmony_ci#define FRGD_MIX_D 0x30000 112762306a36Sopenharmony_ci#define FRGD_MIX_NOT_S 0x40000 112862306a36Sopenharmony_ci#define FRGD_MIX_D_XOR_S 0x50000 112962306a36Sopenharmony_ci#define FRGD_MIX_NOT_D_XOR_S 0x60000 113062306a36Sopenharmony_ci#define FRGD_MIX_S 0x70000 113162306a36Sopenharmony_ci#define FRGD_MIX_NOT_D_OR_NOT_S 0x80000 113262306a36Sopenharmony_ci#define FRGD_MIX_D_OR_NOT_S 0x90000 113362306a36Sopenharmony_ci#define FRGD_MIX_NOT_D_OR_S 0xa0000 113462306a36Sopenharmony_ci#define FRGD_MIX_D_OR_S 0xb0000 113562306a36Sopenharmony_ci#define FRGD_MIX_D_AND_S 0xc0000 113662306a36Sopenharmony_ci#define FRGD_MIX_NOT_D_AND_S 0xd0000 113762306a36Sopenharmony_ci#define FRGD_MIX_D_AND_NOT_S 0xe0000 113862306a36Sopenharmony_ci#define FRGD_MIX_NOT_D_AND_NOT_S 0xf0000 113962306a36Sopenharmony_ci#define FRGD_MIX_D_PLUS_S_DIV2 0x170000 114062306a36Sopenharmony_ci 114162306a36Sopenharmony_ci/* DP_SRC register constants */ 114262306a36Sopenharmony_ci#define BKGD_SRC_BKGD_CLR 0 114362306a36Sopenharmony_ci#define BKGD_SRC_FRGD_CLR 1 114462306a36Sopenharmony_ci#define BKGD_SRC_HOST 2 114562306a36Sopenharmony_ci#define BKGD_SRC_BLIT 3 114662306a36Sopenharmony_ci#define BKGD_SRC_PATTERN 4 114762306a36Sopenharmony_ci#define FRGD_SRC_BKGD_CLR 0 114862306a36Sopenharmony_ci#define FRGD_SRC_FRGD_CLR 0x100 114962306a36Sopenharmony_ci#define FRGD_SRC_HOST 0x200 115062306a36Sopenharmony_ci#define FRGD_SRC_BLIT 0x300 115162306a36Sopenharmony_ci#define FRGD_SRC_PATTERN 0x400 115262306a36Sopenharmony_ci#define MONO_SRC_ONE 0 115362306a36Sopenharmony_ci#define MONO_SRC_PATTERN 0x10000 115462306a36Sopenharmony_ci#define MONO_SRC_HOST 0x20000 115562306a36Sopenharmony_ci#define MONO_SRC_BLIT 0x30000 115662306a36Sopenharmony_ci 115762306a36Sopenharmony_ci/* CLR_CMP_CNTL register constants */ 115862306a36Sopenharmony_ci#define COMPARE_FALSE 0 115962306a36Sopenharmony_ci#define COMPARE_TRUE 1 116062306a36Sopenharmony_ci#define COMPARE_NOT_EQUAL 4 116162306a36Sopenharmony_ci#define COMPARE_EQUAL 5 116262306a36Sopenharmony_ci#define COMPARE_DESTINATION 0 116362306a36Sopenharmony_ci#define COMPARE_SOURCE 0x1000000 116462306a36Sopenharmony_ci 116562306a36Sopenharmony_ci/* FIFO_STAT register constants */ 116662306a36Sopenharmony_ci#define FIFO_ERR 0x80000000 116762306a36Sopenharmony_ci 116862306a36Sopenharmony_ci/* CONTEXT_LOAD_CNTL constants */ 116962306a36Sopenharmony_ci#define CONTEXT_NO_LOAD 0 117062306a36Sopenharmony_ci#define CONTEXT_LOAD 0x10000 117162306a36Sopenharmony_ci#define CONTEXT_LOAD_AND_DO_FILL 0x20000 117262306a36Sopenharmony_ci#define CONTEXT_LOAD_AND_DO_LINE 0x30000 117362306a36Sopenharmony_ci#define CONTEXT_EXECUTE 0 117462306a36Sopenharmony_ci#define CONTEXT_CMD_DISABLE 0x80000000 117562306a36Sopenharmony_ci 117662306a36Sopenharmony_ci/* GUI_STAT register constants */ 117762306a36Sopenharmony_ci#define ENGINE_IDLE 0 117862306a36Sopenharmony_ci#define ENGINE_BUSY 1 117962306a36Sopenharmony_ci#define SCISSOR_LEFT_FLAG 0x10 118062306a36Sopenharmony_ci#define SCISSOR_RIGHT_FLAG 0x20 118162306a36Sopenharmony_ci#define SCISSOR_TOP_FLAG 0x40 118262306a36Sopenharmony_ci#define SCISSOR_BOTTOM_FLAG 0x80 118362306a36Sopenharmony_ci 118462306a36Sopenharmony_ci/* ATI VGA Extended Regsiters */ 118562306a36Sopenharmony_ci#define sioATIEXT 0x1ce 118662306a36Sopenharmony_ci#define bioATIEXT 0x3ce 118762306a36Sopenharmony_ci 118862306a36Sopenharmony_ci#define ATI2E 0xae 118962306a36Sopenharmony_ci#define ATI32 0xb2 119062306a36Sopenharmony_ci#define ATI36 0xb6 119162306a36Sopenharmony_ci 119262306a36Sopenharmony_ci/* VGA Graphics Controller Registers */ 119362306a36Sopenharmony_ci#define R_GENMO 0x3cc 119462306a36Sopenharmony_ci#define VGAGRA 0x3ce 119562306a36Sopenharmony_ci#define GRA06 0x06 119662306a36Sopenharmony_ci 119762306a36Sopenharmony_ci/* VGA Seququencer Registers */ 119862306a36Sopenharmony_ci#define VGASEQ 0x3c4 119962306a36Sopenharmony_ci#define SEQ02 0x02 120062306a36Sopenharmony_ci#define SEQ04 0x04 120162306a36Sopenharmony_ci 120262306a36Sopenharmony_ci#define MACH64_MAX_X ENGINE_MAX_X 120362306a36Sopenharmony_ci#define MACH64_MAX_Y ENGINE_MAX_Y 120462306a36Sopenharmony_ci 120562306a36Sopenharmony_ci#define INC_X 0x0020 120662306a36Sopenharmony_ci#define INC_Y 0x0080 120762306a36Sopenharmony_ci 120862306a36Sopenharmony_ci#define RGB16_555 0x0000 120962306a36Sopenharmony_ci#define RGB16_565 0x0040 121062306a36Sopenharmony_ci#define RGB16_655 0x0080 121162306a36Sopenharmony_ci#define RGB16_664 0x00c0 121262306a36Sopenharmony_ci 121362306a36Sopenharmony_ci#define POLY_TEXT_TYPE 0x0001 121462306a36Sopenharmony_ci#define IMAGE_TEXT_TYPE 0x0002 121562306a36Sopenharmony_ci#define TEXT_TYPE_8_BIT 0x0004 121662306a36Sopenharmony_ci#define TEXT_TYPE_16_BIT 0x0008 121762306a36Sopenharmony_ci#define POLY_TEXT_TYPE_8 (POLY_TEXT_TYPE | TEXT_TYPE_8_BIT) 121862306a36Sopenharmony_ci#define IMAGE_TEXT_TYPE_8 (IMAGE_TEXT_TYPE | TEXT_TYPE_8_BIT) 121962306a36Sopenharmony_ci#define POLY_TEXT_TYPE_16 (POLY_TEXT_TYPE | TEXT_TYPE_16_BIT) 122062306a36Sopenharmony_ci#define IMAGE_TEXT_TYPE_16 (IMAGE_TEXT_TYPE | TEXT_TYPE_16_BIT) 122162306a36Sopenharmony_ci 122262306a36Sopenharmony_ci#define MACH64_NUM_CLOCKS 16 122362306a36Sopenharmony_ci#define MACH64_NUM_FREQS 50 122462306a36Sopenharmony_ci 122562306a36Sopenharmony_ci/* Power Management register constants (LT & LT Pro) */ 122662306a36Sopenharmony_ci#define PWR_MGT_ON 0x00000001 122762306a36Sopenharmony_ci#define PWR_MGT_MODE_MASK 0x00000006 122862306a36Sopenharmony_ci#define AUTO_PWR_UP 0x00000008 122962306a36Sopenharmony_ci#define USE_F32KHZ 0x00000400 123062306a36Sopenharmony_ci#define TRISTATE_MEM_EN 0x00000800 123162306a36Sopenharmony_ci#define SELF_REFRESH 0x00000080 123262306a36Sopenharmony_ci#define PWR_BLON 0x02000000 123362306a36Sopenharmony_ci#define STANDBY_NOW 0x10000000 123462306a36Sopenharmony_ci#define SUSPEND_NOW 0x20000000 123562306a36Sopenharmony_ci#define PWR_MGT_STATUS_MASK 0xC0000000 123662306a36Sopenharmony_ci#define PWR_MGT_STATUS_SUSPEND 0x80000000 123762306a36Sopenharmony_ci 123862306a36Sopenharmony_ci/* PM Mode constants */ 123962306a36Sopenharmony_ci#define PWR_MGT_MODE_PIN 0x00000000 124062306a36Sopenharmony_ci#define PWR_MGT_MODE_REG 0x00000002 124162306a36Sopenharmony_ci#define PWR_MGT_MODE_TIMER 0x00000004 124262306a36Sopenharmony_ci#define PWR_MGT_MODE_PCI 0x00000006 124362306a36Sopenharmony_ci 124462306a36Sopenharmony_ci/* LCD registers (LT Pro) */ 124562306a36Sopenharmony_ci 124662306a36Sopenharmony_ci/* LCD Index register */ 124762306a36Sopenharmony_ci#define LCD_INDEX_MASK 0x0000003F 124862306a36Sopenharmony_ci#define LCD_DISPLAY_DIS 0x00000100 124962306a36Sopenharmony_ci#define LCD_SRC_SEL 0x00000200 125062306a36Sopenharmony_ci#define CRTC2_DISPLAY_DIS 0x00000400 125162306a36Sopenharmony_ci 125262306a36Sopenharmony_ci/* LCD register indices */ 125362306a36Sopenharmony_ci#define CNFG_PANEL 0x00 125462306a36Sopenharmony_ci#define LCD_GEN_CNTL 0x01 125562306a36Sopenharmony_ci#define DSTN_CONTROL 0x02 125662306a36Sopenharmony_ci#define HFB_PITCH_ADDR 0x03 125762306a36Sopenharmony_ci#define HORZ_STRETCHING 0x04 125862306a36Sopenharmony_ci#define VERT_STRETCHING 0x05 125962306a36Sopenharmony_ci#define EXT_VERT_STRETCH 0x06 126062306a36Sopenharmony_ci#define LT_GIO 0x07 126162306a36Sopenharmony_ci#define POWER_MANAGEMENT 0x08 126262306a36Sopenharmony_ci#define ZVGPIO 0x09 126362306a36Sopenharmony_ci#define ICON_CLR0 0x0A 126462306a36Sopenharmony_ci#define ICON_CLR1 0x0B 126562306a36Sopenharmony_ci#define ICON_OFFSET 0x0C 126662306a36Sopenharmony_ci#define ICON_HORZ_VERT_POSN 0x0D 126762306a36Sopenharmony_ci#define ICON_HORZ_VERT_OFF 0x0E 126862306a36Sopenharmony_ci#define ICON2_CLR0 0x0F 126962306a36Sopenharmony_ci#define ICON2_CLR1 0x10 127062306a36Sopenharmony_ci#define ICON2_OFFSET 0x11 127162306a36Sopenharmony_ci#define ICON2_HORZ_VERT_POSN 0x12 127262306a36Sopenharmony_ci#define ICON2_HORZ_VERT_OFF 0x13 127362306a36Sopenharmony_ci#define LCD_MISC_CNTL 0x14 127462306a36Sopenharmony_ci#define APC_CNTL 0x1C 127562306a36Sopenharmony_ci#define POWER_MANAGEMENT_2 0x1D 127662306a36Sopenharmony_ci#define ALPHA_BLENDING 0x25 127762306a36Sopenharmony_ci#define PORTRAIT_GEN_CNTL 0x26 127862306a36Sopenharmony_ci#define APC_CTRL_IO 0x27 127962306a36Sopenharmony_ci#define TEST_IO 0x28 128062306a36Sopenharmony_ci#define TEST_OUTPUTS 0x29 128162306a36Sopenharmony_ci#define DP1_MEM_ACCESS 0x2A 128262306a36Sopenharmony_ci#define DP0_MEM_ACCESS 0x2B 128362306a36Sopenharmony_ci#define DP0_DEBUG_A 0x2C 128462306a36Sopenharmony_ci#define DP0_DEBUG_B 0x2D 128562306a36Sopenharmony_ci#define DP1_DEBUG_A 0x2E 128662306a36Sopenharmony_ci#define DP1_DEBUG_B 0x2F 128762306a36Sopenharmony_ci#define DPCTRL_DEBUG_A 0x30 128862306a36Sopenharmony_ci#define DPCTRL_DEBUG_B 0x31 128962306a36Sopenharmony_ci#define MEMBLK_DEBUG 0x32 129062306a36Sopenharmony_ci#define APC_LUT_AB 0x33 129162306a36Sopenharmony_ci#define APC_LUT_CD 0x34 129262306a36Sopenharmony_ci#define APC_LUT_EF 0x35 129362306a36Sopenharmony_ci#define APC_LUT_GH 0x36 129462306a36Sopenharmony_ci#define APC_LUT_IJ 0x37 129562306a36Sopenharmony_ci#define APC_LUT_KL 0x38 129662306a36Sopenharmony_ci#define APC_LUT_MN 0x39 129762306a36Sopenharmony_ci#define APC_LUT_OP 0x3A 129862306a36Sopenharmony_ci 129962306a36Sopenharmony_ci/* Values in LCD_GEN_CTRL */ 130062306a36Sopenharmony_ci#define CRT_ON 0x00000001ul 130162306a36Sopenharmony_ci#define LCD_ON 0x00000002ul 130262306a36Sopenharmony_ci#define HORZ_DIVBY2_EN 0x00000004ul 130362306a36Sopenharmony_ci#define DONT_DS_ICON 0x00000008ul 130462306a36Sopenharmony_ci#define LOCK_8DOT 0x00000010ul 130562306a36Sopenharmony_ci#define ICON_ENABLE 0x00000020ul 130662306a36Sopenharmony_ci#define DONT_SHADOW_VPAR 0x00000040ul 130762306a36Sopenharmony_ci#define V2CLK_PM_EN 0x00000080ul 130862306a36Sopenharmony_ci#define RST_FM 0x00000100ul 130962306a36Sopenharmony_ci#define DISABLE_PCLK_RESET 0x00000200ul /* XC/XL */ 131062306a36Sopenharmony_ci#define DIS_HOR_CRT_DIVBY2 0x00000400ul 131162306a36Sopenharmony_ci#define SCLK_SEL 0x00000800ul 131262306a36Sopenharmony_ci#define SCLK_DELAY 0x0000f000ul 131362306a36Sopenharmony_ci#define TVCLK_PM_EN 0x00010000ul 131462306a36Sopenharmony_ci#define VCLK_DAC_PM_EN 0x00020000ul 131562306a36Sopenharmony_ci#define VCLK_LCD_OFF 0x00040000ul 131662306a36Sopenharmony_ci#define SELECT_WAIT_4MS 0x00080000ul 131762306a36Sopenharmony_ci#define XTALIN_PM_EN 0x00080000ul /* XC/XL */ 131862306a36Sopenharmony_ci#define V2CLK_DAC_PM_EN 0x00100000ul 131962306a36Sopenharmony_ci#define LVDS_EN 0x00200000ul 132062306a36Sopenharmony_ci#define LVDS_PLL_EN 0x00400000ul 132162306a36Sopenharmony_ci#define LVDS_PLL_RESET 0x00800000ul 132262306a36Sopenharmony_ci#define LVDS_RESERVED_BITS 0x07000000ul 132362306a36Sopenharmony_ci#define CRTC_RW_SELECT 0x08000000ul /* LTPro */ 132462306a36Sopenharmony_ci#define USE_SHADOWED_VEND 0x10000000ul 132562306a36Sopenharmony_ci#define USE_SHADOWED_ROWCUR 0x20000000ul 132662306a36Sopenharmony_ci#define SHADOW_EN 0x40000000ul 132762306a36Sopenharmony_ci#define SHADOW_RW_EN 0x80000000ul 132862306a36Sopenharmony_ci 132962306a36Sopenharmony_ci#define LCD_SET_PRIMARY_MASK 0x07FFFBFBul 133062306a36Sopenharmony_ci 133162306a36Sopenharmony_ci/* Values in HORZ_STRETCHING */ 133262306a36Sopenharmony_ci#define HORZ_STRETCH_BLEND 0x00000ffful 133362306a36Sopenharmony_ci#define HORZ_STRETCH_RATIO 0x0000fffful 133462306a36Sopenharmony_ci#define HORZ_STRETCH_LOOP 0x00070000ul 133562306a36Sopenharmony_ci#define HORZ_STRETCH_LOOP09 0x00000000ul 133662306a36Sopenharmony_ci#define HORZ_STRETCH_LOOP11 0x00010000ul 133762306a36Sopenharmony_ci#define HORZ_STRETCH_LOOP12 0x00020000ul 133862306a36Sopenharmony_ci#define HORZ_STRETCH_LOOP14 0x00030000ul 133962306a36Sopenharmony_ci#define HORZ_STRETCH_LOOP15 0x00040000ul 134062306a36Sopenharmony_ci/* ? 0x00050000ul */ 134162306a36Sopenharmony_ci/* ? 0x00060000ul */ 134262306a36Sopenharmony_ci/* ? 0x00070000ul */ 134362306a36Sopenharmony_ci/* ? 0x00080000ul */ 134462306a36Sopenharmony_ci#define HORZ_PANEL_SIZE 0x0ff00000ul /* XC/XL */ 134562306a36Sopenharmony_ci/* ? 0x10000000ul */ 134662306a36Sopenharmony_ci#define AUTO_HORZ_RATIO 0x20000000ul /* XC/XL */ 134762306a36Sopenharmony_ci#define HORZ_STRETCH_MODE 0x40000000ul 134862306a36Sopenharmony_ci#define HORZ_STRETCH_EN 0x80000000ul 134962306a36Sopenharmony_ci 135062306a36Sopenharmony_ci/* Values in VERT_STRETCHING */ 135162306a36Sopenharmony_ci#define VERT_STRETCH_RATIO0 0x000003fful 135262306a36Sopenharmony_ci#define VERT_STRETCH_RATIO1 0x000ffc00ul 135362306a36Sopenharmony_ci#define VERT_STRETCH_RATIO2 0x3ff00000ul 135462306a36Sopenharmony_ci#define VERT_STRETCH_USE0 0x40000000ul 135562306a36Sopenharmony_ci#define VERT_STRETCH_EN 0x80000000ul 135662306a36Sopenharmony_ci 135762306a36Sopenharmony_ci/* Values in EXT_VERT_STRETCH */ 135862306a36Sopenharmony_ci#define VERT_STRETCH_RATIO3 0x000003fful 135962306a36Sopenharmony_ci#define FORCE_DAC_DATA 0x000000fful 136062306a36Sopenharmony_ci#define FORCE_DAC_DATA_SEL 0x00000300ul 136162306a36Sopenharmony_ci#define VERT_STRETCH_MODE 0x00000400ul 136262306a36Sopenharmony_ci#define VERT_PANEL_SIZE 0x003ff800ul 136362306a36Sopenharmony_ci#define AUTO_VERT_RATIO 0x00400000ul 136462306a36Sopenharmony_ci#define USE_AUTO_FP_POS 0x00800000ul 136562306a36Sopenharmony_ci#define USE_AUTO_LCD_VSYNC 0x01000000ul 136662306a36Sopenharmony_ci/* ? 0xfe000000ul */ 136762306a36Sopenharmony_ci 136862306a36Sopenharmony_ci/* Values in LCD_MISC_CNTL */ 136962306a36Sopenharmony_ci#define BIAS_MOD_LEVEL_MASK 0x0000ff00 137062306a36Sopenharmony_ci#define BIAS_MOD_LEVEL_SHIFT 8 137162306a36Sopenharmony_ci#define BLMOD_EN 0x00010000 137262306a36Sopenharmony_ci#define BIASMOD_EN 0x00020000 137362306a36Sopenharmony_ci 137462306a36Sopenharmony_ci#endif /* REGMACH64_H */ 1375