17ec681f3Smrg<?xml version="1.0" encoding="UTF-8"?>
27ec681f3Smrg<database xmlns="http://nouveau.freedesktop.org/"
37ec681f3Smrgxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
47ec681f3Smrgxsi:schemaLocation="http://nouveau.freedesktop.org/ rules-ng.xsd">
57ec681f3Smrg<import file="freedreno_copyright.xml"/>
67ec681f3Smrg
77ec681f3Smrg<domain name="EDP" width="32">
87ec681f3Smrg	<enum name="edp_color_depth">
97ec681f3Smrg		<value name="EDP_6BIT"  value="0"/>
107ec681f3Smrg		<value name="EDP_8BIT"  value="1"/>
117ec681f3Smrg		<value name="EDP_10BIT" value="2"/>
127ec681f3Smrg		<value name="EDP_12BIT" value="3"/>
137ec681f3Smrg		<value name="EDP_16BIT" value="4"/>
147ec681f3Smrg	</enum>
157ec681f3Smrg
167ec681f3Smrg	<enum name="edp_component_format">
177ec681f3Smrg		<value name="EDP_RGB" value="0"/>
187ec681f3Smrg		<value name="EDP_YUV422" value="1"/>
197ec681f3Smrg		<value name="EDP_YUV444" value="2"/>
207ec681f3Smrg	</enum>
217ec681f3Smrg
227ec681f3Smrg	<reg32 offset="0x0004" name="MAINLINK_CTRL">
237ec681f3Smrg		<bitfield name="ENABLE" pos="0" type="boolean"/>
247ec681f3Smrg		<bitfield name="RESET"  pos="1" type="boolean"/>
257ec681f3Smrg	</reg32>
267ec681f3Smrg
277ec681f3Smrg	<reg32 offset="0x0008" name="STATE_CTRL">
287ec681f3Smrg		<bitfield name="TRAIN_PATTERN_1"       pos="0" type="boolean"/>
297ec681f3Smrg		<bitfield name="TRAIN_PATTERN_2"       pos="1" type="boolean"/>
307ec681f3Smrg		<bitfield name="TRAIN_PATTERN_3"       pos="2" type="boolean"/>
317ec681f3Smrg		<bitfield name="SYMBOL_ERR_RATE_MEAS"  pos="3" type="boolean"/>
327ec681f3Smrg		<bitfield name="PRBS7"                 pos="4" type="boolean"/>
337ec681f3Smrg		<bitfield name="CUSTOM_80_BIT_PATTERN" pos="5" type="boolean"/>
347ec681f3Smrg		<bitfield name="SEND_VIDEO"            pos="6" type="boolean"/>
357ec681f3Smrg		<bitfield name="PUSH_IDLE"             pos="7" type="boolean"/>
367ec681f3Smrg	</reg32>
377ec681f3Smrg
387ec681f3Smrg	<reg32 offset="0x000c" name="CONFIGURATION_CTRL">
397ec681f3Smrg		<!-- next two may be swapped? -->
407ec681f3Smrg		<bitfield name="SYNC_CLK" pos="0" type="boolean"/>
417ec681f3Smrg		<bitfield name="STATIC_MVID" pos="1" type="boolean"/>
427ec681f3Smrg		<bitfield name="PROGRESSIVE" pos="2" type="boolean"/>
437ec681f3Smrg		<!-- # of lanes minus one: -->
447ec681f3Smrg		<bitfield name="LANES" low="4" high="5" type="uint"/>
457ec681f3Smrg		<bitfield name="ENHANCED_FRAMING" pos="6" type="boolean"/>
467ec681f3Smrg		<!--
477ec681f3Smrg		   NOTE: only 6bit and 8bit valid
487ec681f3Smrg		 -->
497ec681f3Smrg		<bitfield name="COLOR" pos="8" type="edp_color_depth"/>
507ec681f3Smrg	</reg32>
517ec681f3Smrg
527ec681f3Smrg	<reg32 offset="0x0014" name="SOFTWARE_MVID" type="uint"/>
537ec681f3Smrg	<reg32 offset="0x0018" name="SOFTWARE_NVID" type="uint"/>
547ec681f3Smrg
557ec681f3Smrg	<reg32 offset="0x001c" name="TOTAL_HOR_VER">
567ec681f3Smrg		<bitfield name="HORIZ" low="0" high="15" type="uint"/>
577ec681f3Smrg		<bitfield name="VERT"  low="16" high="31" type="uint"/>
587ec681f3Smrg	</reg32>
597ec681f3Smrg
607ec681f3Smrg	<reg32 offset="0x0020" name="START_HOR_VER_FROM_SYNC">
617ec681f3Smrg		<bitfield name="HORIZ" low="0" high="15" type="uint"/>
627ec681f3Smrg		<bitfield name="VERT"  low="16" high="31" type="uint"/>
637ec681f3Smrg	</reg32>
647ec681f3Smrg
657ec681f3Smrg	<reg32 offset="0x0024" name="HSYNC_VSYNC_WIDTH_POLARITY">
667ec681f3Smrg		<bitfield name="HORIZ"  low="0" high="14" type="uint"/>
677ec681f3Smrg		<bitfield name="NHSYNC" pos="15" type="boolean"/>
687ec681f3Smrg		<bitfield name="VERT"   low="16" high="30" type="uint"/>
697ec681f3Smrg		<bitfield name="NVSYNC" pos="31" type="boolean"/>
707ec681f3Smrg	</reg32>
717ec681f3Smrg
727ec681f3Smrg	<reg32 offset="0x0028" name="ACTIVE_HOR_VER">
737ec681f3Smrg		<bitfield name="HORIZ" low="0" high="15" type="uint"/>
747ec681f3Smrg		<bitfield name="VERT"  low="16" high="31" type="uint"/>
757ec681f3Smrg	</reg32>
767ec681f3Smrg
777ec681f3Smrg	<reg32 offset="0x002c" name="MISC1_MISC0">
787ec681f3Smrg		<!-- MISC0 from DisplayPort v1.2 spec: -->
797ec681f3Smrg		<bitfield name="MISC0" low="0" high="7"/>
807ec681f3Smrg		<!-- aliased MISC0 bitfields: -->
817ec681f3Smrg		<bitfield name="SYNC" pos="0" type="boolean"/>
827ec681f3Smrg		<bitfield name="COMPONENT_FORMAT" low="1" high="2" type="edp_component_format"/>
837ec681f3Smrg		<!-- CEA (vs VESA) color range: -->
847ec681f3Smrg		<bitfield name="CEA" pos="3" type="boolean"/>
857ec681f3Smrg		<!-- YCbCr Colorimetry ITU-R BT709-5 (vs ITU-R BT601-5): -->
867ec681f3Smrg		<bitfield name="BT709_5" pos="4" type="boolean"/>
877ec681f3Smrg		<bitfield name="COLOR" low="5" high="7" type="edp_color_depth"/>
887ec681f3Smrg
897ec681f3Smrg		<!-- MISC1 from DisplayPort v1.2 spec: -->
907ec681f3Smrg		<bitfield name="MISC1" low="8" high="15"/>
917ec681f3Smrg		<!-- aliased MISC1 bitfields: -->
927ec681f3Smrg		<bitfield name="INTERLACED_ODD" pos="8" type="boolean"/>
937ec681f3Smrg		<bitfield name="STEREO" low="9" high="10" type="uint"/>
947ec681f3Smrg	</reg32>
957ec681f3Smrg
967ec681f3Smrg	<reg32 offset="0x0074" name="PHY_CTRL">
977ec681f3Smrg		<bitfield name="SW_RESET_PLL" pos="0" type="boolean"/>
987ec681f3Smrg		<bitfield name="SW_RESET" pos="2" type="boolean"/>
997ec681f3Smrg	</reg32>
1007ec681f3Smrg	<reg32 offset="0x0084" name="MAINLINK_READY">
1017ec681f3Smrg		<bitfield name="TRAIN_PATTERN_1_READY" pos="3" type="boolean"/>
1027ec681f3Smrg		<bitfield name="TRAIN_PATTERN_2_READY" pos="4" type="boolean"/>
1037ec681f3Smrg		<bitfield name="TRAIN_PATTERN_3_READY" pos="5" type="boolean"/>
1047ec681f3Smrg	</reg32>
1057ec681f3Smrg
1067ec681f3Smrg	<reg32 offset="0x0300" name="AUX_CTRL">
1077ec681f3Smrg		<bitfield name="ENABLE" pos="0" type="boolean"/>
1087ec681f3Smrg		<bitfield name="RESET"  pos="1" type="boolean"/>
1097ec681f3Smrg	</reg32>
1107ec681f3Smrg
1117ec681f3Smrg	<!-- interrupt registers come in sets of 3 bits, status/ack/en -->
1127ec681f3Smrg	<reg32 offset="0x0308" name="INTERRUPT_REG_1">
1137ec681f3Smrg		<bitfield name="HPD"                    pos="0"  type="boolean"/>
1147ec681f3Smrg		<bitfield name="HPD_ACK"                pos="1"  type="boolean"/>
1157ec681f3Smrg		<bitfield name="HPD_EN"                 pos="2"  type="boolean"/>
1167ec681f3Smrg		<bitfield name="AUX_I2C_DONE"           pos="3"  type="boolean"/>
1177ec681f3Smrg		<bitfield name="AUX_I2C_DONE_ACK"       pos="4"  type="boolean"/>
1187ec681f3Smrg		<bitfield name="AUX_I2C_DONE_EN"        pos="5"  type="boolean"/>
1197ec681f3Smrg		<bitfield name="WRONG_ADDR"             pos="6"  type="boolean"/>
1207ec681f3Smrg		<bitfield name="WRONG_ADDR_ACK"         pos="7"  type="boolean"/>
1217ec681f3Smrg		<bitfield name="WRONG_ADDR_EN"          pos="8"  type="boolean"/>
1227ec681f3Smrg		<bitfield name="TIMEOUT"                pos="9"  type="boolean"/>
1237ec681f3Smrg		<bitfield name="TIMEOUT_ACK"            pos="10" type="boolean"/>
1247ec681f3Smrg		<bitfield name="TIMEOUT_EN"             pos="11" type="boolean"/>
1257ec681f3Smrg		<bitfield name="NACK_DEFER"             pos="12" type="boolean"/>
1267ec681f3Smrg		<bitfield name="NACK_DEFER_ACK"         pos="13" type="boolean"/>
1277ec681f3Smrg		<bitfield name="NACK_DEFER_EN"          pos="14" type="boolean"/>
1287ec681f3Smrg		<bitfield name="WRONG_DATA_CNT"         pos="15" type="boolean"/>
1297ec681f3Smrg		<bitfield name="WRONG_DATA_CNT_ACK"     pos="16" type="boolean"/>
1307ec681f3Smrg		<bitfield name="WRONG_DATA_CNT_EN"      pos="17" type="boolean"/>
1317ec681f3Smrg		<bitfield name="I2C_NACK"               pos="18" type="boolean"/>
1327ec681f3Smrg		<bitfield name="I2C_NACK_ACK"           pos="19" type="boolean"/>
1337ec681f3Smrg		<bitfield name="I2C_NACK_EN"            pos="20" type="boolean"/>
1347ec681f3Smrg		<bitfield name="I2C_DEFER"              pos="21" type="boolean"/>
1357ec681f3Smrg		<bitfield name="I2C_DEFER_ACK"          pos="22" type="boolean"/>
1367ec681f3Smrg		<bitfield name="I2C_DEFER_EN"           pos="23" type="boolean"/>
1377ec681f3Smrg		<bitfield name="PLL_UNLOCK"             pos="24" type="boolean"/>
1387ec681f3Smrg		<bitfield name="PLL_UNLOCK_ACK"         pos="25" type="boolean"/>
1397ec681f3Smrg		<bitfield name="PLL_UNLOCK_EN"          pos="26" type="boolean"/>
1407ec681f3Smrg		<bitfield name="AUX_ERROR"              pos="27" type="boolean"/>
1417ec681f3Smrg		<bitfield name="AUX_ERROR_ACK"          pos="28" type="boolean"/>
1427ec681f3Smrg		<bitfield name="AUX_ERROR_EN"           pos="29" type="boolean"/>
1437ec681f3Smrg	</reg32>
1447ec681f3Smrg
1457ec681f3Smrg	<reg32 offset="0x030c" name="INTERRUPT_REG_2">
1467ec681f3Smrg		<bitfield name="READY_FOR_VIDEO"        pos="0"  type="boolean"/>
1477ec681f3Smrg		<bitfield name="READY_FOR_VIDEO_ACK"    pos="1"  type="boolean"/>
1487ec681f3Smrg		<bitfield name="READY_FOR_VIDEO_EN"     pos="2"  type="boolean"/>
1497ec681f3Smrg		<bitfield name="IDLE_PATTERNs_SENT"     pos="3"  type="boolean"/>
1507ec681f3Smrg		<bitfield name="IDLE_PATTERNs_SENT_ACK" pos="4"  type="boolean"/>
1517ec681f3Smrg		<bitfield name="IDLE_PATTERNs_SENT_EN"  pos="5"  type="boolean"/>
1527ec681f3Smrg		<bitfield name="FRAME_END"              pos="9"  type="boolean"/>
1537ec681f3Smrg		<bitfield name="FRAME_END_ACK"          pos="7"  type="boolean"/>
1547ec681f3Smrg		<bitfield name="FRAME_END_EN"           pos="8"  type="boolean"/>
1557ec681f3Smrg		<bitfield name="CRC_UPDATED"            pos="9"  type="boolean"/>
1567ec681f3Smrg		<bitfield name="CRC_UPDATED_ACK"        pos="10" type="boolean"/>
1577ec681f3Smrg		<bitfield name="CRC_UPDATED_EN"         pos="11" type="boolean"/>
1587ec681f3Smrg	</reg32>
1597ec681f3Smrg
1607ec681f3Smrg	<reg32 offset="0x0310" name="INTERRUPT_TRANS_NUM"/>
1617ec681f3Smrg	<reg32 offset="0x0314" name="AUX_DATA">
1627ec681f3Smrg		<bitfield name="READ" pos="0" type="boolean"/>
1637ec681f3Smrg		<bitfield name="DATA" low="8" high="15"/>
1647ec681f3Smrg		<bitfield name="INDEX" low="16" high="23"/>
1657ec681f3Smrg		<bitfield name="INDEX_WRITE" pos="31" type="boolean"/>
1667ec681f3Smrg	</reg32>
1677ec681f3Smrg
1687ec681f3Smrg	<reg32 offset="0x0318" name="AUX_TRANS_CTRL">
1697ec681f3Smrg		<bitfield name="I2C" pos="8" type="boolean"/>
1707ec681f3Smrg		<bitfield name="GO"  pos="9" type="boolean"/>
1717ec681f3Smrg	</reg32>
1727ec681f3Smrg
1737ec681f3Smrg	<reg32 offset="0x0324" name="AUX_STATUS"/>
1747ec681f3Smrg</domain>
1757ec681f3Smrg
1767ec681f3Smrg<domain name="EDP_PHY" width="32">
1777ec681f3Smrg	<array offset="0x0400" name="LN" length="4" stride="0x40">
1787ec681f3Smrg		<reg32 offset="0x04" name="PD_CTL"/>
1797ec681f3Smrg	</array>
1807ec681f3Smrg	<reg32 offset="0x0510" name="GLB_VM_CFG0"/>
1817ec681f3Smrg	<reg32 offset="0x0514" name="GLB_VM_CFG1"/>
1827ec681f3Smrg	<reg32 offset="0x0518" name="GLB_MISC9"/>
1837ec681f3Smrg	<reg32 offset="0x0528" name="GLB_CFG"/>
1847ec681f3Smrg	<reg32 offset="0x052c" name="GLB_PD_CTL"/>
1857ec681f3Smrg	<reg32 offset="0x0598" name="GLB_PHY_STATUS"/>
1867ec681f3Smrg</domain>
1877ec681f3Smrg
1887ec681f3Smrg<domain name="EDP_28nm_PHY_PLL" width="32">
1897ec681f3Smrg	<reg32 offset="0x00000" name="REFCLK_CFG"/>
1907ec681f3Smrg	<reg32 offset="0x00004" name="POSTDIV1_CFG"/>
1917ec681f3Smrg	<reg32 offset="0x00008" name="CHGPUMP_CFG"/>
1927ec681f3Smrg	<reg32 offset="0x0000C" name="VCOLPF_CFG"/>
1937ec681f3Smrg	<reg32 offset="0x00010" name="VREG_CFG"/>
1947ec681f3Smrg	<reg32 offset="0x00014" name="PWRGEN_CFG"/>
1957ec681f3Smrg	<reg32 offset="0x00018" name="DMUX_CFG"/>
1967ec681f3Smrg	<reg32 offset="0x0001C" name="AMUX_CFG"/>
1977ec681f3Smrg	<reg32 offset="0x00020" name="GLB_CFG">
1987ec681f3Smrg		<bitfield name="PLL_PWRDN_B" pos="0" type="boolean"/>
1997ec681f3Smrg		<bitfield name="PLL_LDO_PWRDN_B" pos="1" type="boolean"/>
2007ec681f3Smrg		<bitfield name="PLL_PWRGEN_PWRDN_B" pos="2" type="boolean"/>
2017ec681f3Smrg		<bitfield name="PLL_ENABLE" pos="3" type="boolean"/>
2027ec681f3Smrg	</reg32>
2037ec681f3Smrg	<reg32 offset="0x00024" name="POSTDIV2_CFG"/>
2047ec681f3Smrg	<reg32 offset="0x00028" name="POSTDIV3_CFG"/>
2057ec681f3Smrg	<reg32 offset="0x0002C" name="LPFR_CFG"/>
2067ec681f3Smrg	<reg32 offset="0x00030" name="LPFC1_CFG"/>
2077ec681f3Smrg	<reg32 offset="0x00034" name="LPFC2_CFG"/>
2087ec681f3Smrg	<reg32 offset="0x00038" name="SDM_CFG0"/>
2097ec681f3Smrg	<reg32 offset="0x0003C" name="SDM_CFG1"/>
2107ec681f3Smrg	<reg32 offset="0x00040" name="SDM_CFG2"/>
2117ec681f3Smrg	<reg32 offset="0x00044" name="SDM_CFG3"/>
2127ec681f3Smrg	<reg32 offset="0x00048" name="SDM_CFG4"/>
2137ec681f3Smrg	<reg32 offset="0x0004C" name="SSC_CFG0"/>
2147ec681f3Smrg	<reg32 offset="0x00050" name="SSC_CFG1"/>
2157ec681f3Smrg	<reg32 offset="0x00054" name="SSC_CFG2"/>
2167ec681f3Smrg	<reg32 offset="0x00058" name="SSC_CFG3"/>
2177ec681f3Smrg	<reg32 offset="0x0005C" name="LKDET_CFG0"/>
2187ec681f3Smrg	<reg32 offset="0x00060" name="LKDET_CFG1"/>
2197ec681f3Smrg	<reg32 offset="0x00064" name="LKDET_CFG2"/>
2207ec681f3Smrg	<reg32 offset="0x00068" name="TEST_CFG">
2217ec681f3Smrg		<bitfield name="PLL_SW_RESET" pos="0" type="boolean"/>
2227ec681f3Smrg	</reg32>
2237ec681f3Smrg	<reg32 offset="0x0006C" name="CAL_CFG0"/>
2247ec681f3Smrg	<reg32 offset="0x00070" name="CAL_CFG1"/>
2257ec681f3Smrg	<reg32 offset="0x00074" name="CAL_CFG2"/>
2267ec681f3Smrg	<reg32 offset="0x00078" name="CAL_CFG3"/>
2277ec681f3Smrg	<reg32 offset="0x0007C" name="CAL_CFG4"/>
2287ec681f3Smrg	<reg32 offset="0x00080" name="CAL_CFG5"/>
2297ec681f3Smrg	<reg32 offset="0x00084" name="CAL_CFG6"/>
2307ec681f3Smrg	<reg32 offset="0x00088" name="CAL_CFG7"/>
2317ec681f3Smrg	<reg32 offset="0x0008C" name="CAL_CFG8"/>
2327ec681f3Smrg	<reg32 offset="0x00090" name="CAL_CFG9"/>
2337ec681f3Smrg	<reg32 offset="0x00094" name="CAL_CFG10"/>
2347ec681f3Smrg	<reg32 offset="0x00098" name="CAL_CFG11"/>
2357ec681f3Smrg	<reg32 offset="0x0009C" name="EFUSE_CFG"/>
2367ec681f3Smrg	<reg32 offset="0x000A0" name="DEBUG_BUS_SEL"/>
2377ec681f3Smrg</domain>
2387ec681f3Smrg
2397ec681f3Smrg</database>
240