1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <database xmlns=
"http://nouveau.freedesktop.org/"
3 xmlns:
xsi=
"http://www.w3.org/2001/XMLSchema-instance"
4 xsi:
schemaLocation=
"http://nouveau.freedesktop.org/ rules-ng.xsd">
5 <import file=
"freedreno_copyright.xml"/>
7 <domain name=
"A6XX" width=
"32">
9 <bitset name=
"A6XX_GMU_GPU_IDLE_STATUS">
10 <bitfield name=
"BUSY_IGN_AHB" pos=
"23"/>
11 <bitfield name=
"CX_GX_CPU_BUSY_IGN_AHB" pos=
"30"/>
14 <bitset name=
"A6XX_GMU_OOB">
15 <bitfield name=
"BOOT_SLUMBER_SET_MASK" pos=
"22"/>
16 <bitfield name=
"BOOT_SLUMBER_CHECK_MASK" pos=
"30"/>
17 <bitfield name=
"BOOT_SLUMBER_CLEAR_MASK" pos=
"30"/>
18 <bitfield name=
"DCVS_SET_MASK" pos=
"23"/>
19 <bitfield name=
"DCVS_CHECK_MASK" pos=
"31"/>
20 <bitfield name=
"DCVS_CLEAR_MASK" pos=
"31"/>
21 <bitfield name=
"GPU_SET_MASK" pos=
"18"/>
22 <bitfield name=
"GPU_CHECK_MASK" pos=
"26"/>
23 <bitfield name=
"GPU_CLEAR_MASK" pos=
"26"/>
24 <bitfield name=
"PERFCNTR_SET_MASK" pos=
"17"/>
25 <bitfield name=
"PERFCNTR_CHECK_MASK" pos=
"25"/>
26 <bitfield name=
"PERFCNTR_CLEAR_MASK" pos=
"25"/>
29 <bitset name=
"A6XX_HFI_IRQ">
30 <bitfield name=
"MSGQ_MASK" pos=
"0" />
31 <bitfield name=
"DSGQ_MASK" pos=
"1"/>
32 <bitfield name=
"BLOCKED_MSG_MASK" pos=
"2"/>
33 <bitfield name=
"CM3_FAULT_MASK" pos=
"23"/>
34 <bitfield name=
"GMU_ERR_MASK" low=
"16" high=
"22"/>
35 <bitfield name=
"OOB_MASK" low=
"24" high=
"31"/>
38 <bitset name=
"A6XX_HFI_H2F">
39 <bitfield name=
"IRQ_MASK_BIT" pos=
"0" />
42 <reg32 offset=
"0x80" name=
"GPU_GMU_GX_SPTPRAC_CLOCK_CONTROL"/>
43 <reg32 offset=
"0x81" name=
"GMU_GX_SPTPRAC_POWER_CONTROL"/>
44 <reg32 offset=
"0xc00" name=
"GMU_CM3_ITCM_START"/>
45 <reg32 offset=
"0x1c00" name=
"GMU_CM3_DTCM_START"/>
46 <reg32 offset=
"0x23f0" name=
"GMU_NMI_CONTROL_STATUS"/>
47 <reg32 offset=
"0x23f8" name=
"GMU_BOOT_SLUMBER_OPTION"/>
48 <reg32 offset=
"0x23f9" name=
"GMU_GX_VOTE_IDX"/>
49 <reg32 offset=
"0x23fa" name=
"GMU_MX_VOTE_IDX"/>
50 <reg32 offset=
"0x23fc" name=
"GMU_DCVS_ACK_OPTION"/>
51 <reg32 offset=
"0x23fd" name=
"GMU_DCVS_PERF_SETTING"/>
52 <reg32 offset=
"0x23fe" name=
"GMU_DCVS_BW_SETTING"/>
53 <reg32 offset=
"0x23ff" name=
"GMU_DCVS_RETURN"/>
54 <reg32 offset=
"0x4c00" name=
"GMU_ICACHE_CONFIG"/>
55 <reg32 offset=
"0x4c01" name=
"GMU_DCACHE_CONFIG"/>
56 <reg32 offset=
"0x4c0f" name=
"GMU_SYS_BUS_CONFIG"/>
57 <reg32 offset=
"0x5000" name=
"GMU_CM3_SYSRESET"/>
58 <reg32 offset=
"0x5001" name=
"GMU_CM3_BOOT_CONFIG"/>
59 <reg32 offset=
"0x501a" name=
"GMU_CM3_FW_BUSY"/>
60 <reg32 offset=
"0x501c" name=
"GMU_CM3_FW_INIT_RESULT"/>
61 <reg32 offset=
"0x502d" name=
"GMU_CM3_CFG"/>
62 <reg32 offset=
"0x5040" name=
"GMU_CX_GMU_POWER_COUNTER_ENABLE"/>
63 <reg32 offset=
"0x5041" name=
"GMU_CX_GMU_POWER_COUNTER_SELECT_0"/>
64 <reg32 offset=
"0x5042" name=
"GMU_CX_GMU_POWER_COUNTER_SELECT_1"/>
65 <reg32 offset=
"0x5044" name=
"GMU_CX_GMU_POWER_COUNTER_XOCLK_0_L"/>
66 <reg32 offset=
"0x5045" name=
"GMU_CX_GMU_POWER_COUNTER_XOCLK_0_H"/>
67 <reg32 offset=
"0x5046" name=
"GMU_CX_GMU_POWER_COUNTER_XOCLK_1_L"/>
68 <reg32 offset=
"0x5047" name=
"GMU_CX_GMU_POWER_COUNTER_XOCLK_1_H"/>
69 <reg32 offset=
"0x5048" name=
"GMU_CX_GMU_POWER_COUNTER_XOCLK_2_L"/>
70 <reg32 offset=
"0x5049" name=
"GMU_CX_GMU_POWER_COUNTER_XOCLK_2_H"/>
71 <reg32 offset=
"0x504a" name=
"GMU_CX_GMU_POWER_COUNTER_XOCLK_3_L"/>
72 <reg32 offset=
"0x504b" name=
"GMU_CX_GMU_POWER_COUNTER_XOCLK_3_H"/>
73 <reg32 offset=
"0x504c" name=
"GMU_CX_GMU_POWER_COUNTER_XOCLK_4_L"/>
74 <reg32 offset=
"0x504d" name=
"GMU_CX_GMU_POWER_COUNTER_XOCLK_4_H"/>
75 <reg32 offset=
"0x504e" name=
"GMU_CX_GMU_POWER_COUNTER_XOCLK_5_L"/>
76 <reg32 offset=
"0x504f" name=
"GMU_CX_GMU_POWER_COUNTER_XOCLK_5_H"/>
77 <reg32 offset=
"0x50c0" name=
"GMU_PWR_COL_INTER_FRAME_CTRL">
78 <bitfield name=
"IFPC_ENABLE" pos=
"0" type=
"boolean"/>
79 <bitfield name=
"HM_POWER_COLLAPSE_ENABLE" pos=
"1" type=
"boolean"/>
80 <bitfield name=
"SPTPRAC_POWER_CONTROL_ENABLE" pos=
"2" type=
"boolean"/>
81 <bitfield name=
"NUM_PASS_SKIPS" low=
"10" high=
"13"/>
82 <bitfield name=
"MIN_PASS_LENGTH" low=
"14" high=
"31"/>
84 <reg32 offset=
"0x50c1" name=
"GMU_PWR_COL_INTER_FRAME_HYST"/>
85 <reg32 offset=
"0x50c2" name=
"GMU_PWR_COL_SPTPRAC_HYST"/>
86 <reg32 offset=
"0x50d0" name=
"GMU_SPTPRAC_PWR_CLK_STATUS">
87 <bitfield name=
"SPTPRAC_GDSC_POWERING_OFF" pos=
"0" type=
"boolean"/>
88 <bitfield name=
"SPTPRAC_GDSC_POWERING_ON" pos=
"1" type=
"boolean"/>
89 <bitfield name=
"SPTPRAC_GDSC_POWER_OFF" pos=
"2" type=
"boolean"/>
90 <bitfield name=
"SPTPRAC_GDSC_POWER_ON" pos=
"3" type=
"boolean"/>
91 <bitfield name=
"SP_CLOCK_OFF" pos=
"4" type=
"boolean"/>
92 <bitfield name=
"GMU_UP_POWER_STATE" pos=
"5" type=
"boolean"/>
93 <bitfield name=
"GX_HM_GDSC_POWER_OFF" pos=
"6" type=
"boolean"/>
94 <bitfield name=
"GX_HM_CLK_OFF" pos=
"7" type=
"boolean"/>
96 <reg32 offset=
"0x50e4" name=
"GMU_GPU_NAP_CTRL">
97 <bitfield name=
"HW_NAP_ENABLE" pos=
"0"/>
98 <bitfield name=
"SID" low=
"4" high=
"8"/>
100 <reg32 offset=
"0x50e8" name=
"GMU_RPMH_CTRL">
101 <bitfield name=
"RPMH_INTERFACE_ENABLE" pos=
"0" type=
"boolean"/>
102 <bitfield name=
"LLC_VOTE_ENABLE" pos=
"4" type=
"boolean"/>
103 <bitfield name=
"DDR_VOTE_ENABLE" pos=
"8" type=
"boolean"/>
104 <bitfield name=
"MX_VOTE_ENABLE" pos=
"9" type=
"boolean"/>
105 <bitfield name=
"CX_VOTE_ENABLE" pos=
"10" type=
"boolean"/>
106 <bitfield name=
"GFX_VOTE_ENABLE" pos=
"11" type=
"boolean"/>
107 <bitfield name=
"DDR_MIN_VOTE_ENABLE" pos=
"12" type=
"boolean"/>
108 <bitfield name=
"MX_MIN_VOTE_ENABLE" pos=
"13" type=
"boolean"/>
109 <bitfield name=
"CX_MIN_VOTE_ENABLE" pos=
"14" type=
"boolean"/>
110 <bitfield name=
"GFX_MIN_VOTE_ENABLE" pos=
"15" type=
"boolean"/>
112 <reg32 offset=
"0x50e9" name=
"GMU_RPMH_HYST_CTRL"/>
113 <reg32 offset=
"0x50ec" name=
"GPU_GMU_CX_GMU_RPMH_POWER_STATE"/>
114 <reg32 offset=
"0x50f0" name=
"GPU_GMU_CX_GMU_CX_FAL_INTF"/>
115 <reg32 offset=
"0x5100" name=
"GPU_GMU_CX_GMU_PWR_COL_CP_MSG"/>
116 <reg32 offset=
"0x5101" name=
"GPU_GMU_CX_GMU_PWR_COL_CP_RESP"/>
117 <reg32 offset=
"0x51f0" name=
"GMU_BOOT_KMD_LM_HANDSHAKE"/>
118 <reg32 offset=
"0x5157" name=
"GMU_LLM_GLM_SLEEP_CTRL"/>
119 <reg32 offset=
"0x5158" name=
"GMU_LLM_GLM_SLEEP_STATUS"/>
120 <reg32 offset=
"0x5088" name=
"GMU_ALWAYS_ON_COUNTER_L"/>
121 <reg32 offset=
"0x5089" name=
"GMU_ALWAYS_ON_COUNTER_H"/>
122 <reg32 offset=
"0x50c3" name=
"GMU_GMU_PWR_COL_KEEPALIVE"/>
123 <reg32 offset=
"0x5180" name=
"GMU_HFI_CTRL_STATUS"/>
124 <reg32 offset=
"0x5181" name=
"GMU_HFI_VERSION_INFO"/>
125 <reg32 offset=
"0x5182" name=
"GMU_HFI_SFR_ADDR"/>
126 <reg32 offset=
"0x5183" name=
"GMU_HFI_MMAP_ADDR"/>
127 <reg32 offset=
"0x5184" name=
"GMU_HFI_QTBL_INFO"/>
128 <reg32 offset=
"0x5185" name=
"GMU_HFI_QTBL_ADDR"/>
129 <reg32 offset=
"0x5186" name=
"GMU_HFI_CTRL_INIT"/>
130 <reg32 offset=
"0x5190" name=
"GMU_GMU2HOST_INTR_SET"/>
131 <reg32 offset=
"0x5191" name=
"GMU_GMU2HOST_INTR_CLR"/>
132 <reg32 offset=
"0x5192" name=
"GMU_GMU2HOST_INTR_INFO">
133 <bitfield name=
"MSGQ" pos=
"0" type=
"boolean"/>
134 <bitfield name=
"CM3_FAULT" pos=
"23" type=
"boolean"/>
136 <reg32 offset=
"0x5193" name=
"GMU_GMU2HOST_INTR_MASK"/>
137 <reg32 offset=
"0x5194" name=
"GMU_HOST2GMU_INTR_SET"/>
138 <reg32 offset=
"0x5195" name=
"GMU_HOST2GMU_INTR_CLR"/>
139 <reg32 offset=
"0x5196" name=
"GMU_HOST2GMU_INTR_RAW_INFO"/>
140 <reg32 offset=
"0x5197" name=
"GMU_HOST2GMU_INTR_EN_0"/>
141 <reg32 offset=
"0x5198" name=
"GMU_HOST2GMU_INTR_EN_1"/>
142 <reg32 offset=
"0x5199" name=
"GMU_HOST2GMU_INTR_EN_2"/>
143 <reg32 offset=
"0x519a" name=
"GMU_HOST2GMU_INTR_EN_3"/>
144 <reg32 offset=
"0x519b" name=
"GMU_HOST2GMU_INTR_INFO_0"/>
145 <reg32 offset=
"0x519c" name=
"GMU_HOST2GMU_INTR_INFO_1"/>
146 <reg32 offset=
"0x519d" name=
"GMU_HOST2GMU_INTR_INFO_2"/>
147 <reg32 offset=
"0x519e" name=
"GMU_HOST2GMU_INTR_INFO_3"/>
148 <reg32 offset=
"0x51c6" name=
"GMU_GENERAL_1"/>
149 <reg32 offset=
"0x51cc" name=
"GMU_GENERAL_7"/>
150 <reg32 offset=
"0x515d" name=
"GMU_ISENSE_CTRL"/>
151 <reg32 offset=
"0x8920" name=
"GPU_CS_ENABLE_REG"/>
152 <reg32 offset=
"0x515d" name=
"GPU_GMU_CX_GMU_ISENSE_CTRL"/>
153 <reg32 offset=
"0x8578" name=
"GPU_CS_AMP_CALIBRATION_CONTROL3"/>
154 <reg32 offset=
"0x8558" name=
"GPU_CS_AMP_CALIBRATION_CONTROL2"/>
155 <reg32 offset=
"0x8580" name=
"GPU_CS_A_SENSOR_CTRL_0"/>
156 <reg32 offset=
"0x27ada" name=
"GPU_CS_A_SENSOR_CTRL_2"/>
157 <reg32 offset=
"0x881a" name=
"GPU_CS_SENSOR_GENERAL_STATUS"/>
158 <reg32 offset=
"0x8957" name=
"GPU_CS_AMP_CALIBRATION_CONTROL1"/>
159 <reg32 offset=
"0x881a" name=
"GPU_CS_SENSOR_GENERAL_STATUS"/>
160 <reg32 offset=
"0x881d" name=
"GPU_CS_AMP_CALIBRATION_STATUS1_0"/>
161 <reg32 offset=
"0x881f" name=
"GPU_CS_AMP_CALIBRATION_STATUS1_2"/>
162 <reg32 offset=
"0x8821" name=
"GPU_CS_AMP_CALIBRATION_STATUS1_4"/>
163 <reg32 offset=
"0x8965" name=
"GPU_CS_AMP_CALIBRATION_DONE"/>
164 <reg32 offset=
"0x896d" name=
"GPU_CS_AMP_PERIOD_CTRL"/>
165 <reg32 offset=
"0x8965" name=
"GPU_CS_AMP_CALIBRATION_DONE"/>
166 <reg32 offset=
"0x514d" name=
"GPU_GMU_CX_GMU_PWR_THRESHOLD"/>
167 <reg32 offset=
"0x9303" name=
"GMU_AO_INTERRUPT_EN"/>
168 <reg32 offset=
"0x9304" name=
"GMU_AO_HOST_INTERRUPT_CLR"/>
169 <reg32 offset=
"0x9305" name=
"GMU_AO_HOST_INTERRUPT_STATUS">
170 <bitfield name=
"WDOG_BITE" pos=
"0" type=
"boolean"/>
171 <bitfield name=
"RSCC_COMP" pos=
"1" type=
"boolean"/>
172 <bitfield name=
"VDROOP" pos=
"2" type=
"boolean"/>
173 <bitfield name=
"FENCE_ERR" pos=
"3" type=
"boolean"/>
174 <bitfield name=
"DBD_WAKEUP" pos=
"4" type=
"boolean"/>
175 <bitfield name=
"HOST_AHB_BUS_ERROR" pos=
"5" type=
"boolean"/>
177 <reg32 offset=
"0x9306" name=
"GMU_AO_HOST_INTERRUPT_MASK"/>
178 <reg32 offset=
"0x9309" name=
"GPU_GMU_AO_GMU_CGC_MODE_CNTL"/>
179 <reg32 offset=
"0x930a" name=
"GPU_GMU_AO_GMU_CGC_DELAY_CNTL"/>
180 <reg32 offset=
"0x930b" name=
"GPU_GMU_AO_GMU_CGC_HYST_CNTL"/>
181 <reg32 offset=
"0x930c" name=
"GPU_GMU_AO_GPU_CX_BUSY_STATUS">
182 <bitfield name =
"GPUBUSYIGNAHB" pos=
"23" type=
"boolean"/>
184 <reg32 offset=
"0x930d" name=
"GPU_GMU_AO_GPU_CX_BUSY_STATUS2"/>
185 <reg32 offset=
"0x930e" name=
"GPU_GMU_AO_GPU_CX_BUSY_MASK"/>
186 <reg32 offset=
"0x9310" name=
"GMU_AO_AHB_FENCE_CTRL"/>
187 <reg32 offset=
"0x9313" name=
"GMU_AHB_FENCE_STATUS"/>
188 <reg32 offset=
"0x9315" name=
"GMU_RBBM_INT_UNMASKED_STATUS"/>
189 <reg32 offset=
"0x9316" name=
"GMU_AO_SPARE_CNTL"/>
190 <reg32 offset=
"0x9307" name=
"GMU_RSCC_CONTROL_REQ"/>
191 <reg32 offset=
"0x9308" name=
"GMU_RSCC_CONTROL_ACK"/>
192 <reg32 offset=
"0x9311" name=
"GMU_AHB_FENCE_RANGE_0"/>
193 <reg32 offset=
"0x9312" name=
"GMU_AHB_FENCE_RANGE_1"/>
194 <reg32 offset=
"0x9c03" name=
"GPU_CC_GX_GDSCR"/>
195 <reg32 offset=
"0x9d42" name=
"GPU_CC_GX_DOMAIN_MISC"/>
197 <!-- starts at offset 0x8c00 on most gpus -->
198 <reg32 offset=
"0x0004" name=
"GPU_RSCC_RSC_STATUS0_DRV0"/>
199 <reg32 offset=
"0x0008" name=
"RSCC_PDC_SEQ_START_ADDR"/>
200 <reg32 offset=
"0x0009" name=
"RSCC_PDC_MATCH_VALUE_LO"/>
201 <reg32 offset=
"0x000a" name=
"RSCC_PDC_MATCH_VALUE_HI"/>
202 <reg32 offset=
"0x000b" name=
"RSCC_PDC_SLAVE_ID_DRV0"/>
203 <reg32 offset=
"0x000d" name=
"RSCC_HIDDEN_TCS_CMD0_ADDR"/>
204 <reg32 offset=
"0x000e" name=
"RSCC_HIDDEN_TCS_CMD0_DATA"/>
205 <reg32 offset=
"0x0082" name=
"RSCC_TIMESTAMP_UNIT0_TIMESTAMP_L_DRV0"/>
206 <reg32 offset=
"0x0083" name=
"RSCC_TIMESTAMP_UNIT0_TIMESTAMP_H_DRV0"/>
207 <reg32 offset=
"0x0089" name=
"RSCC_TIMESTAMP_UNIT1_EN_DRV0"/>
208 <reg32 offset=
"0x008c" name=
"RSCC_TIMESTAMP_UNIT1_OUTPUT_DRV0"/>
209 <reg32 offset=
"0x0100" name=
"RSCC_OVERRIDE_START_ADDR"/>
210 <reg32 offset=
"0x0101" name=
"RSCC_SEQ_BUSY_DRV0"/>
211 <reg32 offset=
"0x0180" name=
"RSCC_SEQ_MEM_0_DRV0"/>
212 <reg32 offset=
"0x0346" name=
"RSCC_TCS0_DRV0_STATUS"/>
213 <reg32 offset=
"0x03ee" name=
"RSCC_TCS1_DRV0_STATUS"/>
214 <reg32 offset=
"0x0496" name=
"RSCC_TCS2_DRV0_STATUS"/>
215 <reg32 offset=
"0x053e" name=
"RSCC_TCS3_DRV0_STATUS"/>