1/* 2 Copyright (c) 2002, Thomas Kurschel 3 4 5 Part of Radeon driver 6 7 Flat Panel controller registers 8*/ 9 10#ifndef _FP_REGS_H 11#define _FP_REGS_H 12 13#define RADEON_FP_CRTC_H_TOTAL_DISP 0x0250 14#define RADEON_FP_CRTC_V_TOTAL_DISP 0x0254 15#define RADEON_FP_GEN_CNTL 0x0284 16# define RADEON_FP_FPON (1 << 0) 17# define RADEON_FP_TMDS_EN (1 << 2) 18# define RADEON_FP_PANEL_FORMAT (1 << 3) 19# define RADEON_FP_EN_TMDS (1 << 7) 20# define RADEON_FP_DETECT_SENSE (1 << 8) 21# define RADEON_FP_SEL_CRTC2 (1 << 13) 22# define RADEON_FP_CRTC_DONT_SHADOW_HPAR (1 << 15) 23# define RADEON_FP_CRTC_DONT_SHADOW_VPAR (1 << 16) 24# define RADEON_FP_CRTC_DONT_SHADOW_HEND (1 << 17) 25# define RADEON_FP_CRTC_USE_SHADOW_VEND (1 << 18) 26# define RADEON_FP_RMX_HVSYNC_CONTROL_EN (1 << 20) 27# define RADEON_FP_DFP_SYNC_SEL (1 << 21) 28# define RADEON_FP_CRTC_LOCK_8DOT (1 << 22) 29# define RADEON_FP_CRT_SYNC_SEL (1 << 23) 30# define RADEON_FP_USE_SHADOW_EN (1 << 24) 31# define RADEON_FP_CRT_SYNC_ALT (1 << 26) 32#define RADEON_FP2_GEN_CNTL 0x0288 33# define RADEON_FP2_BLANK_EN (1 << 1) 34# define RADEON_FP2_FPON (1 << 2) 35# define RADEON_FP2_PANEL_FORMAT (1 << 3) 36# define RADEON_FP2_SOURCE_SEL_MASK (3 << 10) 37# define RADEON_FP2_SOURCE_SEL_CRTC2 (1 << 10) 38# define RADEON_FP2_SOURCE_SEL_RMX (2 << 10) 39# define RADEON_FP2_SRC_SEL_MASK (3 << 13) 40# define RADEON_FP2_SRC_SEL_CRTC2 (1 << 13) 41# define RADEON_FP2_FP_POL (1 << 16) 42# define RADEON_FP2_LP_POL (1 << 17) 43# define RADEON_FP2_SCK_POL (1 << 18) 44# define RADEON_FP2_LCD_CNTL_MASK (7 << 19) 45# define RADEON_FP2_PAD_FLOP_EN (1 << 22) 46# define RADEON_FP2_CRC_EN (1 << 23) 47# define RADEON_FP2_CRC_READ_EN (1 << 24) 48# define RADEON_FP2_DV0_EN (1 << 25) 49# define RADEON_FP2_DV0_RATE_SEL_SDR (1 << 26) 50#define RADEON_FP_HORZ_STRETCH 0x028c 51# define RADEON_HORZ_STRETCH_RATIO_MASK 0xffff 52# define RADEON_HORZ_STRETCH_RATIO_MAX 4096 53# define RADEON_HORZ_PANEL_SIZE (0x1ff << 16) 54# define RADEON_HORZ_PANEL_SIZE_SHIFT 16 55# define RADEON_HORZ_STRETCH_PIXREP (0 << 25) 56# define RADEON_HORZ_STRETCH_BLEND (1 << 26) 57# define RADEON_HORZ_STRETCH_ENABLE (1 << 25) 58# define RADEON_HORZ_AUTO_RATIO (1 << 27) 59# define RADEON_HORZ_FP_LOOP_STRETCH (0x7 << 28) 60# define RADEON_HORZ_AUTO_RATIO_INC (1 << 31) 61#define RADEON_FP_VERT_STRETCH 0x0290 62# define RADEON_VERT_PANEL_SIZE (0xfff << 12) 63# define RADEON_VERT_PANEL_SIZE_SHIFT 12 64# define RADEON_VERT_STRETCH_RATIO_MASK 0xfff 65# define RADEON_VERT_STRETCH_RATIO_SHIFT 0 66# define RADEON_VERT_STRETCH_RATIO_MAX 4096 67# define RADEON_VERT_STRETCH_ENABLE (1 << 25) 68# define RADEON_VERT_STRETCH_LINEREP (0 << 26) 69# define RADEON_VERT_STRETCH_BLEND (1 << 26) 70# define RADEON_VERT_AUTO_RATIO_EN (1 << 27) 71# define RADEON_VERT_STRETCH_RESERVED 0xf1000000 72 73#define RADEON_TMDS_PLL_CNTL 0x02a8 74#define RADEON_TMDS_TRANSMITTER_CNTL 0x02a4 75# define RADEON_TMDS_TRANSMITTER_PLLEN 1 76# define RADEON_TMDS_TRANSMITTER_PLLRST 2 77 78#define RADEON_FP_H_SYNC_STRT_WID 0x02c4 79#define RADEON_FP_V_SYNC_STRT_WID 0x02c8 80 81#define RADEON_LVDS_GEN_CNTL 0x02d0 82# define RADEON_LVDS_ON (1 << 0) 83# define RADEON_LVDS_DISPLAY_DIS (1 << 1) 84# define RADEON_LVDS_PANEL_TYPE (1 << 2) 85# define RADEON_LVDS_PANEL_FORMAT (1 << 3) 86# define RADEON_LVDS_EN (1 << 7) 87# define RADEON_LVDS_DIGON (1 << 18) 88# define RADEON_LVDS_BLON (1 << 19) 89# define RADEON_LVDS_SEL_CRTC2 (1 << 23) 90#define RADEON_LVDS_PLL_CNTL 0x02d4 91# define RADEON_HSYNC_DELAY_SHIFT 28 92# define RADEON_HSYNC_DELAY_MASK (0xf << 28) 93 94#define RADEON_FP_CRTC2_H_TOTAL_DISP 0x0350 95#define RADEON_FP_CRTC2_V_TOTAL_DISP 0x0354 96/*added for FP support------------------------------------------*/ 97# define RADEON_FP_CRTC_H_TOTAL_MASK 0x000003ff 98# define RADEON_FP_CRTC_H_DISP_MASK 0x01ff0000 99# define RADEON_FP_CRTC_V_TOTAL_MASK 0x00000fff 100# define RADEON_FP_CRTC_V_DISP_MASK 0x0fff0000 101# define RADEON_FP_H_SYNC_STRT_CHAR_MASK 0x00001ff8 102# define RADEON_FP_H_SYNC_WID_MASK 0x003f0000 103# define RADEON_FP_V_SYNC_STRT_MASK 0x00000fff 104# define RADEON_FP_V_SYNC_WID_MASK 0x001f0000 105# define RADEON_FP_CRTC_H_TOTAL_SHIFT 0x00000000 106# define RADEON_FP_CRTC_H_DISP_SHIFT 0x00000010 107# define RADEON_FP_CRTC_V_TOTAL_SHIFT 0x00000000 108# define RADEON_FP_CRTC_V_DISP_SHIFT 0x00000010 109# define RADEON_FP_H_SYNC_STRT_CHAR_SHIFT 0x00000003 110# define RADEON_FP_H_SYNC_WID_SHIFT 0x00000010 111# define RADEON_FP_V_SYNC_STRT_SHIFT 0x00000000 112# define RADEON_FP_V_SYNC_WID_SHIFT 0x00000010 113/*-----------------------------------------------------------------*/ 114 115#define RADEON_FP_HORZ2_STRETCH 0x038c 116#define RADEON_FP_VERT2_STRETCH 0x0390 117#define RADEON_FP_H2_SYNC_STRT_WID 0x03c4 118 119#define RADEON_FP_V2_SYNC_STRT_WID 0x03c8 120 121#define RADEON_BIOS_0_SCRATCH 0x0010 122#define RADEON_BIOS_1_SCRATCH 0x0014 123#define RADEON_BIOS_2_SCRATCH 0x0018 124#define RADEON_BIOS_3_SCRATCH 0x001c 125#define RADEON_BIOS_4_SCRATCH 0x0020 126#define RADEON_BIOS_5_SCRATCH 0x0024 127#define RADEON_BIOS_6_SCRATCH 0x0028 128#define RADEON_BIOS_7_SCRATCH 0x002c 129 130#endif 131