15cf44ddaSAlexander von Gluck IV /* 25cf44ddaSAlexander von Gluck IV * Copyright 2008 Advanced Micro Devices, Inc. 35cf44ddaSAlexander von Gluck IV * Copyright 2008 Red Hat Inc. 45cf44ddaSAlexander von Gluck IV * Copyright 2009 Jerome Glisse. 55cf44ddaSAlexander von Gluck IV * 65cf44ddaSAlexander von Gluck IV * Permission is hereby granted, free of charge, to any person obtaining a 75cf44ddaSAlexander von Gluck IV * copy of this software and associated documentation files (the "Software"), 85cf44ddaSAlexander von Gluck IV * to deal in the Software without restriction, including without limitation 95cf44ddaSAlexander von Gluck IV * the rights to use, copy, modify, merge, publish, distribute, sublicense, 105cf44ddaSAlexander von Gluck IV * and/or sell copies of the Software, and to permit persons to whom the 115cf44ddaSAlexander von Gluck IV * Software is furnished to do so, subject to the following conditions: 125cf44ddaSAlexander von Gluck IV * 135cf44ddaSAlexander von Gluck IV * The above copyright notice and this permission notice shall be included in 145cf44ddaSAlexander von Gluck IV * all copies or substantial portions of the Software. 155cf44ddaSAlexander von Gluck IV * 165cf44ddaSAlexander von Gluck IV * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 175cf44ddaSAlexander von Gluck IV * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 185cf44ddaSAlexander von Gluck IV * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 195cf44ddaSAlexander von Gluck IV * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 205cf44ddaSAlexander von Gluck IV * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 215cf44ddaSAlexander von Gluck IV * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 225cf44ddaSAlexander von Gluck IV * OTHER DEALINGS IN THE SOFTWARE. 235cf44ddaSAlexander von Gluck IV * 245cf44ddaSAlexander von Gluck IV * Authors: Dave Airlie 255cf44ddaSAlexander von Gluck IV * Alex Deucher 265cf44ddaSAlexander von Gluck IV * Jerome Glisse 275cf44ddaSAlexander von Gluck IV */ 285cf44ddaSAlexander von Gluck IV #ifndef __R500_REG_H__ 295cf44ddaSAlexander von Gluck IV #define __R500_REG_H__ 30*f8af3174SAlexander von Gluck IV 315cf44ddaSAlexander von Gluck IV 325cf44ddaSAlexander von Gluck IV /* pipe config regs */ 335cf44ddaSAlexander von Gluck IV #define R300_GA_POLY_MODE 0x4288 345cf44ddaSAlexander von Gluck IV # define R300_FRONT_PTYPE_POINT (0 << 4) 355cf44ddaSAlexander von Gluck IV # define R300_FRONT_PTYPE_LINE (1 << 4) 365cf44ddaSAlexander von Gluck IV # define R300_FRONT_PTYPE_TRIANGE (2 << 4) 375cf44ddaSAlexander von Gluck IV # define R300_BACK_PTYPE_POINT (0 << 7) 385cf44ddaSAlexander von Gluck IV # define R300_BACK_PTYPE_LINE (1 << 7) 395cf44ddaSAlexander von Gluck IV # define R300_BACK_PTYPE_TRIANGE (2 << 7) 405cf44ddaSAlexander von Gluck IV #define R300_GA_ROUND_MODE 0x428c 415cf44ddaSAlexander von Gluck IV # define R300_GEOMETRY_ROUND_TRUNC (0 << 0) 425cf44ddaSAlexander von Gluck IV # define R300_GEOMETRY_ROUND_NEAREST (1 << 0) 435cf44ddaSAlexander von Gluck IV # define R300_COLOR_ROUND_TRUNC (0 << 2) 445cf44ddaSAlexander von Gluck IV # define R300_COLOR_ROUND_NEAREST (1 << 2) 455cf44ddaSAlexander von Gluck IV #define R300_GB_MSPOS0 0x4010 465cf44ddaSAlexander von Gluck IV # define R300_MS_X0_SHIFT 0 475cf44ddaSAlexander von Gluck IV # define R300_MS_Y0_SHIFT 4 485cf44ddaSAlexander von Gluck IV # define R300_MS_X1_SHIFT 8 495cf44ddaSAlexander von Gluck IV # define R300_MS_Y1_SHIFT 12 505cf44ddaSAlexander von Gluck IV # define R300_MS_X2_SHIFT 16 515cf44ddaSAlexander von Gluck IV # define R300_MS_Y2_SHIFT 20 525cf44ddaSAlexander von Gluck IV # define R300_MSBD0_Y_SHIFT 24 535cf44ddaSAlexander von Gluck IV # define R300_MSBD0_X_SHIFT 28 545cf44ddaSAlexander von Gluck IV #define R300_GB_MSPOS1 0x4014 555cf44ddaSAlexander von Gluck IV # define R300_MS_X3_SHIFT 0 565cf44ddaSAlexander von Gluck IV # define R300_MS_Y3_SHIFT 4 575cf44ddaSAlexander von Gluck IV # define R300_MS_X4_SHIFT 8 585cf44ddaSAlexander von Gluck IV # define R300_MS_Y4_SHIFT 12 595cf44ddaSAlexander von Gluck IV # define R300_MS_X5_SHIFT 16 605cf44ddaSAlexander von Gluck IV # define R300_MS_Y5_SHIFT 20 615cf44ddaSAlexander von Gluck IV # define R300_MSBD1_SHIFT 24 625cf44ddaSAlexander von Gluck IV 635cf44ddaSAlexander von Gluck IV #define R300_GA_ENHANCE 0x4274 645cf44ddaSAlexander von Gluck IV # define R300_GA_DEADLOCK_CNTL (1 << 0) 655cf44ddaSAlexander von Gluck IV # define R300_GA_FASTSYNC_CNTL (1 << 1) 665cf44ddaSAlexander von Gluck IV #define R300_RB3D_DSTCACHE_CTLSTAT 0x4e4c 675cf44ddaSAlexander von Gluck IV # define R300_RB3D_DC_FLUSH (2 << 0) 685cf44ddaSAlexander von Gluck IV # define R300_RB3D_DC_FREE (2 << 2) 695cf44ddaSAlexander von Gluck IV # define R300_RB3D_DC_FINISH (1 << 4) 705cf44ddaSAlexander von Gluck IV #define R300_RB3D_ZCACHE_CTLSTAT 0x4f18 715cf44ddaSAlexander von Gluck IV # define R300_ZC_FLUSH (1 << 0) 725cf44ddaSAlexander von Gluck IV # define R300_ZC_FREE (1 << 1) 735cf44ddaSAlexander von Gluck IV # define R300_ZC_FLUSH_ALL 0x3 745cf44ddaSAlexander von Gluck IV #define R400_GB_PIPE_SELECT 0x402c 755cf44ddaSAlexander von Gluck IV #define R500_DYN_SCLK_PWMEM_PIPE 0x000d /* PLL */ 765cf44ddaSAlexander von Gluck IV #define R500_SU_REG_DEST 0x42c8 775cf44ddaSAlexander von Gluck IV #define R300_GB_TILE_CONFIG 0x4018 785cf44ddaSAlexander von Gluck IV # define R300_ENABLE_TILING (1 << 0) 795cf44ddaSAlexander von Gluck IV # define R300_PIPE_COUNT_RV350 (0 << 1) 805cf44ddaSAlexander von Gluck IV # define R300_PIPE_COUNT_R300 (3 << 1) 815cf44ddaSAlexander von Gluck IV # define R300_PIPE_COUNT_R420_3P (6 << 1) 825cf44ddaSAlexander von Gluck IV # define R300_PIPE_COUNT_R420 (7 << 1) 835cf44ddaSAlexander von Gluck IV # define R300_TILE_SIZE_8 (0 << 4) 845cf44ddaSAlexander von Gluck IV # define R300_TILE_SIZE_16 (1 << 4) 855cf44ddaSAlexander von Gluck IV # define R300_TILE_SIZE_32 (2 << 4) 865cf44ddaSAlexander von Gluck IV # define R300_SUBPIXEL_1_12 (0 << 16) 875cf44ddaSAlexander von Gluck IV # define R300_SUBPIXEL_1_16 (1 << 16) 885cf44ddaSAlexander von Gluck IV #define R300_DST_PIPE_CONFIG 0x170c 895cf44ddaSAlexander von Gluck IV # define R300_PIPE_AUTO_CONFIG (1 << 31) 905cf44ddaSAlexander von Gluck IV #define R300_RB2D_DSTCACHE_MODE 0x3428 915cf44ddaSAlexander von Gluck IV # define R300_DC_AUTOFLUSH_ENABLE (1 << 8) 925cf44ddaSAlexander von Gluck IV # define R300_DC_DC_DISABLE_IGNORE_PE (1 << 17) 935cf44ddaSAlexander von Gluck IV 945cf44ddaSAlexander von Gluck IV #define RADEON_CP_STAT 0x7C0 955cf44ddaSAlexander von Gluck IV #define RADEON_RBBM_CMDFIFO_ADDR 0xE70 965cf44ddaSAlexander von Gluck IV #define RADEON_RBBM_CMDFIFO_DATA 0xE74 975cf44ddaSAlexander von Gluck IV #define RADEON_ISYNC_CNTL 0x1724 985cf44ddaSAlexander von Gluck IV # define RADEON_ISYNC_ANY2D_IDLE3D (1 << 0) 995cf44ddaSAlexander von Gluck IV # define RADEON_ISYNC_ANY3D_IDLE2D (1 << 1) 1005cf44ddaSAlexander von Gluck IV # define RADEON_ISYNC_TRIG2D_IDLE3D (1 << 2) 1015cf44ddaSAlexander von Gluck IV # define RADEON_ISYNC_TRIG3D_IDLE2D (1 << 3) 1025cf44ddaSAlexander von Gluck IV # define RADEON_ISYNC_WAIT_IDLEGUI (1 << 4) 1035cf44ddaSAlexander von Gluck IV # define RADEON_ISYNC_CPSCRATCH_IDLEGUI (1 << 5) 1045cf44ddaSAlexander von Gluck IV 1055cf44ddaSAlexander von Gluck IV #define RS480_NB_MC_INDEX 0x168 1065cf44ddaSAlexander von Gluck IV # define RS480_NB_MC_IND_WR_EN (1 << 8) 1075cf44ddaSAlexander von Gluck IV #define RS480_NB_MC_DATA 0x16c 1085cf44ddaSAlexander von Gluck IV 1095cf44ddaSAlexander von Gluck IV /* 1105cf44ddaSAlexander von Gluck IV * RS690 1115cf44ddaSAlexander von Gluck IV */ 1125cf44ddaSAlexander von Gluck IV #define RS690_MCCFG_FB_LOCATION 0x100 1135cf44ddaSAlexander von Gluck IV #define RS690_MC_FB_START_MASK 0x0000FFFF 1145cf44ddaSAlexander von Gluck IV #define RS690_MC_FB_START_SHIFT 0 1155cf44ddaSAlexander von Gluck IV #define RS690_MC_FB_TOP_MASK 0xFFFF0000 1165cf44ddaSAlexander von Gluck IV #define RS690_MC_FB_TOP_SHIFT 16 1175cf44ddaSAlexander von Gluck IV #define RS690_MCCFG_AGP_LOCATION 0x101 1185cf44ddaSAlexander von Gluck IV #define RS690_MC_AGP_START_MASK 0x0000FFFF 1195cf44ddaSAlexander von Gluck IV #define RS690_MC_AGP_START_SHIFT 0 1205cf44ddaSAlexander von Gluck IV #define RS690_MC_AGP_TOP_MASK 0xFFFF0000 1215cf44ddaSAlexander von Gluck IV #define RS690_MC_AGP_TOP_SHIFT 16 1225cf44ddaSAlexander von Gluck IV #define RS690_MCCFG_AGP_BASE 0x102 1235cf44ddaSAlexander von Gluck IV #define RS690_MCCFG_AGP_BASE_2 0x103 1245cf44ddaSAlexander von Gluck IV #define RS690_MC_INIT_MISC_LAT_TIMER 0x104 1255cf44ddaSAlexander von Gluck IV #define RS690_HDP_FB_LOCATION 0x0134 1265cf44ddaSAlexander von Gluck IV #define RS690_MC_INDEX 0x78 1275cf44ddaSAlexander von Gluck IV # define RS690_MC_INDEX_MASK 0x1ff 1285cf44ddaSAlexander von Gluck IV # define RS690_MC_INDEX_WR_EN (1 << 9) 1295cf44ddaSAlexander von Gluck IV # define RS690_MC_INDEX_WR_ACK 0x7f 1305cf44ddaSAlexander von Gluck IV #define RS690_MC_DATA 0x7c 1315cf44ddaSAlexander von Gluck IV #define RS690_MC_STATUS 0x90 1325cf44ddaSAlexander von Gluck IV #define RS690_MC_STATUS_IDLE (1 << 0) 1335cf44ddaSAlexander von Gluck IV #define RS480_AGP_BASE_2 0x0164 1345cf44ddaSAlexander von Gluck IV #define RS480_MC_MISC_CNTL 0x18 1355cf44ddaSAlexander von Gluck IV # define RS480_DISABLE_GTW (1 << 1) 1365cf44ddaSAlexander von Gluck IV # define RS480_GART_INDEX_REG_EN (1 << 12) 1375cf44ddaSAlexander von Gluck IV # define RS690_BLOCK_GFX_D3_EN (1 << 14) 1385cf44ddaSAlexander von Gluck IV #define RS480_GART_FEATURE_ID 0x2b 1395cf44ddaSAlexander von Gluck IV # define RS480_HANG_EN (1 << 11) 1405cf44ddaSAlexander von Gluck IV # define RS480_TLB_ENABLE (1 << 18) 1415cf44ddaSAlexander von Gluck IV # define RS480_P2P_ENABLE (1 << 19) 1425cf44ddaSAlexander von Gluck IV # define RS480_GTW_LAC_EN (1 << 25) 1435cf44ddaSAlexander von Gluck IV # define RS480_2LEVEL_GART (0 << 30) 1445cf44ddaSAlexander von Gluck IV # define RS480_1LEVEL_GART (1 << 30) 1455cf44ddaSAlexander von Gluck IV # define RS480_PDC_EN (1 << 31) 1465cf44ddaSAlexander von Gluck IV #define RS480_GART_BASE 0x2c 1475cf44ddaSAlexander von Gluck IV #define RS480_GART_CACHE_CNTRL 0x2e 1485cf44ddaSAlexander von Gluck IV # define RS480_GART_CACHE_INVALIDATE (1 << 0) /* wait for it to clear */ 1495cf44ddaSAlexander von Gluck IV #define RS480_AGP_ADDRESS_SPACE_SIZE 0x38 1505cf44ddaSAlexander von Gluck IV # define RS480_GART_EN (1 << 0) 1515cf44ddaSAlexander von Gluck IV # define RS480_VA_SIZE_32MB (0 << 1) 1525cf44ddaSAlexander von Gluck IV # define RS480_VA_SIZE_64MB (1 << 1) 1535cf44ddaSAlexander von Gluck IV # define RS480_VA_SIZE_128MB (2 << 1) 1545cf44ddaSAlexander von Gluck IV # define RS480_VA_SIZE_256MB (3 << 1) 1555cf44ddaSAlexander von Gluck IV # define RS480_VA_SIZE_512MB (4 << 1) 1565cf44ddaSAlexander von Gluck IV # define RS480_VA_SIZE_1GB (5 << 1) 1575cf44ddaSAlexander von Gluck IV # define RS480_VA_SIZE_2GB (6 << 1) 1585cf44ddaSAlexander von Gluck IV #define RS480_AGP_MODE_CNTL 0x39 1595cf44ddaSAlexander von Gluck IV # define RS480_POST_GART_Q_SIZE (1 << 18) 1605cf44ddaSAlexander von Gluck IV # define RS480_NONGART_SNOOP (1 << 19) 1615cf44ddaSAlexander von Gluck IV # define RS480_AGP_RD_BUF_SIZE (1 << 20) 1625cf44ddaSAlexander von Gluck IV # define RS480_REQ_TYPE_SNOOP_SHIFT 22 1635cf44ddaSAlexander von Gluck IV # define RS480_REQ_TYPE_SNOOP_MASK 0x3 1645cf44ddaSAlexander von Gluck IV # define RS480_REQ_TYPE_SNOOP_DIS (1 << 24) 1655cf44ddaSAlexander von Gluck IV 1665cf44ddaSAlexander von Gluck IV #define RS690_AIC_CTRL_SCRATCH 0x3A 1675cf44ddaSAlexander von Gluck IV # define RS690_DIS_OUT_OF_PCI_GART_ACCESS (1 << 1) 1685cf44ddaSAlexander von Gluck IV 1695cf44ddaSAlexander von Gluck IV /* 1705cf44ddaSAlexander von Gluck IV * RS600 1715cf44ddaSAlexander von Gluck IV */ 1725cf44ddaSAlexander von Gluck IV #define RS600_MC_STATUS 0x0 1735cf44ddaSAlexander von Gluck IV #define RS600_MC_STATUS_IDLE (1 << 0) 1745cf44ddaSAlexander von Gluck IV #define RS600_MC_INDEX 0x70 1755cf44ddaSAlexander von Gluck IV # define RS600_MC_ADDR_MASK 0xffff 1765cf44ddaSAlexander von Gluck IV # define RS600_MC_IND_SEQ_RBS_0 (1 << 16) 1775cf44ddaSAlexander von Gluck IV # define RS600_MC_IND_SEQ_RBS_1 (1 << 17) 1785cf44ddaSAlexander von Gluck IV # define RS600_MC_IND_SEQ_RBS_2 (1 << 18) 1795cf44ddaSAlexander von Gluck IV # define RS600_MC_IND_SEQ_RBS_3 (1 << 19) 1805cf44ddaSAlexander von Gluck IV # define RS600_MC_IND_AIC_RBS (1 << 20) 1815cf44ddaSAlexander von Gluck IV # define RS600_MC_IND_CITF_ARB0 (1 << 21) 1825cf44ddaSAlexander von Gluck IV # define RS600_MC_IND_CITF_ARB1 (1 << 22) 1835cf44ddaSAlexander von Gluck IV # define RS600_MC_IND_WR_EN (1 << 23) 1845cf44ddaSAlexander von Gluck IV #define RS600_MC_DATA 0x74 1855cf44ddaSAlexander von Gluck IV #define RS600_MC_STATUS 0x0 1865cf44ddaSAlexander von Gluck IV # define RS600_MC_IDLE (1 << 1) 1875cf44ddaSAlexander von Gluck IV #define RS600_MC_FB_LOCATION 0x4 1885cf44ddaSAlexander von Gluck IV #define RS600_MC_FB_START_MASK 0x0000FFFF 1895cf44ddaSAlexander von Gluck IV #define RS600_MC_FB_START_SHIFT 0 1905cf44ddaSAlexander von Gluck IV #define RS600_MC_FB_TOP_MASK 0xFFFF0000 1915cf44ddaSAlexander von Gluck IV #define RS600_MC_FB_TOP_SHIFT 16 1925cf44ddaSAlexander von Gluck IV #define RS600_MC_AGP_LOCATION 0x5 1935cf44ddaSAlexander von Gluck IV #define RS600_MC_AGP_START_MASK 0x0000FFFF 1945cf44ddaSAlexander von Gluck IV #define RS600_MC_AGP_START_SHIFT 0 1955cf44ddaSAlexander von Gluck IV #define RS600_MC_AGP_TOP_MASK 0xFFFF0000 1965cf44ddaSAlexander von Gluck IV #define RS600_MC_AGP_TOP_SHIFT 16 1975cf44ddaSAlexander von Gluck IV #define RS600_MC_AGP_BASE 0x6 1985cf44ddaSAlexander von Gluck IV #define RS600_MC_AGP_BASE_2 0x7 1995cf44ddaSAlexander von Gluck IV #define RS600_MC_CNTL1 0x9 2005cf44ddaSAlexander von Gluck IV # define RS600_ENABLE_PAGE_TABLES (1 << 26) 2015cf44ddaSAlexander von Gluck IV #define RS600_MC_PT0_CNTL 0x100 2025cf44ddaSAlexander von Gluck IV # define RS600_ENABLE_PT (1 << 0) 2035cf44ddaSAlexander von Gluck IV # define RS600_EFFECTIVE_L2_CACHE_SIZE(x) ((x) << 15) 2045cf44ddaSAlexander von Gluck IV # define RS600_EFFECTIVE_L2_QUEUE_SIZE(x) ((x) << 21) 2055cf44ddaSAlexander von Gluck IV # define RS600_INVALIDATE_ALL_L1_TLBS (1 << 28) 2065cf44ddaSAlexander von Gluck IV # define RS600_INVALIDATE_L2_CACHE (1 << 29) 2075cf44ddaSAlexander von Gluck IV #define RS600_MC_PT0_CONTEXT0_CNTL 0x102 2085cf44ddaSAlexander von Gluck IV # define RS600_ENABLE_PAGE_TABLE (1 << 0) 2095cf44ddaSAlexander von Gluck IV # define RS600_PAGE_TABLE_TYPE_FLAT (0 << 1) 2105cf44ddaSAlexander von Gluck IV #define RS600_MC_PT0_SYSTEM_APERTURE_LOW_ADDR 0x112 2115cf44ddaSAlexander von Gluck IV #define RS600_MC_PT0_SYSTEM_APERTURE_HIGH_ADDR 0x114 2125cf44ddaSAlexander von Gluck IV #define RS600_MC_PT0_CONTEXT0_DEFAULT_READ_ADDR 0x11c 2135cf44ddaSAlexander von Gluck IV #define RS600_MC_PT0_CONTEXT0_FLAT_BASE_ADDR 0x12c 2145cf44ddaSAlexander von Gluck IV #define RS600_MC_PT0_CONTEXT0_FLAT_START_ADDR 0x13c 2155cf44ddaSAlexander von Gluck IV #define RS600_MC_PT0_CONTEXT0_FLAT_END_ADDR 0x14c 2165cf44ddaSAlexander von Gluck IV #define RS600_MC_PT0_CLIENT0_CNTL 0x16c 2175cf44ddaSAlexander von Gluck IV # define RS600_ENABLE_TRANSLATION_MODE_OVERRIDE (1 << 0) 2185cf44ddaSAlexander von Gluck IV # define RS600_TRANSLATION_MODE_OVERRIDE (1 << 1) 2195cf44ddaSAlexander von Gluck IV # define RS600_SYSTEM_ACCESS_MODE_MASK (3 << 8) 2205cf44ddaSAlexander von Gluck IV # define RS600_SYSTEM_ACCESS_MODE_PA_ONLY (0 << 8) 2215cf44ddaSAlexander von Gluck IV # define RS600_SYSTEM_ACCESS_MODE_USE_SYS_MAP (1 << 8) 2225cf44ddaSAlexander von Gluck IV # define RS600_SYSTEM_ACCESS_MODE_IN_SYS (2 << 8) 2235cf44ddaSAlexander von Gluck IV # define RS600_SYSTEM_ACCESS_MODE_NOT_IN_SYS (3 << 8) 2245cf44ddaSAlexander von Gluck IV # define RS600_SYSTEM_APERTURE_UNMAPPED_ACCESS_PASSTHROUGH (0 << 10) 2255cf44ddaSAlexander von Gluck IV # define RS600_SYSTEM_APERTURE_UNMAPPED_ACCESS_DEFAULT_PAGE (1 << 10) 2265cf44ddaSAlexander von Gluck IV # define RS600_EFFECTIVE_L1_CACHE_SIZE(x) ((x) << 11) 2275cf44ddaSAlexander von Gluck IV # define RS600_ENABLE_FRAGMENT_PROCESSING (1 << 14) 2285cf44ddaSAlexander von Gluck IV # define RS600_EFFECTIVE_L1_QUEUE_SIZE(x) ((x) << 15) 2295cf44ddaSAlexander von Gluck IV # define RS600_INVALIDATE_L1_TLB (1 << 20) 2305cf44ddaSAlexander von Gluck IV /* rs600/rs690/rs740 */ 2315cf44ddaSAlexander von Gluck IV # define RS600_BUS_MASTER_DIS (1 << 14) 2325cf44ddaSAlexander von Gluck IV # define RS600_MSI_REARM (1 << 20) 2335cf44ddaSAlexander von Gluck IV /* see RS400_MSI_REARM in AIC_CNTL for rs480 */ 2345cf44ddaSAlexander von Gluck IV 2355cf44ddaSAlexander von Gluck IV 2365cf44ddaSAlexander von Gluck IV 2375cf44ddaSAlexander von Gluck IV #define RV515_MC_FB_LOCATION 0x01 2385cf44ddaSAlexander von Gluck IV #define RV515_MC_FB_START_MASK 0x0000FFFF 2395cf44ddaSAlexander von Gluck IV #define RV515_MC_FB_START_SHIFT 0 2405cf44ddaSAlexander von Gluck IV #define RV515_MC_FB_TOP_MASK 0xFFFF0000 2415cf44ddaSAlexander von Gluck IV #define RV515_MC_FB_TOP_SHIFT 16 2425cf44ddaSAlexander von Gluck IV #define RV515_MC_AGP_LOCATION 0x02 2435cf44ddaSAlexander von Gluck IV #define RV515_MC_AGP_START_MASK 0x0000FFFF 2445cf44ddaSAlexander von Gluck IV #define RV515_MC_AGP_START_SHIFT 0 2455cf44ddaSAlexander von Gluck IV #define RV515_MC_AGP_TOP_MASK 0xFFFF0000 2465cf44ddaSAlexander von Gluck IV #define RV515_MC_AGP_TOP_SHIFT 16 2475cf44ddaSAlexander von Gluck IV #define RV515_MC_AGP_BASE 0x03 2485cf44ddaSAlexander von Gluck IV #define RV515_MC_AGP_BASE_2 0x04 2495cf44ddaSAlexander von Gluck IV 2505cf44ddaSAlexander von Gluck IV #define R520_MC_FB_LOCATION 0x04 2515cf44ddaSAlexander von Gluck IV #define R520_MC_FB_START_MASK 0x0000FFFF 2525cf44ddaSAlexander von Gluck IV #define R520_MC_FB_START_SHIFT 0 2535cf44ddaSAlexander von Gluck IV #define R520_MC_FB_TOP_MASK 0xFFFF0000 2545cf44ddaSAlexander von Gluck IV #define R520_MC_FB_TOP_SHIFT 16 2555cf44ddaSAlexander von Gluck IV #define R520_MC_AGP_LOCATION 0x05 2565cf44ddaSAlexander von Gluck IV #define R520_MC_AGP_START_MASK 0x0000FFFF 2575cf44ddaSAlexander von Gluck IV #define R520_MC_AGP_START_SHIFT 0 2585cf44ddaSAlexander von Gluck IV #define R520_MC_AGP_TOP_MASK 0xFFFF0000 2595cf44ddaSAlexander von Gluck IV #define R520_MC_AGP_TOP_SHIFT 16 2605cf44ddaSAlexander von Gluck IV #define R520_MC_AGP_BASE 0x06 2615cf44ddaSAlexander von Gluck IV #define R520_MC_AGP_BASE_2 0x07 2625cf44ddaSAlexander von Gluck IV 2635cf44ddaSAlexander von Gluck IV 2645cf44ddaSAlexander von Gluck IV #define R520_MC_STATUS 0x00 2655cf44ddaSAlexander von Gluck IV #define R520_MC_STATUS_IDLE (1<<1) 2665cf44ddaSAlexander von Gluck IV #define RV515_MC_STATUS 0x08 2675cf44ddaSAlexander von Gluck IV #define RV515_MC_STATUS_IDLE (1<<4) 2685cf44ddaSAlexander von Gluck IV #define RV515_MC_INIT_MISC_LAT_TIMER 0x09 2695cf44ddaSAlexander von Gluck IV #define R520_MC_IND_INDEX 0x70 2705cf44ddaSAlexander von Gluck IV #define R520_MC_IND_WR_EN (1 << 24) 2715cf44ddaSAlexander von Gluck IV #define R520_MC_IND_DATA 0x74 2725cf44ddaSAlexander von Gluck IV 2735cf44ddaSAlexander von Gluck IV #define RV515_MC_CNTL 0x5 2745cf44ddaSAlexander von Gluck IV # define RV515_MEM_NUM_CHANNELS_MASK 0x3 2755cf44ddaSAlexander von Gluck IV #define R520_MC_CNTL0 0x8 2765cf44ddaSAlexander von Gluck IV # define R520_MEM_NUM_CHANNELS_MASK (0x3 << 24) 2775cf44ddaSAlexander von Gluck IV # define R520_MEM_NUM_CHANNELS_SHIFT 24 2785cf44ddaSAlexander von Gluck IV # define R520_MC_CHANNEL_SIZE (1 << 23) 2795cf44ddaSAlexander von Gluck IV 2805cf44ddaSAlexander von Gluck IV 2815cf44ddaSAlexander von Gluck IV #endif