turnip: Make sure we include the build id.
[mesa.git] / src / freedreno / registers / hdmi / hdmi.xml
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"/>
6
7 <!--
8 NOTE: also see mdss_hdmi_util.h.. newer devices using MDSS appear
9 to have the same HDMI block (or maybe a newer version?) but for
10 some reason duplicate the code under drivers/video/msm/mdss
11 -->
12
13 <domain name="HDMI" width="32">
14 <enum name="hdmi_hdcp_key_state">
15 <value name="HDCP_KEYS_STATE_NO_KEYS" value="0"/>
16 <value name="HDCP_KEYS_STATE_NOT_CHECKED" value="1"/>
17 <value name="HDCP_KEYS_STATE_CHECKING" value="2"/>
18 <value name="HDCP_KEYS_STATE_VALID" value="3"/>
19 <value name="HDCP_KEYS_STATE_AKSV_NOT_VALID" value="4"/>
20 <value name="HDCP_KEYS_STATE_CHKSUM_MISMATCH" value="5"/>
21 <value name="HDCP_KEYS_STATE_PROD_AKSV" value="6"/>
22 <value name="HDCP_KEYS_STATE_RESERVED" value="7"/>
23 </enum>
24 <enum name="hdmi_ddc_read_write">
25 <value name="DDC_WRITE" value="0"/>
26 <value name="DDC_READ" value="1"/>
27 </enum>
28 <enum name="hdmi_acr_cts">
29 <value name="ACR_NONE" value="0"/>
30 <value name="ACR_32" value="1"/>
31 <value name="ACR_44" value="2"/>
32 <value name="ACR_48" value="3"/>
33 </enum>
34
35 <reg32 offset="0x00000" name="CTRL">
36 <bitfield name="ENABLE" pos="0" type="boolean"/>
37 <bitfield name="HDMI" pos="1" type="boolean"/>
38 <bitfield name="ENCRYPTED" pos="2" type="boolean"/>
39 </reg32>
40 <reg32 offset="0x00020" name="AUDIO_PKT_CTRL1">
41 <bitfield name="AUDIO_SAMPLE_SEND" pos="0" type="boolean"/>
42 </reg32>
43 <reg32 offset="0x00024" name="ACR_PKT_CTRL">
44 <!--
45 Guessing on order of bitfields from these comments:
46 /* AUDIO_PRIORITY | SOURCE */
47 acr_pck_ctrl_reg |= 0x80000100;
48 /* N_MULTIPLE(multiplier) */
49 acr_pck_ctrl_reg |= (multiplier & 7) << 16;
50 /* SEND | CONT */
51 acr_pck_ctrl_reg |= 0x00000003;
52 -->
53 <bitfield name="CONT" pos="0" type="boolean"/>
54 <bitfield name="SEND" pos="1" type="boolean"/>
55 <bitfield name="SELECT" low="4" high="5" type="hdmi_acr_cts"/>
56 <bitfield name="SOURCE" pos="8" type="boolean"/>
57 <bitfield name="N_MULTIPLIER" low="16" high="18" type="uint"/>
58 <bitfield name="AUDIO_PRIORITY" pos="31" type="boolean"/>
59 </reg32>
60 <reg32 offset="0x0028" name="VBI_PKT_CTRL">
61 <!--
62 Guessing on the order of bits from:
63 /* GC packet enable (every frame) */
64 /* HDMI_VBI_PKT_CTRL[0x0028] */
65 hdmi_msm_rmw32or(0x0028, 3 << 4);
66 /* HDMI_VBI_PKT_CTRL[0x0028] */
67 /* ISRC Send + Continuous */
68 hdmi_msm_rmw32or(0x0028, 3 << 8);
69 /* HDMI_VBI_PKT_CTRL[0x0028] */
70 /* ACP send, s/w source */
71 hdmi_msm_rmw32or(0x0028, 3 << 12);
72 -->
73 <bitfield name="GC_ENABLE" pos="4" type="boolean"/>
74 <bitfield name="GC_EVERY_FRAME" pos="5" type="boolean"/>
75 <bitfield name="ISRC_SEND" pos="8" type="boolean"/>
76 <bitfield name="ISRC_CONTINUOUS" pos="9" type="boolean"/>
77 <bitfield name="ACP_SEND" pos="12" type="boolean"/>
78 <bitfield name="ACP_SRC_SW" pos="13" type="boolean"/>
79 </reg32>
80 <reg32 offset="0x0002c" name="INFOFRAME_CTRL0">
81 <!--
82 Guessing on the order of these flags, from this comment:
83 /* Set these flags */
84 /* AUDIO_INFO_UPDATE | AUDIO_INFO_SOURCE | AUDIO_INFO_CONT
85 | AUDIO_INFO_SEND */
86 audio_info_ctrl_reg |= 0x000000F0;
87 /* 0x3 for AVI InfFrame enable (every frame) */
88 HDMI_OUTP(0x002C, HDMI_INP(0x002C) | 0x00000003L);
89 -->
90 <bitfield name="AVI_SEND" pos="0" type="boolean"/>
91 <bitfield name="AVI_CONT" pos="1" type="boolean"/> <!-- every frame -->
92 <bitfield name="AUDIO_INFO_SEND" pos="4" type="boolean"/>
93 <bitfield name="AUDIO_INFO_CONT" pos="5" type="boolean"/> <!-- every frame -->
94 <bitfield name="AUDIO_INFO_SOURCE" pos="6" type="boolean"/>
95 <bitfield name="AUDIO_INFO_UPDATE" pos="7" type="boolean"/>
96 </reg32>
97 <reg32 offset="0x00030" name="INFOFRAME_CTRL1">
98 <bitfield name="AVI_INFO_LINE" low="0" high="5" type="uint"/>
99 <bitfield name="AUDIO_INFO_LINE" low="8" high="13" type="uint"/>
100 <bitfield name="MPEG_INFO_LINE" low="16" high="21" type="uint"/>
101 <bitfield name="VENSPEC_INFO_LINE" low="24" high="29" type="uint"/>
102 </reg32>
103 <reg32 offset="0x00034" name="GEN_PKT_CTRL">
104 <!--
105 0x0034 GEN_PKT_CTRL
106 GENERIC0_SEND 0 0 = Disable Generic0 Packet Transmission
107 1 = Enable Generic0 Packet Transmission
108 GENERIC0_CONT 1 0 = Send Generic0 Packet on next frame only
109 1 = Send Generic0 Packet on every frame
110 GENERIC0_UPDATE 2 NUM
111 GENERIC1_SEND 4 0 = Disable Generic1 Packet Transmission
112 1 = Enable Generic1 Packet Transmission
113 GENERIC1_CONT 5 0 = Send Generic1 Packet on next frame only
114 1 = Send Generic1 Packet on every frame
115 GENERIC0_LINE 21:16 NUM
116 GENERIC1_LINE 29:24 NUM
117
118 GENERIC0_LINE | GENERIC0_UPDATE | GENERIC0_CONT | GENERIC0_SEND
119 Setup HDMI TX generic packet control
120 Enable this packet to transmit every frame
121 Enable this packet to transmit every frame
122 Enable HDMI TX engine to transmit Generic packet 0
123 HDMI_OUTP(0x0034, (1 << 16) | (1 << 2) | BIT(1) | BIT(0));
124 -->
125 <bitfield name="GENERIC0_SEND" pos="0" type="boolean"/>
126 <bitfield name="GENERIC0_CONT" pos="1" type="boolean"/>
127 <bitfield name="GENERIC0_UPDATE" low="2" high="3" type="uint"/> <!-- ??? -->
128 <bitfield name="GENERIC1_SEND" pos="4" type="boolean"/>
129 <bitfield name="GENERIC1_CONT" pos="5" type="boolean"/>
130 <bitfield name="GENERIC0_LINE" low="16" high="21" type="uint"/>
131 <bitfield name="GENERIC1_LINE" low="24" high="29" type="uint"/>
132 </reg32>
133 <reg32 offset="0x00040" name="GC">
134 <bitfield name="MUTE" pos="0" type="boolean"/>
135 </reg32>
136 <reg32 offset="0x00044" name="AUDIO_PKT_CTRL2">
137 <bitfield name="OVERRIDE" pos="0" type="boolean"/>
138 <bitfield name="LAYOUT" pos="1" type="boolean"/> <!-- 1 for >2 channels -->
139 </reg32>
140
141 <!--
142 AVI_INFO appears to be the infoframe in a slightly weird order..
143 starts with PB0 (checksum), and ends with version..
144 -->
145 <reg32 offset="0x0006c" name="AVI_INFO" stride="4" length="4"/>
146
147 <reg32 offset="0x00084" name="GENERIC0_HDR"/>
148 <reg32 offset="0x00088" name="GENERIC0" stride="4" length="7"/>
149
150 <reg32 offset="0x000a4" name="GENERIC1_HDR"/>
151 <reg32 offset="0x000a8" name="GENERIC1" stride="4" length="7"/>
152
153 <!--
154 TODO add a way to show symbolic offsets into array: hdmi_acr_cts-1
155 -->
156 <array offset="0x00c4" name="ACR" length="3" stride="8" index="hdmi_acr_cts">
157 <reg32 offset="0" name="0">
158 <bitfield name="CTS" low="12" high="31" type="uint"/>
159 </reg32>
160 <reg32 offset="4" name="1">
161 <!-- not sure the actual # of bits.. -->
162 <bitfield name="N" low="0" high="31" type="uint"/>
163 </reg32>
164 </array>
165
166 <reg32 offset="0x000e4" name="AUDIO_INFO0">
167 <bitfield name="CHECKSUM" low="0" high="7"/>
168 <bitfield name="CC" low="8" high="10" type="uint"/> <!-- channel count -->
169 </reg32>
170 <reg32 offset="0x000e8" name="AUDIO_INFO1">
171 <bitfield name="CA" low="0" high="7"/> <!-- Channel Allocation -->
172 <bitfield name="LSV" low="11" high="14"/> <!-- Level Shift -->
173 <bitfield name="DM_INH" pos="15" type="boolean"/> <!-- down-mix inhibit flag -->
174 </reg32>
175 <reg32 offset="0x00110" name="HDCP_CTRL">
176 <bitfield name="ENABLE" pos="0" type="boolean"/>
177 <bitfield name="ENCRYPTION_ENABLE" pos="8" type="boolean"/>
178 </reg32>
179 <reg32 offset="0x00114" name="HDCP_DEBUG_CTRL">
180 <bitfield name="RNG_CIPHER" pos="2" type="boolean"/>
181 </reg32>
182 <reg32 offset="0x00118" name="HDCP_INT_CTRL">
183 <bitfield name="AUTH_SUCCESS_INT" pos="0" type="boolean"/>
184 <bitfield name="AUTH_SUCCESS_ACK" pos="1" type="boolean"/>
185 <bitfield name="AUTH_SUCCESS_MASK" pos="2" type="boolean"/>
186 <bitfield name="AUTH_FAIL_INT" pos="4" type="boolean"/>
187 <bitfield name="AUTH_FAIL_ACK" pos="5" type="boolean"/>
188 <bitfield name="AUTH_FAIL_MASK" pos="6" type="boolean"/>
189 <bitfield name="AUTH_FAIL_INFO_ACK" pos="7" type="boolean"/>
190 <bitfield name="AUTH_XFER_REQ_INT" pos="8" type="boolean"/>
191 <bitfield name="AUTH_XFER_REQ_ACK" pos="9" type="boolean"/>
192 <bitfield name="AUTH_XFER_REQ_MASK" pos="10" type="boolean"/>
193 <bitfield name="AUTH_XFER_DONE_INT" pos="12" type="boolean"/>
194 <bitfield name="AUTH_XFER_DONE_ACK" pos="13" type="boolean"/>
195 <bitfield name="AUTH_XFER_DONE_MASK" pos="14" type="boolean"/>
196 </reg32>
197 <reg32 offset="0x0011c" name="HDCP_LINK0_STATUS">
198 <bitfield name="AN_0_READY" pos="8" type="boolean"/>
199 <bitfield name="AN_1_READY" pos="9" type="boolean"/>
200 <bitfield name="RI_MATCHES" pos="12" type="boolean"/>
201 <bitfield name="V_MATCHES" pos="20" type="boolean"/>
202 <bitfield name="KEY_STATE" low="28" high="30" type="hdmi_hdcp_key_state"/>
203 </reg32>
204 <reg32 offset="0x00120" name="HDCP_DDC_CTRL_0">
205 <bitfield name="DISABLE" pos="0" type="boolean"/>
206 </reg32>
207 <reg32 offset="0x00124" name="HDCP_DDC_CTRL_1">
208 <bitfield name="FAILED_ACK" pos="0" type="boolean"/>
209 </reg32>
210 <reg32 offset="0x00128" name="HDCP_DDC_STATUS">
211 <bitfield name="XFER_REQ" pos="4" type="boolean"/>
212 <bitfield name="XFER_DONE" pos="10" type="boolean"/>
213 <bitfield name="ABORTED" pos="12" type="boolean"/>
214 <bitfield name="TIMEOUT" pos="13" type="boolean"/>
215 <bitfield name="NACK0" pos="14" type="boolean"/>
216 <bitfield name="NACK1" pos="15" type="boolean"/>
217 <bitfield name="FAILED" pos="16" type="boolean"/>
218 </reg32>
219
220 <reg32 offset="0x0012c" name="HDCP_ENTROPY_CTRL0"/>
221 <reg32 offset="0x0025c" name="HDCP_ENTROPY_CTRL1"/>
222
223 <reg32 offset="0x00130" name="HDCP_RESET">
224 <bitfield name="LINK0_DEAUTHENTICATE" pos="0" type="boolean"/>
225 </reg32>
226
227 <reg32 offset="0x00134" name="HDCP_RCVPORT_DATA0"/>
228 <reg32 offset="0x00138" name="HDCP_RCVPORT_DATA1"/>
229 <reg32 offset="0x0013C" name="HDCP_RCVPORT_DATA2_0"/>
230 <reg32 offset="0x00140" name="HDCP_RCVPORT_DATA2_1"/>
231 <reg32 offset="0x00144" name="HDCP_RCVPORT_DATA3"/>
232 <reg32 offset="0x00148" name="HDCP_RCVPORT_DATA4"/>
233 <reg32 offset="0x0014c" name="HDCP_RCVPORT_DATA5"/>
234 <reg32 offset="0x00150" name="HDCP_RCVPORT_DATA6"/>
235 <reg32 offset="0x00154" name="HDCP_RCVPORT_DATA7"/>
236 <reg32 offset="0x00158" name="HDCP_RCVPORT_DATA8"/>
237 <reg32 offset="0x0015c" name="HDCP_RCVPORT_DATA9"/>
238 <reg32 offset="0x00160" name="HDCP_RCVPORT_DATA10"/>
239 <reg32 offset="0x00164" name="HDCP_RCVPORT_DATA11"/>
240 <reg32 offset="0x00168" name="HDCP_RCVPORT_DATA12"/>
241
242 <reg32 offset="0x0016c" name="VENSPEC_INFO0"/>
243 <reg32 offset="0x00170" name="VENSPEC_INFO1"/>
244 <reg32 offset="0x00174" name="VENSPEC_INFO2"/>
245 <reg32 offset="0x00178" name="VENSPEC_INFO3"/>
246 <reg32 offset="0x0017c" name="VENSPEC_INFO4"/>
247 <reg32 offset="0x00180" name="VENSPEC_INFO5"/>
248 <reg32 offset="0x00184" name="VENSPEC_INFO6"/>
249
250 <reg32 offset="0x001d0" name="AUDIO_CFG">
251 <bitfield name="ENGINE_ENABLE" pos="0" type="boolean"/>
252 <bitfield name="FIFO_WATERMARK" low="4" high="7" type="uint"/>
253 </reg32>
254
255 <reg32 offset="0x00208" name="USEC_REFTIMER"/>
256 <reg32 offset="0x0020c" name="DDC_CTRL">
257 <!--
258 0x020C HDMI_DDC_CTRL
259 [21:20] TRANSACTION_CNT
260 Number of transactions to be done in current transfer.
261 * 0x0: transaction0 only
262 * 0x1: transaction0, transaction1
263 * 0x2: transaction0, transaction1, transaction2
264 * 0x3: transaction0, transaction1, transaction2, transaction3
265 [3] SW_STATUS_RESET
266 Write 1 to reset HDMI_DDC_SW_STATUS flags, will reset SW_DONE,
267 ABORTED, TIMEOUT, SW_INTERRUPTED, BUFFER_OVERFLOW,
268 STOPPED_ON_NACK, NACK0, NACK1, NACK2, NACK3
269 [2] SEND_RESET Set to 1 to send reset sequence (9 clocks with no
270 data) at start of transfer. This sequence is sent after GO is
271 written to 1, before the first transaction only.
272 [1] SOFT_RESET Write 1 to reset DDC controller
273 [0] GO WRITE ONLY. Write 1 to start DDC transfer.
274 -->
275 <bitfield name="GO" pos="0" type="boolean"/>
276 <bitfield name="SOFT_RESET" pos="1" type="boolean"/>
277 <bitfield name="SEND_RESET" pos="2" type="boolean"/>
278 <bitfield name="SW_STATUS_RESET" pos="3" type="boolean"/>
279 <bitfield name="TRANSACTION_CNT" low="20" high="21" type="uint"/>
280 </reg32>
281 <reg32 offset="0x00210" name="DDC_ARBITRATION">
282 <bitfield name="HW_ARBITRATION" pos="4" type="boolean"/>
283 </reg32>
284 <reg32 offset="0x00214" name="DDC_INT_CTRL">
285 <!--
286 HDMI_DDC_INT_CTRL[0x0214]
287 [2] SW_DONE_MK Mask bit for SW_DONE_INT. Set to 1 to enable
288 interrupt.
289 [1] SW_DONE_ACK WRITE ONLY. Acknowledge bit for SW_DONE_INT.
290 Write 1 to clear interrupt.
291 [0] SW_DONE_INT READ ONLY. SW_DONE interrupt status */
292 -->
293 <bitfield name="SW_DONE_INT" pos="0" type="boolean"/>
294 <bitfield name="SW_DONE_ACK" pos="1" type="boolean"/>
295 <bitfield name="SW_DONE_MASK" pos="2" type="boolean"/>
296 </reg32>
297 <reg32 offset="0x00218" name="DDC_SW_STATUS">
298 <bitfield name="NACK0" pos="12" type="boolean"/>
299 <bitfield name="NACK1" pos="13" type="boolean"/>
300 <bitfield name="NACK2" pos="14" type="boolean"/>
301 <bitfield name="NACK3" pos="15" type="boolean"/>
302 </reg32>
303 <reg32 offset="0x0021c" name="DDC_HW_STATUS">
304 <bitfield name="DONE" pos="3" type="boolean"/>
305 </reg32>
306 <reg32 offset="0x00220" name="DDC_SPEED">
307 <!--
308 0x0220 HDMI_DDC_SPEED
309 [31:16] PRESCALE prescale = (m * xtal_frequency) /
310 (desired_i2c_speed), where m is multiply
311 factor, default: m = 1
312 [1:0] THRESHOLD Select threshold to use to determine whether value
313 sampled on SDA is a 1 or 0. Specified in terms of the ratio
314 between the number of sampled ones and the total number of times
315 SDA is sampled.
316 * 0x0: >0
317 * 0x1: 1/4 of total samples
318 * 0x2: 1/2 of total samples
319 * 0x3: 3/4 of total samples */
320 -->
321 <bitfield name="THRESHOLD" low="0" high="1" type="uint"/>
322 <bitfield name="PRESCALE" low="16" high="31" type="uint"/>
323 </reg32>
324 <reg32 offset="0x00224" name="DDC_SETUP">
325 <!--
326 * 0x0224 HDMI_DDC_SETUP
327 * Setting 31:24 bits : Time units to wait before timeout
328 * when clock is being stalled by external sink device
329 -->
330 <bitfield name="TIMEOUT" low="24" high="31" type="uint"/>
331 </reg32>
332 <!-- Guessing length is 4, as elsewhere the are references to trans0 thru trans3 -->
333 <array offset="0x00228" name="I2C_TRANSACTION" length="4" stride="4">
334 <reg32 offset="0" name="REG">
335 <!--
336 0x0228 HDMI_DDC_TRANS0
337 [23:16] CNT0 Byte count for first transaction (excluding the first
338 byte, which is usually the address).
339 [13] STOP0 Determines whether a stop bit will be sent after the first
340 transaction
341 * 0: NO STOP
342 * 1: STOP
343 [12] START0 Determines whether a start bit will be sent before the
344 first transaction
345 * 0: NO START
346 * 1: START
347 [8] STOP_ON_NACK0 Determines whether the current transfer will stop
348 if a NACK is received during the first transaction (current
349 transaction always stops).
350 * 0: STOP CURRENT TRANSACTION, GO TO NEXT TRANSACTION
351 * 1: STOP ALL TRANSACTIONS, SEND STOP BIT
352 [0] RW0 Read/write indicator for first transaction - set to 0 for
353 write, 1 for read. This bit only controls HDMI_DDC behaviour -
354 the R/W bit in the transaction is programmed into the DDC buffer
355 as the LSB of the address byte.
356 * 0: WRITE
357 * 1: READ
358 -->
359 <bitfield name="RW" pos="0" type="hdmi_ddc_read_write"/>
360 <bitfield name="STOP_ON_NACK" pos="8" type="boolean"/>
361 <bitfield name="START" pos="12" type="boolean"/>
362 <bitfield name="STOP" pos="13" type="boolean"/>
363 <bitfield name="CNT" low="16" high="23" type="uint"/>
364 </reg32>
365 </array>
366 <reg32 offset="0x00238" name="DDC_DATA">
367 <!--
368 0x0238 HDMI_DDC_DATA
369 [31] INDEX_WRITE WRITE ONLY. To write index field, set this bit to
370 1 while writing HDMI_DDC_DATA.
371 [23:16] INDEX Use to set index into DDC buffer for next read or
372 current write, or to read index of current read or next write.
373 Writable only when INDEX_WRITE=1.
374 [15:8] DATA Use to fill or read the DDC buffer
375 [0] DATA_RW Select whether buffer access will be a read or write.
376 For writes, address auto-increments on write to HDMI_DDC_DATA.
377 For reads, address autoincrements on reads to HDMI_DDC_DATA.
378 * 0: Write
379 * 1: Read
380 -->
381 <bitfield name="DATA_RW" pos="0" type="hdmi_ddc_read_write"/>
382 <bitfield name="DATA" low="8" high="15" type="uint"/>
383 <bitfield name="INDEX" low="16" high="23" type="uint"/>
384 <bitfield name="INDEX_WRITE" pos="31" type="boolean"/>
385 </reg32>
386
387 <reg32 offset="0x0023c" name="HDCP_SHA_CTRL"/>
388 <reg32 offset="0x00240" name="HDCP_SHA_STATUS">
389 <bitfield name="BLOCK_DONE" pos="0" type="boolean"/>
390 <bitfield name="COMP_DONE" pos="4" type="boolean"/>
391 </reg32>
392 <reg32 offset="0x00244" name="HDCP_SHA_DATA">
393 <bitfield name="DONE" pos="0" type="boolean"/>
394 </reg32>
395
396 <reg32 offset="0x00250" name="HPD_INT_STATUS">
397 <bitfield name="INT" pos="0" type="boolean"/> <!-- an irq has occurred -->
398 <bitfield name="CABLE_DETECTED" pos="1" type="boolean"/>
399 </reg32>
400 <reg32 offset="0x00254" name="HPD_INT_CTRL">
401 <!-- (this useful comment was removed in df6b645.. git archaeology is fun)
402 HPD_INT_CTRL[0x0254]
403 31:10 Reserved
404 9 RCV_PLUGIN_DET_MASK receiver plug in interrupt mask.
405 When programmed to 1,
406 RCV_PLUGIN_DET_INT will toggle
407 the interrupt line
408 8:6 Reserved
409 5 RX_INT_EN Panel RX interrupt enable
410 0: Disable
411 1: Enable
412 4 RX_INT_ACK WRITE ONLY. Panel RX interrupt
413 ack
414 3 Reserved
415 2 INT_EN Panel interrupt control
416 0: Disable
417 1: Enable
418 1 INT_POLARITY Panel interrupt polarity
419 0: generate interrupt on disconnect
420 1: generate interrupt on connect
421 0 INT_ACK WRITE ONLY. Panel interrupt ack
422 -->
423 <bitfield name="INT_ACK" pos="0" type="boolean"/>
424 <bitfield name="INT_CONNECT" pos="1" type="boolean"/>
425 <bitfield name="INT_EN" pos="2" type="boolean"/>
426 <bitfield name="RX_INT_ACK" pos="4" type="boolean"/>
427 <bitfield name="RX_INT_EN" pos="5" type="boolean"/>
428 <bitfield name="RCV_PLUGIN_DET_MASK" pos="9" type="boolean"/>
429 </reg32>
430 <reg32 offset="0x00258" name="HPD_CTRL">
431 <bitfield name="TIMEOUT" low="0" high="12" type="uint"/>
432 <bitfield name="ENABLE" pos="28" type="boolean"/>
433 </reg32>
434 <reg32 offset="0x0027c" name="DDC_REF">
435 <!--
436 0x027C HDMI_DDC_REF
437 [16] REFTIMER_ENABLE Enable the timer
438 * 0: Disable
439 * 1: Enable
440 [15:0] REFTIMER Value to set the register in order to generate
441 DDC strobe. This register counts on HDCP application clock
442
443 /* Enable reference timer
444 * 27 micro-seconds */
445 HDMI_OUTP_ND(0x027C, (1 << 16) | (27 << 0));
446 -->
447 <bitfield name="REFTIMER_ENABLE" pos="16" type="boolean"/>
448 <bitfield name="REFTIMER" low="0" high="15" type="uint"/>
449 </reg32>
450
451 <reg32 offset="0x00284" name="HDCP_SW_UPPER_AKSV"/>
452 <reg32 offset="0x00288" name="HDCP_SW_LOWER_AKSV"/>
453
454 <reg32 offset="0x0028c" name="CEC_CTRL"/>
455 <reg32 offset="0x00290" name="CEC_WR_DATA"/>
456 <reg32 offset="0x00294" name="CEC_CEC_RETRANSMIT"/>
457 <reg32 offset="0x00298" name="CEC_STATUS"/>
458 <reg32 offset="0x0029c" name="CEC_INT"/>
459 <reg32 offset="0x002a0" name="CEC_ADDR"/>
460 <reg32 offset="0x002a4" name="CEC_TIME"/>
461 <reg32 offset="0x002a8" name="CEC_REFTIMER"/>
462 <reg32 offset="0x002ac" name="CEC_RD_DATA"/>
463 <reg32 offset="0x002b0" name="CEC_RD_FILTER"/>
464
465 <reg32 offset="0x002b4" name="ACTIVE_HSYNC">
466 <bitfield name="START" low="0" high="12" type="uint"/>
467 <bitfield name="END" low="16" high="27" type="uint"/>
468 </reg32>
469 <reg32 offset="0x002b8" name="ACTIVE_VSYNC">
470 <bitfield name="START" low="0" high="12" type="uint"/>
471 <bitfield name="END" low="16" high="28" type="uint"/>
472 </reg32>
473 <reg32 offset="0x002bc" name="VSYNC_ACTIVE_F2">
474 <!-- interlaced, frame 2 -->
475 <bitfield name="START" low="0" high="12" type="uint"/>
476 <bitfield name="END" low="16" high="28" type="uint"/>
477 </reg32>
478 <reg32 offset="0x002c0" name="TOTAL">
479 <bitfield name="H_TOTAL" low="0" high="12" type="uint"/>
480 <bitfield name="V_TOTAL" low="16" high="28" type="uint"/>
481 </reg32>
482 <reg32 offset="0x002c4" name="VSYNC_TOTAL_F2">
483 <!-- interlaced, frame 2 -->
484 <bitfield name="V_TOTAL" low="0" high="12" type="uint"/>
485 </reg32>
486 <reg32 offset="0x002c8" name="FRAME_CTRL">
487 <bitfield name="RGB_MUX_SEL_BGR" pos="12" type="boolean"/>
488 <bitfield name="VSYNC_LOW" pos="28" type="boolean"/>
489 <bitfield name="HSYNC_LOW" pos="29" type="boolean"/>
490 <bitfield name="INTERLACED_EN" pos="31" type="boolean"/>
491 </reg32>
492 <reg32 offset="0x002cc" name="AUD_INT">
493 <!--
494 HDMI_AUD_INT[0x02CC]
495 [3] AUD_SAM_DROP_MASK [R/W]
496 [2] AUD_SAM_DROP_ACK [W], AUD_SAM_DROP_INT [R]
497 [1] AUD_FIFO_URUN_MASK [R/W]
498 [0] AUD_FIFO_URUN_ACK [W], AUD_FIFO_URUN_INT [R]
499 -->
500 <bitfield name="AUD_FIFO_URUN_INT" pos="0" type="boolean"/> <!-- write to ack irq -->
501 <bitfield name="AUD_FIFO_URAN_MASK" pos="1" type="boolean"/> <!-- r/w, enables irq -->
502 <bitfield name="AUD_SAM_DROP_INT" pos="2" type="boolean"/> <!-- write to ack irq -->
503 <bitfield name="AUD_SAM_DROP_MASK" pos="3" type="boolean"/> <!-- r/w, enables irq -->
504 </reg32>
505 <reg32 offset="0x002d4" name="PHY_CTRL">
506 <!--
507 in hdmi_phy_reset() it appears to be toggling SW_RESET/
508 SW_RESET_PLL based on the value of the bit above, so
509 I'm guessing the bit above is a polarit bit
510 -->
511 <bitfield name="SW_RESET_PLL" pos="0" type="boolean"/>
512 <bitfield name="SW_RESET_PLL_LOW" pos="1" type="boolean"/>
513 <bitfield name="SW_RESET" pos="2" type="boolean"/>
514 <bitfield name="SW_RESET_LOW" pos="3" type="boolean"/>
515 </reg32>
516 <reg32 offset="0x002dc" name="CEC_WR_RANGE"/>
517 <reg32 offset="0x002e0" name="CEC_RD_RANGE"/>
518 <reg32 offset="0x002e4" name="VERSION"/>
519 <reg32 offset="0x00360" name="CEC_COMPL_CTL"/>
520 <reg32 offset="0x00364" name="CEC_RD_START_RANGE"/>
521 <reg32 offset="0x00368" name="CEC_RD_TOTAL_RANGE"/>
522 <reg32 offset="0x0036c" name="CEC_RD_ERR_RESP_LO"/>
523 <reg32 offset="0x00370" name="CEC_WR_CHECK_CONFIG"/>
524
525 </domain>
526
527 <domain name="HDMI_8x60" width="32">
528 <reg32 offset="0x00000" name="PHY_REG0">
529 <bitfield name="DESER_DEL_CTRL" low="2" high="4" type="uint"/>
530 </reg32>
531 <reg32 offset="0x00004" name="PHY_REG1">
532 <bitfield name="DTEST_MUX_SEL" low="4" high="7" type="uint"/>
533 <bitfield name="OUTVOL_SWING_CTRL" low="0" high="3" type="uint"/>
534 </reg32>
535 <reg32 offset="0x00008" name="PHY_REG2">
536 <bitfield name="PD_DESER" pos="0" type="boolean"/>
537 <bitfield name="PD_DRIVE_1" pos="1" type="boolean"/>
538 <bitfield name="PD_DRIVE_2" pos="2" type="boolean"/>
539 <bitfield name="PD_DRIVE_3" pos="3" type="boolean"/>
540 <bitfield name="PD_DRIVE_4" pos="4" type="boolean"/>
541 <bitfield name="PD_PLL" pos="5" type="boolean"/>
542 <bitfield name="PD_PWRGEN" pos="6" type="boolean"/>
543 <bitfield name="RCV_SENSE_EN" pos="7" type="boolean"/>
544 </reg32>
545 <reg32 offset="0x0000c" name="PHY_REG3">
546 <bitfield name="PLL_ENABLE" pos="0" type="boolean"/>
547 </reg32>
548 <reg32 offset="0x00010" name="PHY_REG4"/>
549 <reg32 offset="0x00014" name="PHY_REG5"/>
550 <reg32 offset="0x00018" name="PHY_REG6"/>
551 <reg32 offset="0x0001c" name="PHY_REG7"/>
552 <reg32 offset="0x00020" name="PHY_REG8"/>
553 <reg32 offset="0x00024" name="PHY_REG9"/>
554 <reg32 offset="0x00028" name="PHY_REG10"/>
555 <reg32 offset="0x0002c" name="PHY_REG11"/>
556 <reg32 offset="0x00030" name="PHY_REG12">
557 <bitfield name="RETIMING_EN" pos="0" type="boolean"/>
558 <bitfield name="PLL_LOCK_DETECT_EN" pos="1" type="boolean"/>
559 <bitfield name="FORCE_LOCK" pos="4" type="boolean"/>
560 </reg32>
561 </domain>
562
563 <domain name="HDMI_8960" width="32">
564 <!--
565 some of the bitfields may be same as 8x60.. but no helpful comments
566 in msm_dss_io_8960.c
567 -->
568 <reg32 offset="0x00000" name="PHY_REG0"/>
569 <reg32 offset="0x00004" name="PHY_REG1"/>
570 <reg32 offset="0x00008" name="PHY_REG2"/>
571 <reg32 offset="0x0000c" name="PHY_REG3"/>
572 <reg32 offset="0x00010" name="PHY_REG4"/>
573 <reg32 offset="0x00014" name="PHY_REG5"/>
574 <reg32 offset="0x00018" name="PHY_REG6"/>
575 <reg32 offset="0x0001c" name="PHY_REG7"/>
576 <reg32 offset="0x00020" name="PHY_REG8"/>
577 <reg32 offset="0x00024" name="PHY_REG9"/>
578 <reg32 offset="0x00028" name="PHY_REG10"/>
579 <reg32 offset="0x0002c" name="PHY_REG11"/>
580 <reg32 offset="0x00030" name="PHY_REG12">
581 <bitfield name="SW_RESET" pos="5" type="boolean"/>
582 <bitfield name="PWRDN_B" pos="7" type="boolean"/>
583 </reg32>
584 <reg32 offset="0x00034" name="PHY_REG_BIST_CFG"/>
585 <reg32 offset="0x00038" name="PHY_DEBUG_BUS_SEL"/>
586 <reg32 offset="0x0003c" name="PHY_REG_MISC0"/>
587 <reg32 offset="0x00040" name="PHY_REG13"/>
588 <reg32 offset="0x00044" name="PHY_REG14"/>
589 <reg32 offset="0x00048" name="PHY_REG15"/>
590 </domain>
591
592 <domain name="HDMI_8960_PHY_PLL" width="32">
593 <reg32 offset="0x00000" name="REFCLK_CFG"/>
594 <reg32 offset="0x00004" name="CHRG_PUMP_CFG"/>
595 <reg32 offset="0x00008" name="LOOP_FLT_CFG0"/>
596 <reg32 offset="0x0000c" name="LOOP_FLT_CFG1"/>
597 <reg32 offset="0x00010" name="IDAC_ADJ_CFG"/>
598 <reg32 offset="0x00014" name="I_VI_KVCO_CFG"/>
599 <reg32 offset="0x00018" name="PWRDN_B">
600 <bitfield name="PD_PLL" pos="1" type="boolean"/>
601 <bitfield name="PLL_PWRDN_B" pos="3" type="boolean"/>
602 </reg32>
603 <reg32 offset="0x0001c" name="SDM_CFG0"/>
604 <reg32 offset="0x00020" name="SDM_CFG1"/>
605 <reg32 offset="0x00024" name="SDM_CFG2"/>
606 <reg32 offset="0x00028" name="SDM_CFG3"/>
607 <reg32 offset="0x0002c" name="SDM_CFG4"/>
608 <reg32 offset="0x00030" name="SSC_CFG0"/>
609 <reg32 offset="0x00034" name="SSC_CFG1"/>
610 <reg32 offset="0x00038" name="SSC_CFG2"/>
611 <reg32 offset="0x0003c" name="SSC_CFG3"/>
612 <reg32 offset="0x00040" name="LOCKDET_CFG0"/>
613 <reg32 offset="0x00044" name="LOCKDET_CFG1"/>
614 <reg32 offset="0x00048" name="LOCKDET_CFG2"/>
615 <reg32 offset="0x0004c" name="VCOCAL_CFG0"/>
616 <reg32 offset="0x00050" name="VCOCAL_CFG1"/>
617 <reg32 offset="0x00054" name="VCOCAL_CFG2"/>
618 <reg32 offset="0x00058" name="VCOCAL_CFG3"/>
619 <reg32 offset="0x0005c" name="VCOCAL_CFG4"/>
620 <reg32 offset="0x00060" name="VCOCAL_CFG5"/>
621 <reg32 offset="0x00064" name="VCOCAL_CFG6"/>
622 <reg32 offset="0x00068" name="VCOCAL_CFG7"/>
623 <reg32 offset="0x0006c" name="DEBUG_SEL"/>
624 <reg32 offset="0x00070" name="MISC0"/>
625 <reg32 offset="0x00074" name="MISC1"/>
626 <reg32 offset="0x00078" name="MISC2"/>
627 <reg32 offset="0x0007c" name="MISC3"/>
628 <reg32 offset="0x00080" name="MISC4"/>
629 <reg32 offset="0x00084" name="MISC5"/>
630 <reg32 offset="0x00088" name="MISC6"/>
631 <reg32 offset="0x0008c" name="DEBUG_BUS0"/>
632 <reg32 offset="0x00090" name="DEBUG_BUS1"/>
633 <reg32 offset="0x00094" name="DEBUG_BUS2"/>
634 <reg32 offset="0x00098" name="STATUS0">
635 <bitfield name="PLL_LOCK" pos="0" type="boolean"/>
636 </reg32>
637 <reg32 offset="0x0009c" name="STATUS1"/>
638 </domain>
639
640 <domain name="HDMI_8x74" width="32">
641 <!--
642 seems to be all mdp5+ have same?
643 -->
644 <reg32 offset="0x00000" name="ANA_CFG0"/>
645 <reg32 offset="0x00004" name="ANA_CFG1"/>
646 <reg32 offset="0x00010" name="PD_CTRL0"/>
647 <reg32 offset="0x00014" name="PD_CTRL1"/>
648 <reg32 offset="0x00034" name="BIST_CFG0"/>
649 <reg32 offset="0x0003c" name="BIST_PATN0"/>
650 <reg32 offset="0x00040" name="BIST_PATN1"/>
651 <reg32 offset="0x00044" name="BIST_PATN2"/>
652 <reg32 offset="0x00048" name="BIST_PATN3"/>
653 </domain>
654
655 <domain name="HDMI_28nm_PHY_PLL" width="32">
656 <reg32 offset="0x00000" name="REFCLK_CFG"/>
657 <reg32 offset="0x00004" name="POSTDIV1_CFG"/>
658 <reg32 offset="0x00008" name="CHGPUMP_CFG"/>
659 <reg32 offset="0x0000C" name="VCOLPF_CFG"/>
660 <reg32 offset="0x00010" name="VREG_CFG"/>
661 <reg32 offset="0x00014" name="PWRGEN_CFG"/>
662 <reg32 offset="0x00018" name="DMUX_CFG"/>
663 <reg32 offset="0x0001C" name="AMUX_CFG"/>
664 <reg32 offset="0x00020" name="GLB_CFG">
665 <bitfield name="PLL_PWRDN_B" pos="0" type="boolean"/>
666 <bitfield name="PLL_LDO_PWRDN_B" pos="1" type="boolean"/>
667 <bitfield name="PLL_PWRGEN_PWRDN_B" pos="2" type="boolean"/>
668 <bitfield name="PLL_ENABLE" pos="3" type="boolean"/>
669 </reg32>
670 <reg32 offset="0x00024" name="POSTDIV2_CFG"/>
671 <reg32 offset="0x00028" name="POSTDIV3_CFG"/>
672 <reg32 offset="0x0002C" name="LPFR_CFG"/>
673 <reg32 offset="0x00030" name="LPFC1_CFG"/>
674 <reg32 offset="0x00034" name="LPFC2_CFG"/>
675 <reg32 offset="0x00038" name="SDM_CFG0"/>
676 <reg32 offset="0x0003C" name="SDM_CFG1"/>
677 <reg32 offset="0x00040" name="SDM_CFG2"/>
678 <reg32 offset="0x00044" name="SDM_CFG3"/>
679 <reg32 offset="0x00048" name="SDM_CFG4"/>
680 <reg32 offset="0x0004C" name="SSC_CFG0"/>
681 <reg32 offset="0x00050" name="SSC_CFG1"/>
682 <reg32 offset="0x00054" name="SSC_CFG2"/>
683 <reg32 offset="0x00058" name="SSC_CFG3"/>
684 <reg32 offset="0x0005C" name="LKDET_CFG0"/>
685 <reg32 offset="0x00060" name="LKDET_CFG1"/>
686 <reg32 offset="0x00064" name="LKDET_CFG2"/>
687 <reg32 offset="0x00068" name="TEST_CFG">
688 <bitfield name="PLL_SW_RESET" pos="0" type="boolean"/>
689 </reg32>
690 <reg32 offset="0x0006C" name="CAL_CFG0"/>
691 <reg32 offset="0x00070" name="CAL_CFG1"/>
692 <reg32 offset="0x00074" name="CAL_CFG2"/>
693 <reg32 offset="0x00078" name="CAL_CFG3"/>
694 <reg32 offset="0x0007C" name="CAL_CFG4"/>
695 <reg32 offset="0x00080" name="CAL_CFG5"/>
696 <reg32 offset="0x00084" name="CAL_CFG6"/>
697 <reg32 offset="0x00088" name="CAL_CFG7"/>
698 <reg32 offset="0x0008C" name="CAL_CFG8"/>
699 <reg32 offset="0x00090" name="CAL_CFG9"/>
700 <reg32 offset="0x00094" name="CAL_CFG10"/>
701 <reg32 offset="0x00098" name="CAL_CFG11"/>
702 <reg32 offset="0x0009C" name="EFUSE_CFG"/>
703 <reg32 offset="0x000A0" name="DEBUG_BUS_SEL"/>
704 </domain>
705
706 <domain name="HDMI_8996_PHY" width="32">
707 <reg32 offset="0x00000" name="CFG"/>
708 <reg32 offset="0x00004" name="PD_CTL"/>
709 <reg32 offset="0x00008" name="MODE"/>
710 <reg32 offset="0x0000C" name="MISR_CLEAR"/>
711 <reg32 offset="0x00010" name="TX0_TX1_BIST_CFG0"/>
712 <reg32 offset="0x00014" name="TX0_TX1_BIST_CFG1"/>
713 <reg32 offset="0x00018" name="TX0_TX1_PRBS_SEED_BYTE0"/>
714 <reg32 offset="0x0001C" name="TX0_TX1_PRBS_SEED_BYTE1"/>
715 <reg32 offset="0x00020" name="TX0_TX1_BIST_PATTERN0"/>
716 <reg32 offset="0x00024" name="TX0_TX1_BIST_PATTERN1"/>
717 <reg32 offset="0x00028" name="TX2_TX3_BIST_CFG0"/>
718 <reg32 offset="0x0002C" name="TX2_TX3_BIST_CFG1"/>
719 <reg32 offset="0x00030" name="TX2_TX3_PRBS_SEED_BYTE0"/>
720 <reg32 offset="0x00034" name="TX2_TX3_PRBS_SEED_BYTE1"/>
721 <reg32 offset="0x00038" name="TX2_TX3_BIST_PATTERN0"/>
722 <reg32 offset="0x0003C" name="TX2_TX3_BIST_PATTERN1"/>
723 <reg32 offset="0x00040" name="DEBUG_BUS_SEL"/>
724 <reg32 offset="0x00044" name="TXCAL_CFG0"/>
725 <reg32 offset="0x00048" name="TXCAL_CFG1"/>
726 <reg32 offset="0x0004C" name="TX0_TX1_LANE_CTL"/>
727 <reg32 offset="0x00050" name="TX2_TX3_LANE_CTL"/>
728 <reg32 offset="0x00054" name="LANE_BIST_CONFIG"/>
729 <reg32 offset="0x00058" name="CLOCK"/>
730 <reg32 offset="0x0005C" name="MISC1"/>
731 <reg32 offset="0x00060" name="MISC2"/>
732 <reg32 offset="0x00064" name="TX0_TX1_BIST_STATUS0"/>
733 <reg32 offset="0x00068" name="TX0_TX1_BIST_STATUS1"/>
734 <reg32 offset="0x0006C" name="TX0_TX1_BIST_STATUS2"/>
735 <reg32 offset="0x00070" name="TX2_TX3_BIST_STATUS0"/>
736 <reg32 offset="0x00074" name="TX2_TX3_BIST_STATUS1"/>
737 <reg32 offset="0x00078" name="TX2_TX3_BIST_STATUS2"/>
738 <reg32 offset="0x0007C" name="PRE_MISR_STATUS0"/>
739 <reg32 offset="0x00080" name="PRE_MISR_STATUS1"/>
740 <reg32 offset="0x00084" name="PRE_MISR_STATUS2"/>
741 <reg32 offset="0x00088" name="PRE_MISR_STATUS3"/>
742 <reg32 offset="0x0008C" name="POST_MISR_STATUS0"/>
743 <reg32 offset="0x00090" name="POST_MISR_STATUS1"/>
744 <reg32 offset="0x00094" name="POST_MISR_STATUS2"/>
745 <reg32 offset="0x00098" name="POST_MISR_STATUS3"/>
746 <reg32 offset="0x0009C" name="STATUS"/>
747 <reg32 offset="0x000A0" name="MISC3_STATUS"/>
748 <reg32 offset="0x000A4" name="MISC4_STATUS"/>
749 <reg32 offset="0x000A8" name="DEBUG_BUS0"/>
750 <reg32 offset="0x000AC" name="DEBUG_BUS1"/>
751 <reg32 offset="0x000B0" name="DEBUG_BUS2"/>
752 <reg32 offset="0x000B4" name="DEBUG_BUS3"/>
753 <reg32 offset="0x000B8" name="PHY_REVISION_ID0"/>
754 <reg32 offset="0x000BC" name="PHY_REVISION_ID1"/>
755 <reg32 offset="0x000C0" name="PHY_REVISION_ID2"/>
756 <reg32 offset="0x000C4" name="PHY_REVISION_ID3"/>
757 </domain>
758
759 <domain name="HDMI_PHY_QSERDES_COM" width="32">
760 <reg32 offset="0x00000" name="ATB_SEL1"/>
761 <reg32 offset="0x00004" name="ATB_SEL2"/>
762 <reg32 offset="0x00008" name="FREQ_UPDATE"/>
763 <reg32 offset="0x0000C" name="BG_TIMER"/>
764 <reg32 offset="0x00010" name="SSC_EN_CENTER"/>
765 <reg32 offset="0x00014" name="SSC_ADJ_PER1"/>
766 <reg32 offset="0x00018" name="SSC_ADJ_PER2"/>
767 <reg32 offset="0x0001C" name="SSC_PER1"/>
768 <reg32 offset="0x00020" name="SSC_PER2"/>
769 <reg32 offset="0x00024" name="SSC_STEP_SIZE1"/>
770 <reg32 offset="0x00028" name="SSC_STEP_SIZE2"/>
771 <reg32 offset="0x0002C" name="POST_DIV"/>
772 <reg32 offset="0x00030" name="POST_DIV_MUX"/>
773 <reg32 offset="0x00034" name="BIAS_EN_CLKBUFLR_EN"/>
774 <reg32 offset="0x00038" name="CLK_ENABLE1"/>
775 <reg32 offset="0x0003C" name="SYS_CLK_CTRL"/>
776 <reg32 offset="0x00040" name="SYSCLK_BUF_ENABLE"/>
777 <reg32 offset="0x00044" name="PLL_EN"/>
778 <reg32 offset="0x00048" name="PLL_IVCO"/>
779 <reg32 offset="0x0004C" name="LOCK_CMP1_MODE0"/>
780 <reg32 offset="0x00050" name="LOCK_CMP2_MODE0"/>
781 <reg32 offset="0x00054" name="LOCK_CMP3_MODE0"/>
782 <reg32 offset="0x00058" name="LOCK_CMP1_MODE1"/>
783 <reg32 offset="0x0005C" name="LOCK_CMP2_MODE1"/>
784 <reg32 offset="0x00060" name="LOCK_CMP3_MODE1"/>
785 <reg32 offset="0x00064" name="LOCK_CMP1_MODE2"/>
786 <reg32 offset="0x00064" name="CMN_RSVD0"/>
787 <reg32 offset="0x00068" name="LOCK_CMP2_MODE2"/>
788 <reg32 offset="0x00068" name="EP_CLOCK_DETECT_CTRL"/>
789 <reg32 offset="0x0006C" name="LOCK_CMP3_MODE2"/>
790 <reg32 offset="0x0006C" name="SYSCLK_DET_COMP_STATUS"/>
791 <reg32 offset="0x00070" name="BG_TRIM"/>
792 <reg32 offset="0x00074" name="CLK_EP_DIV"/>
793 <reg32 offset="0x00078" name="CP_CTRL_MODE0"/>
794 <reg32 offset="0x0007C" name="CP_CTRL_MODE1"/>
795 <reg32 offset="0x00080" name="CP_CTRL_MODE2"/>
796 <reg32 offset="0x00080" name="CMN_RSVD1"/>
797 <reg32 offset="0x00084" name="PLL_RCTRL_MODE0"/>
798 <reg32 offset="0x00088" name="PLL_RCTRL_MODE1"/>
799 <reg32 offset="0x0008C" name="PLL_RCTRL_MODE2"/>
800 <reg32 offset="0x0008C" name="CMN_RSVD2"/>
801 <reg32 offset="0x00090" name="PLL_CCTRL_MODE0"/>
802 <reg32 offset="0x00094" name="PLL_CCTRL_MODE1"/>
803 <reg32 offset="0x00098" name="PLL_CCTRL_MODE2"/>
804 <reg32 offset="0x00098" name="CMN_RSVD3"/>
805 <reg32 offset="0x0009C" name="PLL_CNTRL"/>
806 <reg32 offset="0x000A0" name="PHASE_SEL_CTRL"/>
807 <reg32 offset="0x000A4" name="PHASE_SEL_DC"/>
808 <reg32 offset="0x000A8" name="CORE_CLK_IN_SYNC_SEL"/>
809 <reg32 offset="0x000A8" name="BIAS_EN_CTRL_BY_PSM"/>
810 <reg32 offset="0x000AC" name="SYSCLK_EN_SEL"/>
811 <reg32 offset="0x000B0" name="CML_SYSCLK_SEL"/>
812 <reg32 offset="0x000B4" name="RESETSM_CNTRL"/>
813 <reg32 offset="0x000B8" name="RESETSM_CNTRL2"/>
814 <reg32 offset="0x000BC" name="RESTRIM_CTRL"/>
815 <reg32 offset="0x000C0" name="RESTRIM_CTRL2"/>
816 <reg32 offset="0x000C4" name="RESCODE_DIV_NUM"/>
817 <reg32 offset="0x000C8" name="LOCK_CMP_EN"/>
818 <reg32 offset="0x000CC" name="LOCK_CMP_CFG"/>
819 <reg32 offset="0x000D0" name="DEC_START_MODE0"/>
820 <reg32 offset="0x000D4" name="DEC_START_MODE1"/>
821 <reg32 offset="0x000D8" name="DEC_START_MODE2"/>
822 <reg32 offset="0x000D8" name="VCOCAL_DEADMAN_CTRL"/>
823 <reg32 offset="0x000DC" name="DIV_FRAC_START1_MODE0"/>
824 <reg32 offset="0x000E0" name="DIV_FRAC_START2_MODE0"/>
825 <reg32 offset="0x000E4" name="DIV_FRAC_START3_MODE0"/>
826 <reg32 offset="0x000E8" name="DIV_FRAC_START1_MODE1"/>
827 <reg32 offset="0x000EC" name="DIV_FRAC_START2_MODE1"/>
828 <reg32 offset="0x000F0" name="DIV_FRAC_START3_MODE1"/>
829 <reg32 offset="0x000F4" name="DIV_FRAC_START1_MODE2"/>
830 <reg32 offset="0x000F4" name="VCO_TUNE_MINVAL1"/>
831 <reg32 offset="0x000F8" name="DIV_FRAC_START2_MODE2"/>
832 <reg32 offset="0x000F8" name="VCO_TUNE_MINVAL2"/>
833 <reg32 offset="0x000FC" name="DIV_FRAC_START3_MODE2"/>
834 <reg32 offset="0x000FC" name="CMN_RSVD4"/>
835 <reg32 offset="0x00100" name="INTEGLOOP_INITVAL"/>
836 <reg32 offset="0x00104" name="INTEGLOOP_EN"/>
837 <reg32 offset="0x00108" name="INTEGLOOP_GAIN0_MODE0"/>
838 <reg32 offset="0x0010C" name="INTEGLOOP_GAIN1_MODE0"/>
839 <reg32 offset="0x00110" name="INTEGLOOP_GAIN0_MODE1"/>
840 <reg32 offset="0x00114" name="INTEGLOOP_GAIN1_MODE1"/>
841 <reg32 offset="0x00118" name="INTEGLOOP_GAIN0_MODE2"/>
842 <reg32 offset="0x00118" name="VCO_TUNE_MAXVAL1"/>
843 <reg32 offset="0x0011C" name="INTEGLOOP_GAIN1_MODE2"/>
844 <reg32 offset="0x0011C" name="VCO_TUNE_MAXVAL2"/>
845 <reg32 offset="0x00120" name="RES_TRIM_CONTROL2"/>
846 <reg32 offset="0x00124" name="VCO_TUNE_CTRL"/>
847 <reg32 offset="0x00128" name="VCO_TUNE_MAP"/>
848 <reg32 offset="0x0012C" name="VCO_TUNE1_MODE0"/>
849 <reg32 offset="0x00130" name="VCO_TUNE2_MODE0"/>
850 <reg32 offset="0x00134" name="VCO_TUNE1_MODE1"/>
851 <reg32 offset="0x00138" name="VCO_TUNE2_MODE1"/>
852 <reg32 offset="0x0013C" name="VCO_TUNE1_MODE2"/>
853 <reg32 offset="0x0013C" name="VCO_TUNE_INITVAL1"/>
854 <reg32 offset="0x00140" name="VCO_TUNE2_MODE2"/>
855 <reg32 offset="0x00140" name="VCO_TUNE_INITVAL2"/>
856 <reg32 offset="0x00144" name="VCO_TUNE_TIMER1"/>
857 <reg32 offset="0x00148" name="VCO_TUNE_TIMER2"/>
858 <reg32 offset="0x0014C" name="SAR"/>
859 <reg32 offset="0x00150" name="SAR_CLK"/>
860 <reg32 offset="0x00154" name="SAR_CODE_OUT_STATUS"/>
861 <reg32 offset="0x00158" name="SAR_CODE_READY_STATUS"/>
862 <reg32 offset="0x0015C" name="CMN_STATUS"/>
863 <reg32 offset="0x00160" name="RESET_SM_STATUS"/>
864 <reg32 offset="0x00164" name="RESTRIM_CODE_STATUS"/>
865 <reg32 offset="0x00168" name="PLLCAL_CODE1_STATUS"/>
866 <reg32 offset="0x0016C" name="PLLCAL_CODE2_STATUS"/>
867 <reg32 offset="0x00170" name="BG_CTRL"/>
868 <reg32 offset="0x00174" name="CLK_SELECT"/>
869 <reg32 offset="0x00178" name="HSCLK_SEL"/>
870 <reg32 offset="0x0017C" name="INTEGLOOP_BINCODE_STATUS"/>
871 <reg32 offset="0x00180" name="PLL_ANALOG"/>
872 <reg32 offset="0x00184" name="CORECLK_DIV"/>
873 <reg32 offset="0x00188" name="SW_RESET"/>
874 <reg32 offset="0x0018C" name="CORE_CLK_EN"/>
875 <reg32 offset="0x00190" name="C_READY_STATUS"/>
876 <reg32 offset="0x00194" name="CMN_CONFIG"/>
877 <reg32 offset="0x00198" name="CMN_RATE_OVERRIDE"/>
878 <reg32 offset="0x0019C" name="SVS_MODE_CLK_SEL"/>
879 <reg32 offset="0x001A0" name="DEBUG_BUS0"/>
880 <reg32 offset="0x001A4" name="DEBUG_BUS1"/>
881 <reg32 offset="0x001A8" name="DEBUG_BUS2"/>
882 <reg32 offset="0x001AC" name="DEBUG_BUS3"/>
883 <reg32 offset="0x001B0" name="DEBUG_BUS_SEL"/>
884 <reg32 offset="0x001B4" name="CMN_MISC1"/>
885 <reg32 offset="0x001B8" name="CMN_MISC2"/>
886 <reg32 offset="0x001BC" name="CORECLK_DIV_MODE1"/>
887 <reg32 offset="0x001C0" name="CORECLK_DIV_MODE2"/>
888 <reg32 offset="0x001C4" name="CMN_RSVD5"/>
889 </domain>
890
891
892 <domain name="HDMI_PHY_QSERDES_TX_LX" width="32">
893 <reg32 offset="0x00000" name="BIST_MODE_LANENO"/>
894 <reg32 offset="0x00004" name="BIST_INVERT"/>
895 <reg32 offset="0x00008" name="CLKBUF_ENABLE"/>
896 <reg32 offset="0x0000C" name="CMN_CONTROL_ONE"/>
897 <reg32 offset="0x00010" name="CMN_CONTROL_TWO"/>
898 <reg32 offset="0x00014" name="CMN_CONTROL_THREE"/>
899 <reg32 offset="0x00018" name="TX_EMP_POST1_LVL"/>
900 <reg32 offset="0x0001C" name="TX_POST2_EMPH"/>
901 <reg32 offset="0x00020" name="TX_BOOST_LVL_UP_DN"/>
902 <reg32 offset="0x00024" name="HP_PD_ENABLES"/>
903 <reg32 offset="0x00028" name="TX_IDLE_LVL_LARGE_AMP"/>
904 <reg32 offset="0x0002C" name="TX_DRV_LVL"/>
905 <reg32 offset="0x00030" name="TX_DRV_LVL_OFFSET"/>
906 <reg32 offset="0x00034" name="RESET_TSYNC_EN"/>
907 <reg32 offset="0x00038" name="PRE_STALL_LDO_BOOST_EN"/>
908 <reg32 offset="0x0003C" name="TX_BAND"/>
909 <reg32 offset="0x00040" name="SLEW_CNTL"/>
910 <reg32 offset="0x00044" name="INTERFACE_SELECT"/>
911 <reg32 offset="0x00048" name="LPB_EN"/>
912 <reg32 offset="0x0004C" name="RES_CODE_LANE_TX"/>
913 <reg32 offset="0x00050" name="RES_CODE_LANE_RX"/>
914 <reg32 offset="0x00054" name="RES_CODE_LANE_OFFSET"/>
915 <reg32 offset="0x00058" name="PERL_LENGTH1"/>
916 <reg32 offset="0x0005C" name="PERL_LENGTH2"/>
917 <reg32 offset="0x00060" name="SERDES_BYP_EN_OUT"/>
918 <reg32 offset="0x00064" name="DEBUG_BUS_SEL"/>
919 <reg32 offset="0x00068" name="HIGHZ_TRANSCEIVEREN_BIAS_DRVR_EN"/>
920 <reg32 offset="0x0006C" name="TX_POL_INV"/>
921 <reg32 offset="0x00070" name="PARRATE_REC_DETECT_IDLE_EN"/>
922 <reg32 offset="0x00074" name="BIST_PATTERN1"/>
923 <reg32 offset="0x00078" name="BIST_PATTERN2"/>
924 <reg32 offset="0x0007C" name="BIST_PATTERN3"/>
925 <reg32 offset="0x00080" name="BIST_PATTERN4"/>
926 <reg32 offset="0x00084" name="BIST_PATTERN5"/>
927 <reg32 offset="0x00088" name="BIST_PATTERN6"/>
928 <reg32 offset="0x0008C" name="BIST_PATTERN7"/>
929 <reg32 offset="0x00090" name="BIST_PATTERN8"/>
930 <reg32 offset="0x00094" name="LANE_MODE"/>
931 <reg32 offset="0x00098" name="IDAC_CAL_LANE_MODE"/>
932 <reg32 offset="0x0009C" name="IDAC_CAL_LANE_MODE_CONFIGURATION"/>
933 <reg32 offset="0x000A0" name="ATB_SEL1"/>
934 <reg32 offset="0x000A4" name="ATB_SEL2"/>
935 <reg32 offset="0x000A8" name="RCV_DETECT_LVL"/>
936 <reg32 offset="0x000AC" name="RCV_DETECT_LVL_2"/>
937 <reg32 offset="0x000B0" name="PRBS_SEED1"/>
938 <reg32 offset="0x000B4" name="PRBS_SEED2"/>
939 <reg32 offset="0x000B8" name="PRBS_SEED3"/>
940 <reg32 offset="0x000BC" name="PRBS_SEED4"/>
941 <reg32 offset="0x000C0" name="RESET_GEN"/>
942 <reg32 offset="0x000C4" name="RESET_GEN_MUXES"/>
943 <reg32 offset="0x000C8" name="TRAN_DRVR_EMP_EN"/>
944 <reg32 offset="0x000CC" name="TX_INTERFACE_MODE"/>
945 <reg32 offset="0x000D0" name="PWM_CTRL"/>
946 <reg32 offset="0x000D4" name="PWM_ENCODED_OR_DATA"/>
947 <reg32 offset="0x000D8" name="PWM_GEAR_1_DIVIDER_BAND2"/>
948 <reg32 offset="0x000DC" name="PWM_GEAR_2_DIVIDER_BAND2"/>
949 <reg32 offset="0x000E0" name="PWM_GEAR_3_DIVIDER_BAND2"/>
950 <reg32 offset="0x000E4" name="PWM_GEAR_4_DIVIDER_BAND2"/>
951 <reg32 offset="0x000E8" name="PWM_GEAR_1_DIVIDER_BAND0_1"/>
952 <reg32 offset="0x000EC" name="PWM_GEAR_2_DIVIDER_BAND0_1"/>
953 <reg32 offset="0x000F0" name="PWM_GEAR_3_DIVIDER_BAND0_1"/>
954 <reg32 offset="0x000F4" name="PWM_GEAR_4_DIVIDER_BAND0_1"/>
955 <reg32 offset="0x000F8" name="VMODE_CTRL1"/>
956 <reg32 offset="0x000FC" name="VMODE_CTRL2"/>
957 <reg32 offset="0x00100" name="TX_ALOG_INTF_OBSV_CNTL"/>
958 <reg32 offset="0x00104" name="BIST_STATUS"/>
959 <reg32 offset="0x00108" name="BIST_ERROR_COUNT1"/>
960 <reg32 offset="0x0010C" name="BIST_ERROR_COUNT2"/>
961 <reg32 offset="0x00110" name="TX_ALOG_INTF_OBSV"/>
962 </domain>
963
964 </database>