/* Copyright (c) 2013, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * */ #ifndef _A4XX_REG_H #define _A4XX_REG_H /* RB registers */ #define A4XX_RB_GMEM_BASE_ADDR 0xcc0 /* RBBM registers */ #define A4XX_RBBM_AHB_CMD 0x25 #define A4XX_RBBM_SP_HYST_CNT 0x21 #define A4XX_RBBM_AHB_CTL0 0x23 #define A4XX_RBBM_AHB_CTL1 0x24 #define A4XX_RBBM_WAIT_IDLE_CLOCKS_CTL 0x2b #define A4XX_RBBM_INTERFACE_HANG_INT_CTL 0x2f #define A4XX_RBBM_INT_CLEAR_CMD 0x36 #define A4XX_RBBM_INT_0_MASK 0x37 #define A4XX_RBBM_PERFCTR_CP_0_LO 0x9c #define A4XX_RBBM_PERFCTR_CP_0_HI 0x9d #define A4XX_RBBM_PERFCTR_CP_1_LO 0x9e #define A4XX_RBBM_PERFCTR_CP_1_HI 0x9f #define A4XX_RBBM_PERFCTR_RBBM_0_LO 0xac #define A4XX_RBBM_PERFCTR_RBBM_0_HI 0xad #define A4XX_RBBM_PERFCTR_RBBM_1_LO 0xae #define A4XX_RBBM_PERFCTR_RBBM_1_HI 0xaf #define A4XX_RBBM_PERFCTR_RBBM_2_LO 0xb0 #define A4XX_RBBM_PERFCTR_RBBM_2_HI 0xb1 #define A4XX_RBBM_PERFCTR_RBBM_3_LO 0xb2 #define A4XX_RBBM_PERFCTR_RBBM_3_HI 0xb3 #define A4XX_RBBM_PERFCTR_PC_0_LO 0xb4 #define A4XX_RBBM_PERFCTR_PC_0_HI 0xb5 #define A4XX_RBBM_PERFCTR_PC_1_LO 0xb6 #define A4XX_RBBM_PERFCTR_PC_1_HI 0xb7 #define A4XX_RBBM_PERFCTR_PC_2_LO 0xb8 #define A4XX_RBBM_PERFCTR_PC_2_HI 0xb9 #define A4XX_RBBM_PERFCTR_PC_3_LO 0xba #define A4XX_RBBM_PERFCTR_PC_3_HI 0xbb #define A4XX_RBBM_PERFCTR_PC_4_LO 0xbc #define A4XX_RBBM_PERFCTR_PC_4_HI 0xbd #define A4XX_RBBM_PERFCTR_PC_5_LO 0xbe #define A4XX_RBBM_PERFCTR_PC_5_HI 0xbf #define A4XX_RBBM_PERFCTR_PC_6_LO 0xc0 #define A4XX_RBBM_PERFCTR_PC_6_HI 0xc1 #define A4XX_RBBM_PERFCTR_PC_7_LO 0xc2 #define A4XX_RBBM_PERFCTR_PC_7_HI 0xc3 #define A4XX_RBBM_PERFCTR_VFD_0_LO 0xc4 #define A4XX_RBBM_PERFCTR_VFD_0_HI 0xc5 #define A4XX_RBBM_PERFCTR_VFD_1_LO 0xc6 #define A4XX_RBBM_PERFCTR_VFD_1_HI 0xc7 #define A4XX_RBBM_PERFCTR_VFD_2_LO 0xc8 #define A4XX_RBBM_PERFCTR_VFD_2_HI 0xc9 #define A4XX_RBBM_PERFCTR_VFD_3_LO 0xca #define A4XX_RBBM_PERFCTR_VFD_3_HI 0xcb #define A4XX_RBBM_PERFCTR_VFD_4_LO 0xcc #define A4XX_RBBM_PERFCTR_VFD_4_HI 0xcd #define A4XX_RBBM_PERFCTR_VFD_5_LO 0xce #define A4XX_RBBM_PERFCTR_VFD_5_HI 0xcf #define A4XX_RBBM_PERFCTR_VFD_6_LO 0xd0 #define A4XX_RBBM_PERFCTR_VFD_6_HI 0xd1 #define A4XX_RBBM_PERFCTR_VFD_7_LO 0xd2 #define A4XX_RBBM_PERFCTR_VFD_7_HI 0xd3 #define A4XX_RBBM_PERFCTR_HLSQ_0_LO 0xd4 #define A4XX_RBBM_PERFCTR_HLSQ_0_HI 0xd5 #define A4XX_RBBM_PERFCTR_HLSQ_1_LO 0xd6 #define A4XX_RBBM_PERFCTR_HLSQ_1_HI 0xd7 #define A4XX_RBBM_PERFCTR_HLSQ_2_LO 0xd8 #define A4XX_RBBM_PERFCTR_HLSQ_2_HI 0xd9 #define A4XX_RBBM_PERFCTR_HLSQ_3_LO 0xda #define A4XX_RBBM_PERFCTR_HLSQ_3_HI 0xdb #define A4XX_RBBM_PERFCTR_HLSQ_4_LO 0xdc #define A4XX_RBBM_PERFCTR_HLSQ_4_HI 0xdd #define A4XX_RBBM_PERFCTR_HLSQ_5_LO 0xde #define A4XX_RBBM_PERFCTR_HLSQ_5_HI 0xdf #define A4XX_RBBM_PERFCTR_HLSQ_6_LO 0xe0 #define A4XX_RBBM_PERFCTR_HLSQ_6_HI 0xe1 #define A4XX_RBBM_PERFCTR_HLSQ_7_LO 0xe2 #define A4XX_RBBM_PERFCTR_HLSQ_7_HI 0xe3 #define A4XX_RBBM_PERFCTR_VPC_0_LO 0xe4 #define A4XX_RBBM_PERFCTR_VPC_0_HI 0xe5 #define A4XX_RBBM_PERFCTR_VPC_1_LO 0xe6 #define A4XX_RBBM_PERFCTR_VPC_1_HI 0xe7 #define A4XX_RBBM_PERFCTR_VPC_2_LO 0xe8 #define A4XX_RBBM_PERFCTR_VPC_2_HI 0xe9 #define A4XX_RBBM_PERFCTR_VPC_3_LO 0xea #define A4XX_RBBM_PERFCTR_VPC_3_HI 0xeb #define A4XX_RBBM_PERFCTR_CCU_0_LO 0xec #define A4XX_RBBM_PERFCTR_CCU_0_HI 0xed #define A4XX_RBBM_PERFCTR_CCU_1_LO 0xee #define A4XX_RBBM_PERFCTR_CCU_1_HI 0xef #define A4XX_RBBM_PERFCTR_CCU_2_LO 0xf0 #define A4XX_RBBM_PERFCTR_CCU_2_HI 0xf1 #define A4XX_RBBM_PERFCTR_CCU_3_LO 0xf2 #define A4XX_RBBM_PERFCTR_CCU_3_HI 0xf3 #define A4XX_RBBM_PERFCTR_TSE_0_LO 0xf4 #define A4XX_RBBM_PERFCTR_TSE_0_HI 0xf5 #define A4XX_RBBM_PERFCTR_TSE_1_LO 0xf6 #define A4XX_RBBM_PERFCTR_TSE_1_HI 0xf7 #define A4XX_RBBM_PERFCTR_TSE_2_LO 0xf8 #define A4XX_RBBM_PERFCTR_TSE_2_HI 0xf9 #define A4XX_RBBM_PERFCTR_TSE_3_LO 0xfa #define A4XX_RBBM_PERFCTR_TSE_3_HI 0xfb #define A4XX_RBBM_PERFCTR_RAS_0_LO 0xfc #define A4XX_RBBM_PERFCTR_RAS_0_HI 0xfd #define A4XX_RBBM_PERFCTR_RAS_1_LO 0xfe #define A4XX_RBBM_PERFCTR_RAS_1_HI 0xff #define A4XX_RBBM_PERFCTR_RAS_2_LO 0x100 #define A4XX_RBBM_PERFCTR_RAS_2_HI 0x101 #define A4XX_RBBM_PERFCTR_RAS_3_LO 0x102 #define A4XX_RBBM_PERFCTR_RAS_3_HI 0x103 #define A4XX_RBBM_PERFCTR_UCHE_0_LO 0x104 #define A4XX_RBBM_PERFCTR_UCHE_0_HI 0x105 #define A4XX_RBBM_PERFCTR_UCHE_1_LO 0x106 #define A4XX_RBBM_PERFCTR_UCHE_1_HI 0x107 #define A4XX_RBBM_PERFCTR_UCHE_2_LO 0x108 #define A4XX_RBBM_PERFCTR_UCHE_2_HI 0x109 #define A4XX_RBBM_PERFCTR_UCHE_3_LO 0x10a #define A4XX_RBBM_PERFCTR_UCHE_3_HI 0x10b #define A4XX_RBBM_PERFCTR_UCHE_4_LO 0x10c #define A4XX_RBBM_PERFCTR_UCHE_4_HI 0x10d #define A4XX_RBBM_PERFCTR_UCHE_5_LO 0x10e #define A4XX_RBBM_PERFCTR_UCHE_5_HI 0x10f #define A4XX_RBBM_PERFCTR_UCHE_6_LO 0x110 #define A4XX_RBBM_PERFCTR_UCHE_6_HI 0x111 #define A4XX_RBBM_PERFCTR_UCHE_7_LO 0x112 #define A4XX_RBBM_PERFCTR_UCHE_7_HI 0x113 #define A4XX_RBBM_PERFCTR_TP_0_LO 0x114 #define A4XX_RBBM_PERFCTR_TP_0_HI 0x115 #define A4XX_RBBM_PERFCTR_TP_1_LO 0x116 #define A4XX_RBBM_PERFCTR_TP_1_HI 0x117 #define A4XX_RBBM_PERFCTR_TP_2_LO 0x118 #define A4XX_RBBM_PERFCTR_TP_2_HI 0x119 #define A4XX_RBBM_PERFCTR_TP_3_LO 0x11a #define A4XX_RBBM_PERFCTR_TP_3_HI 0x11b #define A4XX_RBBM_PERFCTR_TP_4_LO 0x11c #define A4XX_RBBM_PERFCTR_TP_4_HI 0x11d #define A4XX_RBBM_PERFCTR_TP_5_LO 0x11e #define A4XX_RBBM_PERFCTR_TP_5_HI 0x11f #define A4XX_RBBM_PERFCTR_TP_6_LO 0x120 #define A4XX_RBBM_PERFCTR_TP_6_HI 0x121 #define A4XX_RBBM_PERFCTR_TP_7_LO 0x122 #define A4XX_RBBM_PERFCTR_TP_7_HI 0x123 #define A4XX_RBBM_PERFCTR_SP_0_LO 0x124 #define A4XX_RBBM_PERFCTR_SP_0_HI 0x125 #define A4XX_RBBM_PERFCTR_SP_1_LO 0x126 #define A4XX_RBBM_PERFCTR_SP_1_HI 0x127 #define A4XX_RBBM_PERFCTR_SP_2_LO 0x128 #define A4XX_RBBM_PERFCTR_SP_2_HI 0x129 #define A4XX_RBBM_PERFCTR_SP_3_LO 0x12a #define A4XX_RBBM_PERFCTR_SP_3_HI 0x12b #define A4XX_RBBM_PERFCTR_SP_4_LO 0x12c #define A4XX_RBBM_PERFCTR_SP_4_HI 0x12d #define A4XX_RBBM_PERFCTR_SP_5_LO 0x12e #define A4XX_RBBM_PERFCTR_SP_5_HI 0x12f #define A4XX_RBBM_PERFCTR_SP_6_LO 0x130 #define A4XX_RBBM_PERFCTR_SP_6_HI 0x131 #define A4XX_RBBM_PERFCTR_SP_7_LO 0x132 #define A4XX_RBBM_PERFCTR_SP_7_HI 0x133 #define A4XX_RBBM_PERFCTR_SP_8_LO 0x134 #define A4XX_RBBM_PERFCTR_SP_8_HI 0x135 #define A4XX_RBBM_PERFCTR_SP_9_LO 0x136 #define A4XX_RBBM_PERFCTR_SP_9_HI 0x137 #define A4XX_RBBM_PERFCTR_SP_10_LO 0x138 #define A4XX_RBBM_PERFCTR_SP_10_HI 0x139 #define A4XX_RBBM_PERFCTR_SP_11_LO 0x13a #define A4XX_RBBM_PERFCTR_SP_11_HI 0x13b #define A4XX_RBBM_PERFCTR_RB_0_LO 0x13c #define A4XX_RBBM_PERFCTR_RB_0_HI 0x13d #define A4XX_RBBM_PERFCTR_RB_1_LO 0x13e #define A4XX_RBBM_PERFCTR_RB_1_HI 0x13f #define A4XX_RBBM_PERFCTR_RB_2_LO 0x140 #define A4XX_RBBM_PERFCTR_RB_2_HI 0x141 #define A4XX_RBBM_PERFCTR_RB_3_LO 0x142 #define A4XX_RBBM_PERFCTR_RB_3_HI 0x143 #define A4XX_RBBM_PERFCTR_RB_4_LO 0x144 #define A4XX_RBBM_PERFCTR_RB_4_HI 0x145 #define A4XX_RBBM_PERFCTR_RB_5_LO 0x146 #define A4XX_RBBM_PERFCTR_RB_5_HI 0x147 #define A4XX_RBBM_PERFCTR_RB_6_LO 0x148 #define A4XX_RBBM_PERFCTR_RB_6_HI 0x149 #define A4XX_RBBM_PERFCTR_RB_7_LO 0x14a #define A4XX_RBBM_PERFCTR_RB_7_HI 0x14b #define A4XX_RBBM_PERFCTR_VSC_0_LO 0x14c #define A4XX_RBBM_PERFCTR_VSC_0_HI 0x14d #define A4XX_RBBM_PERFCTR_VSC_1_LO 0x14e #define A4XX_RBBM_PERFCTR_VSC_1_HI 0x14f #define A4XX_RBBM_PERFCTR_PWR_0_LO 0x166 #define A4XX_RBBM_PERFCTR_PWR_0_HI 0x167 #define A4XX_RBBM_PERFCTR_PWR_1_LO 0x168 #define A4XX_RBBM_PERFCTR_PWR_1_HI 0x169 #define A4XX_RBBM_PERFCTR_CTL 0x170 #define A4XX_RBBM_PERFCTR_LOAD_CMD0 0x171 #define A4XX_RBBM_PERFCTR_LOAD_CMD1 0x172 #define A4XX_RBBM_PERFCTR_LOAD_CMD2 0x173 #define A4XX_RBBM_PERFCTR_RBBM_SEL_0 0x176 #define A4XX_RBBM_PERFCTR_RBBM_SEL_1 0x177 #define A4XX_RBBM_PERFCTR_RBBM_SEL_2 0x178 #define A4XX_RBBM_PERFCTR_RBBM_SEL_3 0x179 #define A4XX_RBBM_GPU_BUSY_MASKED 0x17a #define A4XX_RBBM_INT_0_STATUS 0x17d #define A4XX_RBBM_AHB_ERROR_STATUS 0x18f #define A4XX_RBBM_STATUS 0x191 #define A4XX_RBBM_CFG_COUNTER0 0x1a2 #define A4XX_RBBM_CFG_DEBBUS_TRACE_BUF0 0x1a9 #define A4XX_RBBM_CFG_DEBBUS_TRACE_BUF1 0x1aa #define A4XX_RBBM_CFG_DEBBUS_TRACE_BUF2 0x1ab #define A4XX_RBBM_CFG_DEBBUS_TRACE_BUF3 0x1ac #define A4XX_RBBM_CFG_DEBBUS_TRACE_BUF4 0x1ad #define A4XX_RBBM_CFG_DEBBUS_MISR0 0x1ae #define A4XX_RBBM_CFG_DEBBUS_MISR1 0x1af /* CP registers */ #define A4XX_CP_SCRATCH_REG0 0x578 #define A4XX_CP_SCRATCH_UMASK 0x228 #define A4XX_CP_SCRATCH_ADDR 0x229 #define A4XX_CP_RB_BASE 0x200 #define A4XX_CP_RB_CNTL 0x201 #define A4XX_CP_RB_WPTR 0x205 #define A4XX_CP_RB_RPTR_ADDR 0x203 #define A4XX_CP_RB_RPTR 0x204 #define A4XX_CP_IB1_BASE 0x206 #define A4XX_CP_IB1_BUFSZ 0x207 #define A4XX_CP_IB2_BASE 0x208 #define A4XX_CP_IB2_BUFSZ 0x209 #define A4XX_CP_WFI_PEND_CTR 0x4d2 #define A4XX_CP_ME_CNTL 0x22d #define A4XX_CP_ME_RAM_WADDR 0x225 #define A4XX_CP_ME_RAM_RADDR 0x226 #define A4XX_CP_ME_RAM_DATA 0x227 #define A4XX_CP_PFP_UCODE_ADDR 0x223 #define A4XX_CP_PFP_UCODE_DATA 0x224 #define A4XX_CP_PROTECT_CTRL 0x250 #define A4XX_CP_DEBUG 0x22e /* SP registers */ #define A4XX_SP_VS_OBJ_START 0x22e1 #define A4XX_SP_VS_PVT_MEM_ADDR 0x22e3 #define A4XX_SP_FS_OBJ_START 0x22eb #define A4XX_SP_FS_PVT_MEM_ADDR 0x22ed /* VPC registers */ #define A4XX_VPC_DEBUG_RAM_SEL 0xe60 #define A4XX_VPC_DEBUG_RAM_READ 0xe61 /* VSC registers */ #define A4XX_VSC_SIZE_ADDRESS 0xc01 #define A4XX_VSC_PIPE_DATA_ADDRESS_0 0xc10 #define A4XX_VSC_PIPE_DATA_LENGTH_7 0xc1f /* VFD registers */ #define A4XX_VFD_CONTROL_0 0x2200 #define A4XX_VFD_FETCH_INSTR_0_0 0x220a #define A4XX_VFD_FETCH_INSTR_1_31 0x2287 /* VBIF */ #define A4XX_VBIF_ABIT_SORT 0x301c #define A4XX_VBIF_ABIT_SORT_CONF 0x301d #define A4XX_VBIF_GATE_OFF_WRREQ_EN 0x302a #define A4XX_VBIF_IN_RD_LIM_CONF0 0x302c #define A4XX_VBIF_IN_RD_LIM_CONF1 0x302d #define A4XX_VBIF_IN_WR_LIM_CONF0 0x3030 #define A4XX_VBIF_IN_WR_LIM_CONF1 0x3031 #define A4XX_VBIF_ROUND_ROBIN_QOS_ARB 0x3049 #endif /* _A400_REG_H */