f9a5b215cd
this should fix bug #1293. I've tested it here on two machines, one works better now, the other stayed the same (Radeon 9250, and a laptop FireGL (id 4c66) version). This apparently also fixed bug #1394. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21930 a95241bf-73f2-0310-859d-f6bbb57e9c96
131 lines
6.1 KiB
C
131 lines
6.1 KiB
C
/*
|
|
Copyright (c) 2002, Thomas Kurschel
|
|
|
|
|
|
Part of Radeon driver
|
|
|
|
Flat Panel controller registers
|
|
*/
|
|
|
|
#ifndef _FP_REGS_H
|
|
#define _FP_REGS_H
|
|
|
|
#define RADEON_FP_CRTC_H_TOTAL_DISP 0x0250
|
|
#define RADEON_FP_CRTC_V_TOTAL_DISP 0x0254
|
|
#define RADEON_FP_GEN_CNTL 0x0284
|
|
# define RADEON_FP_FPON (1 << 0)
|
|
# define RADEON_FP_TMDS_EN (1 << 2)
|
|
# define RADEON_FP_PANEL_FORMAT (1 << 3)
|
|
# define RADEON_FP_EN_TMDS (1 << 7)
|
|
# define RADEON_FP_DETECT_SENSE (1 << 8)
|
|
# define RADEON_FP_SEL_CRTC2 (1 << 13)
|
|
# define RADEON_FP_CRTC_DONT_SHADOW_HPAR (1 << 15)
|
|
# define RADEON_FP_CRTC_DONT_SHADOW_VPAR (1 << 16)
|
|
# define RADEON_FP_CRTC_DONT_SHADOW_HEND (1 << 17)
|
|
# define RADEON_FP_CRTC_USE_SHADOW_VEND (1 << 18)
|
|
# define RADEON_FP_RMX_HVSYNC_CONTROL_EN (1 << 20)
|
|
# define RADEON_FP_DFP_SYNC_SEL (1 << 21)
|
|
# define RADEON_FP_CRTC_LOCK_8DOT (1 << 22)
|
|
# define RADEON_FP_CRT_SYNC_SEL (1 << 23)
|
|
# define RADEON_FP_USE_SHADOW_EN (1 << 24)
|
|
# define RADEON_FP_CRT_SYNC_ALT (1 << 26)
|
|
#define RADEON_FP2_GEN_CNTL 0x0288
|
|
# define RADEON_FP2_BLANK_EN (1 << 1)
|
|
# define RADEON_FP2_FPON (1 << 2)
|
|
# define RADEON_FP2_PANEL_FORMAT (1 << 3)
|
|
# define RADEON_FP2_SOURCE_SEL_MASK (3 << 10)
|
|
# define RADEON_FP2_SOURCE_SEL_CRTC2 (1 << 10)
|
|
# define RADEON_FP2_SOURCE_SEL_RMX (2 << 10)
|
|
# define RADEON_FP2_SRC_SEL_MASK (3 << 13)
|
|
# define RADEON_FP2_SRC_SEL_CRTC2 (1 << 13)
|
|
# define RADEON_FP2_FP_POL (1 << 16)
|
|
# define RADEON_FP2_LP_POL (1 << 17)
|
|
# define RADEON_FP2_SCK_POL (1 << 18)
|
|
# define RADEON_FP2_LCD_CNTL_MASK (7 << 19)
|
|
# define RADEON_FP2_PAD_FLOP_EN (1 << 22)
|
|
# define RADEON_FP2_CRC_EN (1 << 23)
|
|
# define RADEON_FP2_CRC_READ_EN (1 << 24)
|
|
# define RADEON_FP2_DV0_EN (1 << 25)
|
|
# define RADEON_FP2_DV0_RATE_SEL_SDR (1 << 26)
|
|
#define RADEON_FP_HORZ_STRETCH 0x028c
|
|
# define RADEON_HORZ_STRETCH_RATIO_MASK 0xffff
|
|
# define RADEON_HORZ_STRETCH_RATIO_MAX 4096
|
|
# define RADEON_HORZ_PANEL_SIZE (0x1ff << 16)
|
|
# define RADEON_HORZ_PANEL_SIZE_SHIFT 16
|
|
# define RADEON_HORZ_STRETCH_PIXREP (0 << 25)
|
|
# define RADEON_HORZ_STRETCH_BLEND (1 << 26)
|
|
# define RADEON_HORZ_STRETCH_ENABLE (1 << 25)
|
|
# define RADEON_HORZ_AUTO_RATIO (1 << 27)
|
|
# define RADEON_HORZ_FP_LOOP_STRETCH (0x7 << 28)
|
|
# define RADEON_HORZ_AUTO_RATIO_INC (1 << 31)
|
|
#define RADEON_FP_VERT_STRETCH 0x0290
|
|
# define RADEON_VERT_PANEL_SIZE (0xfff << 12)
|
|
# define RADEON_VERT_PANEL_SIZE_SHIFT 12
|
|
# define RADEON_VERT_STRETCH_RATIO_MASK 0xfff
|
|
# define RADEON_VERT_STRETCH_RATIO_SHIFT 0
|
|
# define RADEON_VERT_STRETCH_RATIO_MAX 4096
|
|
# define RADEON_VERT_STRETCH_ENABLE (1 << 25)
|
|
# define RADEON_VERT_STRETCH_LINEREP (0 << 26)
|
|
# define RADEON_VERT_STRETCH_BLEND (1 << 26)
|
|
# define RADEON_VERT_AUTO_RATIO_EN (1 << 27)
|
|
# define RADEON_VERT_STRETCH_RESERVED 0xf1000000
|
|
|
|
#define RADEON_TMDS_PLL_CNTL 0x02a8
|
|
#define RADEON_TMDS_TRANSMITTER_CNTL 0x02a4
|
|
# define RADEON_TMDS_TRANSMITTER_PLLEN 1
|
|
# define RADEON_TMDS_TRANSMITTER_PLLRST 2
|
|
|
|
#define RADEON_FP_H_SYNC_STRT_WID 0x02c4
|
|
#define RADEON_FP_V_SYNC_STRT_WID 0x02c8
|
|
|
|
#define RADEON_LVDS_GEN_CNTL 0x02d0
|
|
# define RADEON_LVDS_ON (1 << 0)
|
|
# define RADEON_LVDS_DISPLAY_DIS (1 << 1)
|
|
# define RADEON_LVDS_PANEL_TYPE (1 << 2)
|
|
# define RADEON_LVDS_PANEL_FORMAT (1 << 3)
|
|
# define RADEON_LVDS_EN (1 << 7)
|
|
# define RADEON_LVDS_DIGON (1 << 18)
|
|
# define RADEON_LVDS_BLON (1 << 19)
|
|
# define RADEON_LVDS_SEL_CRTC2 (1 << 23)
|
|
#define RADEON_LVDS_PLL_CNTL 0x02d4
|
|
# define RADEON_HSYNC_DELAY_SHIFT 28
|
|
# define RADEON_HSYNC_DELAY_MASK (0xf << 28)
|
|
|
|
#define RADEON_FP_CRTC2_H_TOTAL_DISP 0x0350
|
|
#define RADEON_FP_CRTC2_V_TOTAL_DISP 0x0354
|
|
/*added for FP support------------------------------------------*/
|
|
# define RADEON_FP_CRTC_H_TOTAL_MASK 0x000003ff
|
|
# define RADEON_FP_CRTC_H_DISP_MASK 0x01ff0000
|
|
# define RADEON_FP_CRTC_V_TOTAL_MASK 0x00000fff
|
|
# define RADEON_FP_CRTC_V_DISP_MASK 0x0fff0000
|
|
# define RADEON_FP_H_SYNC_STRT_CHAR_MASK 0x00001ff8
|
|
# define RADEON_FP_H_SYNC_WID_MASK 0x003f0000
|
|
# define RADEON_FP_V_SYNC_STRT_MASK 0x00000fff
|
|
# define RADEON_FP_V_SYNC_WID_MASK 0x001f0000
|
|
# define RADEON_FP_CRTC_H_TOTAL_SHIFT 0x00000000
|
|
# define RADEON_FP_CRTC_H_DISP_SHIFT 0x00000010
|
|
# define RADEON_FP_CRTC_V_TOTAL_SHIFT 0x00000000
|
|
# define RADEON_FP_CRTC_V_DISP_SHIFT 0x00000010
|
|
# define RADEON_FP_H_SYNC_STRT_CHAR_SHIFT 0x00000003
|
|
# define RADEON_FP_H_SYNC_WID_SHIFT 0x00000010
|
|
# define RADEON_FP_V_SYNC_STRT_SHIFT 0x00000000
|
|
# define RADEON_FP_V_SYNC_WID_SHIFT 0x00000010
|
|
/*-----------------------------------------------------------------*/
|
|
|
|
#define RADEON_FP_HORZ2_STRETCH 0x038c
|
|
#define RADEON_FP_VERT2_STRETCH 0x0390
|
|
#define RADEON_FP_H2_SYNC_STRT_WID 0x03c4
|
|
|
|
#define RADEON_FP_V2_SYNC_STRT_WID 0x03c8
|
|
|
|
#define RADEON_BIOS_0_SCRATCH 0x0010
|
|
#define RADEON_BIOS_1_SCRATCH 0x0014
|
|
#define RADEON_BIOS_2_SCRATCH 0x0018
|
|
#define RADEON_BIOS_3_SCRATCH 0x001c
|
|
#define RADEON_BIOS_4_SCRATCH 0x0020
|
|
#define RADEON_BIOS_5_SCRATCH 0x0024
|
|
#define RADEON_BIOS_6_SCRATCH 0x0028
|
|
#define RADEON_BIOS_7_SCRATCH 0x002c
|
|
|
|
#endif
|