summaryrefslogtreecommitdiff
path: root/src/freedreno/registers/a6xx.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/freedreno/registers/a6xx.xml')
-rw-r--r--src/freedreno/registers/a6xx.xml145
1 files changed, 75 insertions, 70 deletions
diff --git a/src/freedreno/registers/a6xx.xml b/src/freedreno/registers/a6xx.xml
index 2124d8e3a2f..8f02c6f1296 100644
--- a/src/freedreno/registers/a6xx.xml
+++ b/src/freedreno/registers/a6xx.xml
@@ -175,7 +175,7 @@ xsi:schemaLocation="http://nouveau.freedesktop.org/ rules-ng.xsd">
<bitset name="a6x_cp_protect" inline="yes">
<bitfield name="BASE_ADDR" low="0" high="17"/>
<bitfield name="MASK_LEN" low="18" high="30"/>
- <bitfield name="READ" pos="31"/>
+ <bitfield name="READ" pos="31" type="boolean"/>
</bitset>
<enum name="a6xx_shader_id">
@@ -929,39 +929,39 @@ to upconvert to 32b float internally?
<domain name="A6XX" width="32">
<bitset name="A6XX_RBBM_INT_0_MASK" inline="no">
- <bitfield name="RBBM_GPU_IDLE" pos="0"/>
- <bitfield name="CP_AHB_ERROR" pos="1"/>
- <bitfield name="RBBM_ATB_ASYNCFIFO_OVERFLOW" pos="6"/>
- <bitfield name="RBBM_GPC_ERROR" pos="7"/>
- <bitfield name="CP_SW" pos="8"/>
- <bitfield name="CP_HW_ERROR" pos="9"/>
- <bitfield name="CP_CCU_FLUSH_DEPTH_TS" pos="10"/>
- <bitfield name="CP_CCU_FLUSH_COLOR_TS" pos="11"/>
- <bitfield name="CP_CCU_RESOLVE_TS" pos="12"/>
- <bitfield name="CP_IB2" pos="13"/>
- <bitfield name="CP_IB1" pos="14"/>
- <bitfield name="CP_RB" pos="15"/>
- <bitfield name="CP_RB_DONE_TS" pos="17"/>
- <bitfield name="CP_WT_DONE_TS" pos="18"/>
- <bitfield name="CP_CACHE_FLUSH_TS" pos="20"/>
- <bitfield name="RBBM_ATB_BUS_OVERFLOW" pos="22"/>
- <bitfield name="RBBM_HANG_DETECT" pos="23"/>
- <bitfield name="UCHE_OOB_ACCESS" pos="24"/>
- <bitfield name="UCHE_TRAP_INTR" pos="25"/>
- <bitfield name="DEBBUS_INTR_0" pos="26"/>
- <bitfield name="DEBBUS_INTR_1" pos="27"/>
- <bitfield name="ISDB_CPU_IRQ" pos="30"/>
- <bitfield name="ISDB_UNDER_DEBUG" pos="31"/>
+ <bitfield name="RBBM_GPU_IDLE" pos="0" type="boolean"/>
+ <bitfield name="CP_AHB_ERROR" pos="1" type="boolean"/>
+ <bitfield name="RBBM_ATB_ASYNCFIFO_OVERFLOW" pos="6" type="boolean"/>
+ <bitfield name="RBBM_GPC_ERROR" pos="7" type="boolean"/>
+ <bitfield name="CP_SW" pos="8" type="boolean"/>
+ <bitfield name="CP_HW_ERROR" pos="9" type="boolean"/>
+ <bitfield name="CP_CCU_FLUSH_DEPTH_TS" pos="10" type="boolean"/>
+ <bitfield name="CP_CCU_FLUSH_COLOR_TS" pos="11" type="boolean"/>
+ <bitfield name="CP_CCU_RESOLVE_TS" pos="12" type="boolean"/>
+ <bitfield name="CP_IB2" pos="13" type="boolean"/>
+ <bitfield name="CP_IB1" pos="14" type="boolean"/>
+ <bitfield name="CP_RB" pos="15" type="boolean"/>
+ <bitfield name="CP_RB_DONE_TS" pos="17" type="boolean"/>
+ <bitfield name="CP_WT_DONE_TS" pos="18" type="boolean"/>
+ <bitfield name="CP_CACHE_FLUSH_TS" pos="20" type="boolean"/>
+ <bitfield name="RBBM_ATB_BUS_OVERFLOW" pos="22" type="boolean"/>
+ <bitfield name="RBBM_HANG_DETECT" pos="23" type="boolean"/>
+ <bitfield name="UCHE_OOB_ACCESS" pos="24" type="boolean"/>
+ <bitfield name="UCHE_TRAP_INTR" pos="25" type="boolean"/>
+ <bitfield name="DEBBUS_INTR_0" pos="26" type="boolean"/>
+ <bitfield name="DEBBUS_INTR_1" pos="27" type="boolean"/>
+ <bitfield name="ISDB_CPU_IRQ" pos="30" type="boolean"/>
+ <bitfield name="ISDB_UNDER_DEBUG" pos="31" type="boolean"/>
</bitset>
<bitset name="A6XX_CP_INT">
- <bitfield name="CP_OPCODE_ERROR" pos="0"/>
- <bitfield name="CP_UCODE_ERROR" pos="1"/>
- <bitfield name="CP_HW_FAULT_ERROR" pos="2"/>
- <bitfield name="CP_REGISTER_PROTECTION_ERROR" pos="4"/>
- <bitfield name="CP_AHB_ERROR" pos="5"/>
- <bitfield name="CP_VSD_PARITY_ERROR" pos="6"/>
- <bitfield name="CP_ILLEGAL_INSTR_ERROR" pos="7"/>
+ <bitfield name="CP_OPCODE_ERROR" pos="0" type="boolean"/>
+ <bitfield name="CP_UCODE_ERROR" pos="1" type="boolean"/>
+ <bitfield name="CP_HW_FAULT_ERROR" pos="2" type="boolean"/>
+ <bitfield name="CP_REGISTER_PROTECTION_ERROR" pos="4" type="boolean"/>
+ <bitfield name="CP_AHB_ERROR" pos="5" type="boolean"/>
+ <bitfield name="CP_VSD_PARITY_ERROR" pos="6" type="boolean"/>
+ <bitfield name="CP_ILLEGAL_INSTR_ERROR" pos="7" type="boolean"/>
</bitset>
<reg32 offset="0x0800" name="CP_RB_BASE"/>
@@ -1016,7 +1016,7 @@ to upconvert to 32b float internally?
</reg32>
<reg32 offset="0x08C3" name="CP_MEM_POOL_SIZE"/>
<reg32 offset="0x0841" name="CP_CHICKEN_DBG"/>
- <reg32 offset="0x0842" name="CP_ADDR_MODE_CNTL"/>
+ <reg32 offset="0x0842" name="CP_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
<reg32 offset="0x0843" name="CP_DBG_ECO_CNTL"/>
<reg32 offset="0x084F" name="CP_PROTECT_CNTL"/>
@@ -1095,33 +1095,33 @@ to upconvert to 32b float internally?
<reg32 offset="0x098D" name="CP_AHB_CNTL"/>
<reg32 offset="0x0A00" name="CP_APERTURE_CNTL_HOST"/>
<reg32 offset="0x0A03" name="CP_APERTURE_CNTL_CD"/>
- <reg32 offset="0x0C01" name="VSC_ADDR_MODE_CNTL"/>
+ <reg32 offset="0x0C01" name="VSC_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
<reg32 offset="0x0201" name="RBBM_INT_0_STATUS" type="A6XX_RBBM_INT_0_MASK"/>
<reg32 offset="0x0210" name="RBBM_STATUS">
- <bitfield high="23" low="23" name="GPU_BUSY_IGN_AHB" />
- <bitfield high="22" low="22" name="GPU_BUSY_IGN_AHB_CP" />
- <bitfield high="21" low="21" name="HLSQ_BUSY" />
- <bitfield high="20" low="20" name="VSC_BUSY" />
- <bitfield high="19" low="19" name="TPL1_BUSY" />
- <bitfield high="18" low="18" name="SP_BUSY" />
- <bitfield high="17" low="17" name="UCHE_BUSY" />
- <bitfield high="16" low="16" name="VPC_BUSY" />
- <bitfield high="15" low="15" name="VFD_BUSY" />
- <bitfield high="14" low="14" name="TESS_BUSY" />
- <bitfield high="13" low="13" name="PC_VSD_BUSY" />
- <bitfield high="12" low="12" name="PC_DCALL_BUSY" />
- <bitfield high="11" low="11" name="COM_DCOM_BUSY" />
- <bitfield high="10" low="10" name="LRZ_BUSY" />
- <bitfield high="9" low="9" name="A2D_BUSY" />
- <bitfield high="8" low="8" name="CCU_BUSY" />
- <bitfield high="7" low="7" name="RB_BUSY" />
- <bitfield high="6" low="6" name="RAS_BUSY" />
- <bitfield high="5" low="5" name="TSE_BUSY" />
- <bitfield high="4" low="4" name="VBIF_BUSY" />
- <bitfield high="3" low="3" name="GFX_DBGC_BUSY" />
- <bitfield high="2" low="2" name="CP_BUSY" />
- <bitfield high="1" low="1" name="CP_AHB_BUSY_CP_MASTER" />
- <bitfield high="0" low="0" name="CP_AHB_BUSY_CX_MASTER"/>
+ <bitfield pos="23" name="GPU_BUSY_IGN_AHB" type="boolean"/>
+ <bitfield pos="22" name="GPU_BUSY_IGN_AHB_CP" type="boolean"/>
+ <bitfield pos="21" name="HLSQ_BUSY" type="boolean"/>
+ <bitfield pos="20" name="VSC_BUSY" type="boolean"/>
+ <bitfield pos="19" name="TPL1_BUSY" type="boolean"/>
+ <bitfield pos="18" name="SP_BUSY" type="boolean"/>
+ <bitfield pos="17" name="UCHE_BUSY" type="boolean"/>
+ <bitfield pos="16" name="VPC_BUSY" type="boolean"/>
+ <bitfield pos="15" name="VFD_BUSY" type="boolean"/>
+ <bitfield pos="14" name="TESS_BUSY" type="boolean"/>
+ <bitfield pos="13" name="PC_VSD_BUSY" type="boolean"/>
+ <bitfield pos="12" name="PC_DCALL_BUSY" type="boolean"/>
+ <bitfield pos="11" name="COM_DCOM_BUSY" type="boolean"/>
+ <bitfield pos="10" name="LRZ_BUSY" type="boolean"/>
+ <bitfield pos="9" name="A2D_BUSY" type="boolean"/>
+ <bitfield pos="8" name="CCU_BUSY" type="boolean"/>
+ <bitfield pos="7" name="RB_BUSY" type="boolean"/>
+ <bitfield pos="6" name="RAS_BUSY" type="boolean"/>
+ <bitfield pos="5" name="TSE_BUSY" type="boolean"/>
+ <bitfield pos="4" name="VBIF_BUSY" type="boolean"/>
+ <bitfield pos="3" name="GFX_DBGC_BUSY" type="boolean"/>
+ <bitfield pos="2" name="CP_BUSY" type="boolean"/>
+ <bitfield pos="1" name="CP_AHB_BUSY_CP_MASTER" type="boolean"/>
+ <bitfield pos="0" name="CP_AHB_BUSY_CX_MASTER" type="boolean"/>
</reg32>
<reg32 offset="0x0213" name="RBBM_STATUS3">
<bitfield pos="24" name="SMMU_STALLED_ON_FAULT" type="boolean"/>
@@ -1425,7 +1425,7 @@ to upconvert to 32b float internally?
<reg32 offset="0xF801" name="RBBM_SECVID_TSB_TRUSTED_BASE_HI"/>
<reg32 offset="0xF802" name="RBBM_SECVID_TSB_TRUSTED_SIZE"/>
<reg32 offset="0xF803" name="RBBM_SECVID_TSB_CNTL"/>
- <reg32 offset="0xF810" name="RBBM_SECVID_TSB_ADDR_MODE_CNTL"/>
+ <reg32 offset="0xF810" name="RBBM_SECVID_TSB_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
<reg32 offset="0x00010" name="RBBM_VBIF_CLIENT_QOS_CNTL"/>
<reg32 offset="0x00011" name="RBBM_GBIF_CLIENT_QOS_CNTL"/>
<reg32 offset="0x0001c" name="RBBM_WAIT_FOR_GPU_IDLE_CMD">
@@ -1545,6 +1545,11 @@ to upconvert to 32b float internally?
<reg32 offset="0x0011a" name="RBBM_CLOCK_HYST_GMU_GX"/>
<reg32 offset="0x0011b" name="RBBM_CLOCK_MODE_HLSQ"/>
<reg32 offset="0x0011c" name="RBBM_CLOCK_DELAY_HLSQ"/>
+ <reg32 offset="0x0011d" name="RBBM_CLOCK_HYST_HLSQ"/>
+ <reg32 offset="0x00120" name="RBBM_CLOCK_CNTL_TEX_FCHE"/>
+ <reg32 offset="0x00121" name="RBBM_CLOCK_DELAY_TEX_FCHE"/>
+ <reg32 offset="0x00122" name="RBBM_CLOCK_HYST_TEX_FCHE"/>
+
<reg32 offset="0x0600" name="DBGC_CFG_DBGBUS_SEL_A"/>
<reg32 offset="0x0601" name="DBGC_CFG_DBGBUS_SEL_B"/>
<reg32 offset="0x0602" name="DBGC_CFG_DBGBUS_SEL_C"/>
@@ -1592,7 +1597,7 @@ to upconvert to 32b float internally?
<reg32 offset="0x0630" name="DBGC_CFG_DBGBUS_TRACE_BUF2"/>
<reg32 offset="0x0CD8" name="VSC_PERFCTR_VSC_SEL_0"/>
<reg32 offset="0x0CD9" name="VSC_PERFCTR_VSC_SEL_1"/>
- <reg32 offset="0xBE05" name="HLSQ_ADDR_MODE_CNTL"/>
+ <reg32 offset="0xBE05" name="HLSQ_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
<reg32 offset="0xBE10" name="HLSQ_PERFCTR_HLSQ_SEL_0"/>
<reg32 offset="0xBE11" name="HLSQ_PERFCTR_HLSQ_SEL_1"/>
<reg32 offset="0xBE12" name="HLSQ_PERFCTR_HLSQ_SEL_2"/>
@@ -1601,7 +1606,7 @@ to upconvert to 32b float internally?
<reg32 offset="0xBE15" name="HLSQ_PERFCTR_HLSQ_SEL_5"/>
<reg32 offset="0xC800" name="HLSQ_DBG_AHB_READ_APERTURE"/>
<reg32 offset="0xD000" name="HLSQ_DBG_READ_SEL"/>
- <reg32 offset="0xA601" name="VFD_ADDR_MODE_CNTL"/>
+ <reg32 offset="0xA601" name="VFD_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
<reg32 offset="0xA610" name="VFD_PERFCTR_VFD_SEL_0"/>
<reg32 offset="0xA611" name="VFD_PERFCTR_VFD_SEL_1"/>
<reg32 offset="0xA612" name="VFD_PERFCTR_VFD_SEL_2"/>
@@ -1610,7 +1615,7 @@ to upconvert to 32b float internally?
<reg32 offset="0xA615" name="VFD_PERFCTR_VFD_SEL_5"/>
<reg32 offset="0xA616" name="VFD_PERFCTR_VFD_SEL_6"/>
<reg32 offset="0xA617" name="VFD_PERFCTR_VFD_SEL_7"/>
- <reg32 offset="0x0E00" name="UCHE_ADDR_MODE_CNTL"/>
+ <reg32 offset="0x0E00" name="UCHE_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
<reg32 offset="0x0E01" name="UCHE_MODE_CNTL"/>
<reg32 offset="0x0E05" name="UCHE_WRITE_RANGE_MAX_LO"/>
<reg32 offset="0x0E06" name="UCHE_WRITE_RANGE_MAX_HI"/>
@@ -1639,7 +1644,7 @@ to upconvert to 32b float internally?
<reg32 offset="0x0E25" name="UCHE_PERFCTR_UCHE_SEL_9"/>
<reg32 offset="0x0E26" name="UCHE_PERFCTR_UCHE_SEL_10"/>
<reg32 offset="0x0E27" name="UCHE_PERFCTR_UCHE_SEL_11"/>
- <reg32 offset="0xAE01" name="SP_ADDR_MODE_CNTL"/>
+ <reg32 offset="0xAE01" name="SP_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
<reg32 offset="0xAE02" name="SP_NC_MODE_CNTL"/>
<reg32 offset="0xAE10" name="SP_PERFCTR_SP_SEL_0"/>
<reg32 offset="0xAE11" name="SP_PERFCTR_SP_SEL_1"/>
@@ -1665,7 +1670,7 @@ to upconvert to 32b float internally?
<reg32 offset="0xAE25" name="SP_PERFCTR_SP_SEL_21"/>
<reg32 offset="0xAE26" name="SP_PERFCTR_SP_SEL_22"/>
<reg32 offset="0xAE27" name="SP_PERFCTR_SP_SEL_23"/>
- <reg32 offset="0xB601" name="TPL1_ADDR_MODE_CNTL"/>
+ <reg32 offset="0xB601" name="TPL1_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
<reg32 offset="0xB604" name="TPL1_NC_MODE_CNTL"/>
<reg32 offset="0xB608" name="TPL1_BICUBIC_WEIGHTS_TABLE_0"/>
<reg32 offset="0xB609" name="TPL1_BICUBIC_WEIGHTS_TABLE_1"/>
@@ -1686,7 +1691,7 @@ to upconvert to 32b float internally?
<reg32 offset="0xB61B" name="TPL1_PERFCTR_TP_SEL_11"/>
<reg32 offset="0x3000" name="VBIF_VERSION"/>
<reg32 offset="0x3001" name="VBIF_CLKON">
- <bitfield pos="1" name="FORCE_ON_TESTBUS"/>
+ <bitfield pos="1" name="FORCE_ON_TESTBUS" type="boolean"/>
</reg32>
<reg32 offset="0x302A" name="VBIF_GATE_OFF_WRREQ_EN"/>
<reg32 offset="0x3080" name="VBIF_XIN_HALT_CTRL0"/>
@@ -2116,7 +2121,7 @@ to upconvert to 32b float internally?
<!-- always 0x880 ? (and 0 in a640/a650 traces?) -->
<reg32 offset="0x8600" name="GRAS_UNKNOWN_8600" low="0" high="12" />
- <reg32 offset="0x8601" name="GRAS_ADDR_MODE_CNTL" pos="0" type="boolean"/>
+ <reg32 offset="0x8601" name="GRAS_ADDR_MODE_CNTL" pos="0" type="a5xx_address_mode"/>
<reg32 offset="0x8610" name="GRAS_PERFCTR_TSE_SEL_0"/>
<reg32 offset="0x8611" name="GRAS_PERFCTR_TSE_SEL_1"/>
<reg32 offset="0x8612" name="GRAS_PERFCTR_TSE_SEL_2"/>
@@ -2560,7 +2565,7 @@ to upconvert to 32b float internally?
<reg32 offset="0x8e01" name="RB_UNKNOWN_8E01"/>
<!-- 0x8e00-0x8e03 invalid -->
<reg32 offset="0x8e04" name="RB_UNKNOWN_8E04"/> <!-- TODO: valid mask 0xfffffeff -->
- <reg32 offset="0x8e05" name="RB_ADDR_MODE_CNTL" pos="0" type="boolean"/>
+ <reg32 offset="0x8e05" name="RB_ADDR_MODE_CNTL" pos="0" type="a5xx_address_mode"/>
<!-- 0x8e06 invalid -->
<reg32 offset="0x8e07" name="RB_CCU_CNTL">
<!-- offset into GMEM for something.
@@ -2744,7 +2749,7 @@ to upconvert to 32b float internally?
<!-- TODO: 0x9600-0x97ff range -->
<reg32 offset="0x9600" name="VPC_UNKNOWN_9600"/> <!-- always 0x0 ? TODO: 0x1fbf37ff valid mask -->
- <reg32 offset="0x9601" name="VPC_ADDR_MODE_CNTL" pos="0" type="boolean"/>
+ <reg32 offset="0x9601" name="VPC_ADDR_MODE_CNTL" pos="0" type="a5xx_address_mode"/>
<reg32 offset="0x9602" name="VPC_UNKNOWN_9602" pos="0"/> <!-- always 0x0 ? -->
<reg32 offset="0x9603" name="VPC_UNKNOWN_9603" low="0" high="26"/>
<reg32 offset="0x9604" name="VPC_PERFCTR_VPC_SEL_0"/>
@@ -2873,7 +2878,7 @@ to upconvert to 32b float internally?
<!-- 0x9c01-0x9dff invalid -->
<!-- TODO: 0x9e00-0xa000 range incomplete -->
<reg32 offset="0x9e00" name="PC_DBG_ECO_CNTL"/>
- <reg32 offset="0x9e01" name="PC_ADDR_MODE_CNTL"/>
+ <reg32 offset="0x9e01" name="PC_ADDR_MODE_CNTL" type="a5xx_address_mode"/>
<reg32 offset="0x9e08" name="PC_TESSFACTOR_ADDR_LO"/>
<reg32 offset="0x9e09" name="PC_TESSFACTOR_ADDR_HI"/>
<reg32 offset="0x9e08" name="PC_TESSFACTOR_ADDR" type="waddress" align="32"/>
@@ -2884,8 +2889,8 @@ to upconvert to 32b float internally?
<bitfield name="VSC_SIZE" low="16" high="21" type="uint"/>
<bitfield name="VSC_N" low="22" high="26" type="uint"/>
</reg32>
- <reg32 offset="0x9e12" name="PC_BIN_DATA_ADDR2" type="waddress" align="32"/>
- <reg32 offset="0x9e14" name="PC_BIN_DATA_ADDR" type="waddress" align="32"/>
+ <reg64 offset="0x9e12" name="PC_BIN_PRIM_STRM" type="waddress" align="32"/>
+ <reg64 offset="0x9e14" name="PC_BIN_DRAW_STRM" type="waddress" align="32"/>
<reg32 offset="0x9e34" name="PC_PERFCTR_PC_SEL_0"/>
<reg32 offset="0x9e35" name="PC_PERFCTR_PC_SEL_1"/>