atimach64defs: Add register bit fields.

This commit is contained in:
joevt 2024-02-26 14:51:17 -08:00 committed by dingusdev
parent 568882a2ea
commit 151ea2ece4
1 changed files with 291 additions and 0 deletions

View File

@ -33,15 +33,149 @@ enum {
/** Mach64 register offsets. */
enum {
ATI_CRTC_H_TOTAL_DISP = 0x000, // 0x0000
ATI_CRTC_H_TOTAL = 0, ATI_CRTC_H_TOTAL_size = 9,
ATI_CRTC_H_DISP = 16, ATI_CRTC_H_DISP_size = 8,
ATI_CRTC_H_SYNC_STRT_WID = 0x001, // 0x0004
ATI_CRTC_H_SYNC_STRT = 0, ATI_CRTC_H_SYNC_STRT_size = 8,
ATI_CRTC_H_SYNC_DLY = 8, ATI_CRTC_H_SYNC_DLY_size = 3,
ATI_CRTC_H_SYNC_STRT_HI = 12,
ATI_CRTC_H_SYNC_WID = 16, ATI_CRTC_H_SYNC_WID_size = 5,
ATI_CRTC_H_SYNC_POL = 21,
ATI_CRTC_V_TOTAL_DISP = 0x002, // 0x0008
ATI_CRTC_V_TOTAL = 0, ATI_CRTC_V_TOTAL_size = 11,
ATI_CRTC_V_DISP = 16, ATI_CRTC_V_DISP_size = 11,
ATI_CRTC_V_SYNC_STRT_WID = 0x003, // 0x000C
ATI_CRTC_V_SYNC_STRT = 0, ATI_CRTC_V_SYNC_STRT_size = 11,
ATI_CRTC_V_SYNC_WID = 16, ATI_CRTC_V_SYNC_WID_size = 5,
ATI_CRTC_V_SYNC_POL = 21,
ATI_CRTC_VLINE_CRNT_VLINE = 0x004, // 0x0010
ATI_CRTC_VLINE = 0, ATI_CRTC_VLINE_size = 11,
ATI_CRTC_CRNT_VLINE = 16, ATI_CRTC_CRNT_VLINE_size = 11,
ATI_CRTC_OFF_PITCH = 0x005, // 0x0014
ATI_CRTC_OFFSET = 0, ATI_CRTC_OFFSET_size = 20,
ATI_CRTC_OFFSET_LOCK = 20,
ATI_CRTC_PITCH = 22, ATI_CRTC_PITCH_size = 10,
ATI_CRTC_INT_CNTL = 0x006, // 0x0018
ATI_CRTC_VBLANK = 0,
ATI_CRTC_VBLANK_INT_EN = 1,
ATI_CRTC_VBLANK_INT = 2,
ATI_CRTC_VBLANK_INT_AK = 2,
ATI_CRTC_VLINE_INT_EN = 3,
ATI_CRTC_VLINE_INT = 4,
ATI_CRTC_VLINE_INT_AK = 4,
ATI_CRTC_VLINE_SYNC = 5,
ATI_CRTC_FRAME = 6,
ATI_SNAPSHOT_INT_EN = 7, // not VT,GT
ATI_SNAPSHOT_INT = 8, // not VT,GT
ATI_SNAPSHOT_INT_AK = 8, // not VT,GT
ATI_I2C_INT_EN = 9, // not VT,GT
ATI_I2C_INT = 10, // not VT,GT
ATI_I2C_INT_AK = 10, // not VT,GT
ATI_CRTC2_VBLANK = 11, // not VT,GT
ATI_CRTC2_VBLANK_INT_EN = 12, // not VT,GT
ATI_CRTC2_VBLANK_INT = 13, // not VT,GT
ATI_CRTC2_VBLANK_INT_AK = 13, // not VT,GT
ATI_CRTC2_VLINE_INT_EN = 14, // not VT,GT
ATI_CRTC2_VLINE_INT = 15, // not VT,GT
ATI_CRTC2_VLINE_INT_AK = 15, // not VT,GT
ATI_VIDEOIN_EVEN_INT_EN = 16, // VT,GT
ATI_VIDEOIN_EVEN_INT = 17, // VT,GT
ATI_VIDEOIN_EVEN_INT_AK = 17, // VT,GT
ATI_VIDEOIN_ODD_INT_EN = 18, // VT,GT
ATI_VIDEOIN_ODD_INT = 19, // VT,GT
ATI_VIDEOIN_ODD_INT_AK = 19, // VT,GT
ATI_CUPBUF0_INT_EN = 16, // not VT,GT
ATI_CUPBUF0_INT = 17, // not VT,GT
ATI_CUPBUF0_INT_AK = 17, // not VT,GT
ATI_CUPBUF1_INT_EN = 18, // not VT,GT
ATI_CUPBUF1_INT = 19, // not VT,GT
ATI_CUPBUF1_INT_AK = 19, // not VT,GT
ATI_OVERLAY_EOF_INT_EN = 20,
ATI_OVERLAY_EOF_INT = 21,
ATI_OVERLAY_EOF_INT_AK = 21,
ATI_VMC_EC_INT_EN = 22, // VT,GT
ATI_VMC_EC_INT = 23, // VT,GT
ATI_VMC_EC_INT_AK = 23, // VT,GT
ATI_ONESHOT_CAP_INT_EN = 22, // not VT,GT
ATI_ONESHOT_CAP_INT = 23, // not VT,GT
ATI_ONESHOT_CAP_INT_AK = 23, // not VT,GT
ATI_BUSMASTER_EOL_INT_EN = 24, // not VT,GT
ATI_BUSMASTER_EOL_INT = 25, // not VT,GT
ATI_BUSMASTER_EOL_INT_AK = 25, // not VT,GT
ATI_GP_INT_EN = 26, // not VT,GT
ATI_GP_INT = 27, // not VT,GT
ATI_GP_INT_AK = 27, // not VT,GT
ATI_CRTC2_VLINE_SYNC = 28, // not VT,GT
ATI_SNAPSHOT2_INT_EN = 29, // not VT,GT
ATI_SNAPSHOT2_INT = 30, // not VT,GT
ATI_SNAPSHOT2_INT_AK = 30, // not VT,GT
ATI_VBLANK_BIT2_INT = 31, // not VT,GT
ATI_VBLANK_BIT2_INT_AK = 31, // not VT,GT
ATI_CRTC_GEN_CNTL = 0x007, // 0x001C
ATI_CRTC_DBL_SCAN_EN = 0,
ATI_CRTC_INTERLACE_EN = 1,
ATI_CRTC_HSYNC_DIS = 2,
ATI_CRTC_VSYNC_DIS = 3,
ATI_CRTC_CSYNC_EN = 4,
ATI_CRTC2_DBL_SCAN_EN = 5, // not VT,GT
ATI_CRTC_DISPLAY_DIS = 6,
ATI_CRTC_VGA_XOVERSCAN = 7,
ATI_CRTC_PIX_WIDTH = 8, ATI_CRTC_PIX_WIDTH_size = 3,
ATI_CRTC_BYTE_PIX_ORDER = 11,
ATI_CRTC_VSYNC_INT_EN = 12, // not VT,GT
ATI_CRTC_VSYNC_INT = 13, // not VT,GT
ATI_CRTC_VSYNC_INT_AK = 13, // not VT,GT
ATI_CRTC2_VSYNC_INT_EN = 14, // not VT,GT
ATI_CRTC2_VSYNC_INT = 15, // not VT,GT
ATI_CRTC2_VSYNC_INT_AK = 15, // not VT,GT
ATI_HVSYNC_IO_DRIVE = 16, // not VT,GT
ATI_CRTC2_PIX_WIDTH = 17, ATI_CRTC2_PIX_WIDTH_size = 3, // not VT,GT
ATI_CRTC_FIFO_OVERFILL = 14, ATI_CRTC_FIFO_OVERFILL_size = 2, // VT,GT
ATI_CRTC_FIFO_LWM = 16, ATI_CRTC_FIFO_LWM_size = 4, // VT,GT
ATI_VGA_128KAP_PAGING = 20,
ATI_CRTC_DISPREQ_ONLY = 21, // not VT,GT
ATI_CRTC2_ENABLE = 21, // not VT,GT
ATI_CRTC_LOCK_REGS = 22,
ATI_CRTC_SYNC_TRISTATE = 23,
ATI_CRTC_EXT_DISP_EN = 24,
ATI_CRTC_ENABLE = 25,
ATI_CRTC_DISP_REQ_ENB = 26,
ATI_VGA_ATI_LINEAR = 27,
ATI_CRTC_VSYNC_FALL_EDGE = 28,
ATI_VGA_TEXT_132 = 29,
ATI_VGA_XCRT_CNT_EN = 30,
ATI_VGA_CUR_B_TEST = 31,
ATI_DSP_CONFIG = 0x008, // 0x0020
ATI_DSP_XCLKS_PER_QW = 0, ATI_DSP_XCLKS_PER_QW_size = 14, // not VT,GT
ATI_DSP_FLUSH_WB = 15, // not VT,GT
ATI_DSP_LOOP_LATENCY = 16, ATI_DSP_LOOP_LATENCY_size = 4, // not VT,GT
ATI_DSP_PRECISION = 20, ATI_DSP_PRECISION_size = 3, // not VT,GT
ATI_DSP_ON_OFF = 0x009, // 0x0024
ATI_DSP_OFF = 0, ATI_DSP_OFF_size = 11, // not VT,GT
ATI_DSP_ON = 16, ATI_DSP_ON_size = 11, // not VT,GT
ATI_TIMER_CFG = 0x00A, // 0x0028
ATI_MEM_BUF_CNTL = 0x00B, // 0x002C
ATI_MEM_ADDR_CFG = 0x00D, // 0x0034
@ -58,19 +192,104 @@ enum {
ATI_CUR_CLR0 = 0x018, // 0x0060
ATI_CUR_CLR1 = 0x019, // 0x0064
ATI_CUR_OFFSET = 0x01A, // 0x0068
ATI_CUR_OFFSET_size = 20,
ATI_CUR_HORZ_VERT_POSN = 0x01B, // 0x006C
ATI_CUR_HORZ_POSN = 0, ATI_CUR_HORZ_POSN_size = 11,
ATI_CUR_VERT_POSN = 16, ATI_CUR_VERT_POSN_size = 11,
ATI_CUR_HORZ_VERT_OFF = 0x01C, // 0x0070
ATI_CUR_HORZ_OFF = 0, ATI_CUR_HORZ_OFF_size = 6,
ATI_CUR_VERT_OFF = 16, ATI_CUR_VERT_OFF_size = 6,
ATI_GP_IO = 0x01E, // 0x0078
ATI_HW_DEBUG = 0x01F, // 0x007C
ATI_SCRATCH_REG0 = 0x020, // 0x0080
ATI_SCRATCH_REG1 = 0x021, // 0x0084
ATI_SCRATCH_REG2 = 0x022, // 0x0088
ATI_SCRATCH_REG3 = 0x023, // 0x008C
ATI_CLOCK_CNTL = 0x024, // 0x0090
ATI_CLOCK_SEL = 0, ATI_CLOCK_SEL_size = 2,
ATI_CLOCK_STROBE = 6,
ATI_PLL_WR_EN = 9,
ATI_PLL_ADDR = 10,
//ATI_PLL_ADDR_size = 4, // VT,GT
ATI_PLL_ADDR_size = 6, // not VT,GT
ATI_PLL_DATA = 16, ATI_PLL_DATA_size = 8,
ATI_CONFIG_STAT1 = 0x025, // 0x0094
ATI_CONFIG_STAT2 = 0x026, // 0x0098
ATI_BUS_CNTL = 0x028, // 0x00A0
ATI_BUS_WS = 0, ATI_BUS_WS_size = 4, // VT/GT
ATI_BUS_ROM_WS = 4, ATI_BUS_ROM_WS_size = 4, // VT/GT
ATI_BUS_ROM_PAGE = 8, ATI_BUS_ROM_PAGE_size = 4, // VT/GT
ATI_BUS_ROM_DIS = 12, // VT/GT
ATI_BUS_DAC_SNOOP_EN = 14, // VT/GT
ATI_BUS_PCI_RETRY_EN = 15, // VT/GT
ATI_BUS_FIFO_WS = 16, ATI_BUS_FIFO_WS_size = 4, // VT/GT
ATI_BUS_FIFO_ERR_INT_EN = 20, // VT/GT
ATI_BUS_FIFO_ERR_INT = 21, // VT/GT
ATI_BUS_FIFO_ERR_AK = 21, // VT/GT
ATI_BUS_HOST_ERR_INT_EN = 22, // VT/GT
ATI_BUS_HOST_ERR_INT = 23, // VT/GT
ATI_BUS_HOST_ERR_AK = 23, // VT/GT
ATI_BUS_EXT_REG_EN = 27, // VT, not GT
ATI_BUS_PCI_MEMW_WS = 28, // VT/GT
ATI_BUS_BURST = 29, // VT/GT
ATI_BUS_RDY_READ_DLY = 30, ATI_BUS_PCI_MEMW_WS_size = 2, // VT/GT
ATI_BUS_DBL_RESYNC = 0, // not VT/GT
ATI_BUS_MSTR_RESET = 1, // not VT/GT
ATI_BUS_FLUSH_BUF = 2, // not VT/GT
ATI_BUS_STOP_REQ_DIS = 3, // not VT/GT
ATI_BUS_APER_REG_DIS = 4, // not VT/GT
ATI_BUS_EXTRA_PIPE_DIS = 5, // not VT/GT
ATI_BUS_MASTER_DIS = 6, // not VT/GT
ATI_ROM_WRT_EN = 7, // not VT/GT
ATI_MINOR_REV_ID = 8, ATI_MINOR_REV_ID_size = 3, // not VT/GT
ATI_BUS_PCI_READ_RETRY_EN = 13, // not VT/GT
ATI_BUS_PCI_WRT_RETRY_EN = 15, // not VT/GT
ATI_BUS_RETRY_WS = 16, ATI_BUS_RETRY_WS_size = 4, // not VT/GT
ATI_BUS_MSTR_RD_MULT = 20, // not VT/GT
ATI_BUS_MSTR_RD_LINE = 21, // not VT/GT
ATI_BUS_SUSPEND = 22, // not VT/GT
ATI_LAT16X = 23, // not VT/GT
ATI_BUS_RD_DISCARD_EN = 24, // not VT/GT
ATI_BUS_RD_ABORT_EN = 25, // not VT/GT
ATI_BUS_MSTR_WS = 26, // not VT/GT
//ATI_BUS_EXT_REG_EN = 27, // VT, not GT
ATI_BUS_MSTR_DISCONNECT_EN = 28, // not VT/GT
ATI_BUS_WRT_BURST = 29, // not VT/GT
ATI_BUS_READ_BURST = 30, // not VT/GT
//ATI_BUS_RDY_READ_DLY = 31, // not VT/GT
ATI_EXT_MEM_CNTL = 0x02B, // 0x00AC
ATI_MEM_TBWC = 0,
ATI_MEM_SDRAM_RESET = 1,
ATI_MEM_CYC_TEST = 2, ATI_MEM_CYC_TEST_size = 2,
ATI_MEM_MA_YCLK = 4,
ATI_MEM_CNTL_YCLK = 5,
ATI_MEM_CS_YCLK = 6,
ATI_MEM_EXTND_ERST = 7,
ATI_MEM_ERST_CNTL = 8, ATI_MEM_ERST_CNTL_size = 2,
ATI_MEM_CAS_LATENCY = 10, ATI_MEM_CAS_LATENCY_size = 2,
ATI_MEM_SSTL_EN = 12,
ATI_MEM_MD_REC = 13,
ATI_MEM_HCLK_DRIVE = 14,
ATI_MEM_CS_DRIVE = 15,
ATI_MEM_MDA_DRIVE = 16,
ATI_MEM_MDB_DRIVE = 17,
ATI_MEM_MDL_DRIVE = 18,
ATI_MEM_GROUP_CHANGE_EN = 19,
ATI_MEM_MA_DRIVE = 20,
ATI_MEM_CNTL_DRIVE = 22,
ATI_MEM_DQM_DRIVE = 23,
ATI_MEM_GCMRS = 24, ATI_MEM_GCMRS_size = 4,
ATI_MEM_CS_STRAP = 28,
ATI_SDRAM_MEM_CFG = 29,
ATI_MEM_ALL_PAGE_DIS = 30,
ATI_MEM_GROUP_FAULT_EN = 31,
ATI_MEM_CNTL = 0x02C, // 0x00B0
ATI_MEM_VGA_WP_SEL = 0x02D, // 0x00B4
ATI_MEM_VGA_RP_SEL = 0x02E, // 0x00B8
@ -84,11 +303,73 @@ enum {
ATI_DAC_R_INDEX = 0x00C3,
ATI_DAC_CNTL = 0x031, // 0x00C4
ATI_DAC_RANGE_CNTL = 0, ATI_DAC_RANGE_CNTL_size = 2, // not VT/GT
ATI_DAC_BLANKING = 2, //
ATI_DAC_CMP_DISABLE = 3, //
ATI_DAC1_CLK_SEL = 4, // not VT/GT
ATI_PALETTE_ACCESS_CNTL = 5, // not VT/GT
ATI_PALETTE2_SNOOP_EN = 6, // not VT/GT
ATI_DAC_CMP_OUTPUT = 7, //
ATI_DAC_8BIT_EN = 8, //
ATI_DAC_PIX_DLY_2NS = 9, // not VT/GT
ATI_DAC_DIRECT = 10, // ATI_DAC_PIX_DLY_4NS // not VT/GT
ATI_CRT_SENSE = 11, // not VT/GT
ATI_CRT_DETECTION_ON = 12, // not VT/GT
ATI_DAC_VGA_ADR_EN = 13, //
ATI_DAC_FEA_CON_EN = 14, //
ATI_DAC_PDWN = 15, //
ATI_DAC_TYPE = 16, ATI_DAC_TYPE_size = 3, //
ATI_DAC_GIO_STATE_1 = 24, // VT/GT
ATI_DAC_GIO_STATE_0 = 25, // VT/GT
ATI_DAC_GIO_STATE_4 = 26, // VT/GT
ATI_DAC_GIO_DIR_1 = 27, // VT/GT
ATI_DAC_GIO_DIR_0 = 28, // VT/GT
ATI_DAC_GIO_DIR_4 = 29, // VT/GT
ATI_DAC_RW_WS = 31, // VT/GT
ATI_GEN_TEST_CNTL = 0x034, // 0x00D0
ATI_GEN_GIO2_DATA_OUT = 0, // VT/GT
ATI_GEN_GIO3_DATA_OUT = 2, // VT/GT
ATI_GEN_GIO2_DATA_IN = 3, // VT/GT
ATI_GEN_GIO2_EN = 4, // VT/GT
ATI_GEN_GIO2_WRITE = 5, // VT/GT
ATI_GEN_ICON2_ENABLE = 4, // not VT/GT
ATI_GEN_CUR2_ENABLE = 5, // not VT/GT
ATI_GEN_ICON_ENABLE = 6, // not VT/GT
ATI_GEN_CUR_ENABLE = 7,
ATI_GEN_GUI_RESETB = 8,
ATI_GEN_SOFT_RESET = 9, // not VT/GT
ATI_GEN_MEM_TRISTATE = 10, // not VT/GT
ATI_GEN_TEST_VECT_MODE = 12, ATI_GEN_TEST_VECT_MODE_size = 2,
ATI_GEN_TEST_MODE = 16, ATI_GEN_TEST_MODE_size = 4,
ATI_GEN_TEST_CNT_EN = 20, // VT/GT
ATI_GEN_CRC_EN = 21,
ATI_GEN_DELAY_MUX = 22, ATI_GEN_DELAY_MUX_size = 2, // VT/GT
ATI_GEN_TEST_CNT_VALUE = 24, ATI_GEN_TEST_CNT_VALUE_size = 6, // VT/GT
ATI_GEN_DEBUG_MODE = 24, ATI_GEN_DEBUG_MODE_size = 8, // not VT/GT
ATI_CUSTOM_MACRO_CNTL = 0x035, // 0x00D4
ATI_CONFIG_CNTL = 0x037, // 0x00DC
ATI_CONFIG_CHIP_ID = 0x038, // 0x00E0
ATI_CFG_CHIP_TYPE = 0, ATI_CFG_CHIP_TYPE_size = 16,
ATI_CFG_CHIP_CLASS = 16, ATI_CFG_CHIP_CLASS_size = 8,
ATI_CFG_CHIP_MAJOR = 24, ATI_CFG_CHIP_MAJOR_size = 3,
ATI_CFG_CHIP_FND_ID = 27, ATI_CFG_CHIP_FND_ID_size = 3,
ATI_CFG_CHIP_MINOR = 30, ATI_CFG_CHIP_MINOR_size = 2,
ATI_CONFIG_STAT0 = 0x039, // 0x00E4
ATI_CFG_MEM_TYPE = 0, ATI_CFG_MEM_TYPE_size = 3,
ATI_CFG_DUAL_CAS_EN = 3, // VT/GT
ATI_CFG_VGA_EN = 4, // VT/GT
ATI_CFG_CLOCK_EN = 5, // VT/GT
ATI_VMC_SENSE = 6, // VT/GT
ATI_VFC_SENSE = 7, // VT/GT
ATI_BOARD_ID = 8, ATI_BOARD_ID_size = 8, // VT/GT
ATI_GX_CONFIG_STAT1 = 0x03A, // 0x00E8 <-- GX/CT specific
ATI_CRC_SIG = 0x03A, // 0x00E8
@ -163,9 +444,19 @@ enum {
ATI_CLR_CMP_MSK = 0x0C1, // 0x0304
ATI_CLR_CMP_CNTL = 0x0C2, // 0x0308
ATI_FIFO_STAT = 0x0C4, // 0x0310
ATI_FIFO_STAT_pos = 0, ATI_FIFO_STAT_size = 16,
ATI_FIFO_ERR = 31,
ATI_CONTEXT_MASK = 0x0C8, // 0x0320 <-- 264VT specific
ATI_GUI_TRAJ_CNTL = 0x0CC, // 0x0330
ATI_GUI_STAT = 0x0CE, // 0x0338
ATI_GUI_ACTIVE = 0,
ATI_DSTX_LT_SCISSOR_LEFT = 8,
ATI_DSTX_GT_SICISSOR_RIGHT = 9,
ATI_DSTY_LT_SCISSOR_TOP = 10,
ATI_DSTY_GT_SCISSOR_BOTTOM = 11,
ATI_FIFO_CNT = 16, ATI_FIFO_CNT_size = 8,
ATI_MPP_CONFIG = 0x130, // 0x04C0
ATI_MPP_STROBE_SEQ = 0x131, // 0x04C4
ATI_MPP_ADDR = 0x132, // 0x04C8