1<?xml version="1.0" encoding="UTF-8"?> 2<database xmlns="http://nouveau.freedesktop.org/" 3xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4xsi:schemaLocation="https://gitlab.freedesktop.org/freedreno/ rules-fd.xsd"> 5<import file="freedreno_copyright.xml"/> 6 7<domain name="DSI_7nm_PHY_CMN" width="32"> 8 <reg32 offset="0x00000" name="REVISION_ID0"/> 9 <reg32 offset="0x00004" name="REVISION_ID1"/> 10 <reg32 offset="0x00008" name="REVISION_ID2"/> 11 <reg32 offset="0x0000c" name="REVISION_ID3"/> 12 <reg32 offset="0x00010" name="CLK_CFG0"> 13 <bitfield name="DIV_CTRL_3_0" low="0" high="3" type="uint"/> 14 <bitfield name="DIV_CTRL_7_4" low="4" high="7" type="uint"/> 15 </reg32> 16 <reg32 offset="0x00014" name="CLK_CFG1"> 17 <bitfield name="CLK_EN" pos="5" type="boolean"/> 18 <bitfield name="CLK_EN_SEL" pos="4" type="boolean"/> 19 <bitfield name="BITCLK_SEL" low="2" high="3" type="uint"/> 20 <bitfield name="DSICLK_SEL" low="0" high="1" type="uint"/> 21 </reg32> 22 <reg32 offset="0x00018" name="GLBL_CTRL"/> 23 <reg32 offset="0x0001c" name="RBUF_CTRL"/> 24 <reg32 offset="0x00020" name="VREG_CTRL_0"/> 25 <reg32 offset="0x00024" name="CTRL_0"/> 26 <reg32 offset="0x00028" name="CTRL_1"/> 27 <reg32 offset="0x0002c" name="CTRL_2"/> 28 <reg32 offset="0x00030" name="CTRL_3"/> 29 <reg32 offset="0x001b0" name="CTRL_5"/> 30 <reg32 offset="0x00034" name="LANE_CFG0"/> 31 <reg32 offset="0x00038" name="LANE_CFG1"/> 32 <reg32 offset="0x0003c" name="PLL_CNTRL"/> 33 <reg32 offset="0x00040" name="DPHY_SOT"/> 34 <reg32 offset="0x000a0" name="LANE_CTRL0"/> 35 <reg32 offset="0x000a4" name="LANE_CTRL1"/> 36 <reg32 offset="0x000a8" name="LANE_CTRL2"/> 37 <reg32 offset="0x000ac" name="LANE_CTRL3"/> 38 <reg32 offset="0x000b0" name="LANE_CTRL4"/> 39 <reg32 offset="0x000b4" name="TIMING_CTRL_0"/> 40 <reg32 offset="0x000b8" name="TIMING_CTRL_1"/> 41 <reg32 offset="0x000bc" name="TIMING_CTRL_2"/> 42 <reg32 offset="0x000c0" name="TIMING_CTRL_3"/> 43 <reg32 offset="0x000c4" name="TIMING_CTRL_4"/> 44 <reg32 offset="0x000c8" name="TIMING_CTRL_5"/> 45 <reg32 offset="0x000cc" name="TIMING_CTRL_6"/> 46 <reg32 offset="0x000d0" name="TIMING_CTRL_7"/> 47 <reg32 offset="0x000d4" name="TIMING_CTRL_8"/> 48 <reg32 offset="0x000d8" name="TIMING_CTRL_9"/> 49 <reg32 offset="0x000dc" name="TIMING_CTRL_10"/> 50 <reg32 offset="0x000e0" name="TIMING_CTRL_11"/> 51 <reg32 offset="0x000e4" name="TIMING_CTRL_12"/> 52 <reg32 offset="0x000e8" name="TIMING_CTRL_13"/> 53 <reg32 offset="0x000ec" name="GLBL_HSTX_STR_CTRL_0"/> 54 <reg32 offset="0x000f0" name="GLBL_HSTX_STR_CTRL_1"/> 55 <reg32 offset="0x000f4" name="GLBL_RESCODE_OFFSET_TOP_CTRL"/> 56 <reg32 offset="0x000f8" name="GLBL_RESCODE_OFFSET_BOT_CTRL"/> 57 <reg32 offset="0x000fc" name="GLBL_RESCODE_OFFSET_MID_CTRL"/> 58 <reg32 offset="0x00100" name="GLBL_LPTX_STR_CTRL"/> 59 <reg32 offset="0x00104" name="GLBL_PEMPH_CTRL_0"/> 60 <reg32 offset="0x00108" name="GLBL_PEMPH_CTRL_1"/> 61 <reg32 offset="0x0010c" name="GLBL_STR_SWI_CAL_SEL_CTRL"/> 62 <reg32 offset="0x00110" name="VREG_CTRL_1"/> 63 <reg32 offset="0x00114" name="CTRL_4"/> 64 <reg32 offset="0x00128" name="GLBL_DIGTOP_SPARE4"/> 65 <reg32 offset="0x00140" name="PHY_STATUS"/> 66 <reg32 offset="0x00148" name="LANE_STATUS0"/> 67 <reg32 offset="0x0014c" name="LANE_STATUS1"/> 68 <reg32 offset="0x001ac" name="GLBL_DIGTOP_SPARE10"/> 69</domain> 70 71<domain name="DSI_7nm_PHY" width="32"> 72 <array offset="0x00000" name="LN" length="5" stride="0x80"> 73 <reg32 offset="0x00" name="CFG0"/> 74 <reg32 offset="0x04" name="CFG1"/> 75 <reg32 offset="0x08" name="CFG2"/> 76 <reg32 offset="0x0c" name="TEST_DATAPATH"/> 77 <reg32 offset="0x10" name="PIN_SWAP"/> 78 <reg32 offset="0x14" name="LPRX_CTRL"/> 79 <reg32 offset="0x18" name="TX_DCTRL"/> 80 </array> 81</domain> 82 83<domain name="DSI_7nm_PHY_PLL" width="32"> 84 <reg32 offset="0x0000" name="ANALOG_CONTROLS_ONE"/> 85 <reg32 offset="0x0004" name="ANALOG_CONTROLS_TWO"/> 86 <reg32 offset="0x0008" name="INT_LOOP_SETTINGS"/> 87 <reg32 offset="0x000c" name="INT_LOOP_SETTINGS_TWO"/> 88 <reg32 offset="0x0010" name="ANALOG_CONTROLS_THREE"/> 89 <reg32 offset="0x0014" name="ANALOG_CONTROLS_FOUR"/> 90 <reg32 offset="0x0018" name="ANALOG_CONTROLS_FIVE"/> 91 <reg32 offset="0x001c" name="INT_LOOP_CONTROLS"/> 92 <reg32 offset="0x0020" name="DSM_DIVIDER"/> 93 <reg32 offset="0x0024" name="FEEDBACK_DIVIDER"/> 94 <reg32 offset="0x0028" name="SYSTEM_MUXES"/> 95 <reg32 offset="0x002c" name="FREQ_UPDATE_CONTROL_OVERRIDES"/> 96 <reg32 offset="0x0030" name="CMODE"/> 97 <reg32 offset="0x0034" name="PSM_CTRL"/> 98 <reg32 offset="0x0038" name="RSM_CTRL"/> 99 <reg32 offset="0x003c" name="VCO_TUNE_MAP"/> 100 <reg32 offset="0x0040" name="PLL_CNTRL"/> 101 <reg32 offset="0x0044" name="CALIBRATION_SETTINGS"/> 102 <reg32 offset="0x0048" name="BAND_SEL_CAL_TIMER_LOW"/> 103 <reg32 offset="0x004c" name="BAND_SEL_CAL_TIMER_HIGH"/> 104 <reg32 offset="0x0050" name="BAND_SEL_CAL_SETTINGS"/> 105 <reg32 offset="0x0054" name="BAND_SEL_MIN"/> 106 <reg32 offset="0x0058" name="BAND_SEL_MAX"/> 107 <reg32 offset="0x005c" name="BAND_SEL_PFILT"/> 108 <reg32 offset="0x0060" name="BAND_SEL_IFILT"/> 109 <reg32 offset="0x0064" name="BAND_SEL_CAL_SETTINGS_TWO"/> 110 <reg32 offset="0x0068" name="BAND_SEL_CAL_SETTINGS_THREE"/> 111 <reg32 offset="0x006c" name="BAND_SEL_CAL_SETTINGS_FOUR"/> 112 <reg32 offset="0x0070" name="BAND_SEL_ICODE_HIGH"/> 113 <reg32 offset="0x0074" name="BAND_SEL_ICODE_LOW"/> 114 <reg32 offset="0x0078" name="FREQ_DETECT_SETTINGS_ONE"/> 115 <reg32 offset="0x007c" name="FREQ_DETECT_THRESH"/> 116 <reg32 offset="0x0080" name="FREQ_DET_REFCLK_HIGH"/> 117 <reg32 offset="0x0084" name="FREQ_DET_REFCLK_LOW"/> 118 <reg32 offset="0x0088" name="FREQ_DET_PLLCLK_HIGH"/> 119 <reg32 offset="0x008c" name="FREQ_DET_PLLCLK_LOW"/> 120 <reg32 offset="0x0090" name="PFILT"/> 121 <reg32 offset="0x0094" name="IFILT"/> 122 <reg32 offset="0x0098" name="PLL_GAIN"/> 123 <reg32 offset="0x009c" name="ICODE_LOW"/> 124 <reg32 offset="0x00a0" name="ICODE_HIGH"/> 125 <reg32 offset="0x00a4" name="LOCKDET"/> 126 <reg32 offset="0x00a8" name="OUTDIV"/> 127 <reg32 offset="0x00ac" name="FASTLOCK_CONTROL"/> 128 <reg32 offset="0x00b0" name="PASS_OUT_OVERRIDE_ONE"/> 129 <reg32 offset="0x00b4" name="PASS_OUT_OVERRIDE_TWO"/> 130 <reg32 offset="0x00b8" name="CORE_OVERRIDE"/> 131 <reg32 offset="0x00bc" name="CORE_INPUT_OVERRIDE"/> 132 <reg32 offset="0x00c0" name="RATE_CHANGE"/> 133 <reg32 offset="0x00c4" name="PLL_DIGITAL_TIMERS"/> 134 <reg32 offset="0x00c8" name="PLL_DIGITAL_TIMERS_TWO"/> 135 <reg32 offset="0x00cc" name="DECIMAL_DIV_START"/> 136 <reg32 offset="0x00d0" name="FRAC_DIV_START_LOW"/> 137 <reg32 offset="0x00d4" name="FRAC_DIV_START_MID"/> 138 <reg32 offset="0x00d8" name="FRAC_DIV_START_HIGH"/> 139 <reg32 offset="0x00dc" name="DEC_FRAC_MUXES"/> 140 <reg32 offset="0x00e0" name="DECIMAL_DIV_START_1"/> 141 <reg32 offset="0x00e4" name="FRAC_DIV_START_LOW_1"/> 142 <reg32 offset="0x00e8" name="FRAC_DIV_START_MID_1"/> 143 <reg32 offset="0x00ec" name="FRAC_DIV_START_HIGH_1"/> 144 <reg32 offset="0x00f0" name="DECIMAL_DIV_START_2"/> 145 <reg32 offset="0x00f4" name="FRAC_DIV_START_LOW_2"/> 146 <reg32 offset="0x00f8" name="FRAC_DIV_START_MID_2"/> 147 <reg32 offset="0x00fc" name="FRAC_DIV_START_HIGH_2"/> 148 <reg32 offset="0x0100" name="MASH_CONTROL"/> 149 <reg32 offset="0x0104" name="SSC_STEPSIZE_LOW"/> 150 <reg32 offset="0x0108" name="SSC_STEPSIZE_HIGH"/> 151 <reg32 offset="0x010c" name="SSC_DIV_PER_LOW"/> 152 <reg32 offset="0x0110" name="SSC_DIV_PER_HIGH"/> 153 <reg32 offset="0x0114" name="SSC_ADJPER_LOW"/> 154 <reg32 offset="0x0118" name="SSC_ADJPER_HIGH"/> 155 <reg32 offset="0x011c" name="SSC_MUX_CONTROL"/> 156 <reg32 offset="0x0120" name="SSC_STEPSIZE_LOW_1"/> 157 <reg32 offset="0x0124" name="SSC_STEPSIZE_HIGH_1"/> 158 <reg32 offset="0x0128" name="SSC_DIV_PER_LOW_1"/> 159 <reg32 offset="0x012c" name="SSC_DIV_PER_HIGH_1"/> 160 <reg32 offset="0x0130" name="SSC_ADJPER_LOW_1"/> 161 <reg32 offset="0x0134" name="SSC_ADJPER_HIGH_1"/> 162 <reg32 offset="0x0138" name="SSC_STEPSIZE_LOW_2"/> 163 <reg32 offset="0x013c" name="SSC_STEPSIZE_HIGH_2"/> 164 <reg32 offset="0x0140" name="SSC_DIV_PER_LOW_2"/> 165 <reg32 offset="0x0144" name="SSC_DIV_PER_HIGH_2"/> 166 <reg32 offset="0x0148" name="SSC_ADJPER_LOW_2"/> 167 <reg32 offset="0x014c" name="SSC_ADJPER_HIGH_2"/> 168 <reg32 offset="0x0150" name="SSC_CONTROL"/> 169 <reg32 offset="0x0154" name="PLL_OUTDIV_RATE"/> 170 <reg32 offset="0x0158" name="PLL_LOCKDET_RATE_1"/> 171 <reg32 offset="0x015c" name="PLL_LOCKDET_RATE_2"/> 172 <reg32 offset="0x0160" name="PLL_PROP_GAIN_RATE_1"/> 173 <reg32 offset="0x0164" name="PLL_PROP_GAIN_RATE_2"/> 174 <reg32 offset="0x0168" name="PLL_BAND_SEL_RATE_1"/> 175 <reg32 offset="0x016c" name="PLL_BAND_SEL_RATE_2"/> 176 <reg32 offset="0x0170" name="PLL_INT_GAIN_IFILT_BAND_1"/> 177 <reg32 offset="0x0174" name="PLL_INT_GAIN_IFILT_BAND_2"/> 178 <reg32 offset="0x0178" name="PLL_FL_INT_GAIN_PFILT_BAND_1"/> 179 <reg32 offset="0x017c" name="PLL_FL_INT_GAIN_PFILT_BAND_2"/> 180 <reg32 offset="0x0180" name="PLL_FASTLOCK_EN_BAND"/> 181 <reg32 offset="0x0184" name="FREQ_TUNE_ACCUM_INIT_MID"/> 182 <reg32 offset="0x0188" name="FREQ_TUNE_ACCUM_INIT_HIGH"/> 183 <reg32 offset="0x018c" name="FREQ_TUNE_ACCUM_INIT_MUX"/> 184 <reg32 offset="0x0190" name="PLL_LOCK_OVERRIDE"/> 185 <reg32 offset="0x0194" name="PLL_LOCK_DELAY"/> 186 <reg32 offset="0x0198" name="PLL_LOCK_MIN_DELAY"/> 187 <reg32 offset="0x019c" name="CLOCK_INVERTERS"/> 188 <reg32 offset="0x01a0" name="SPARE_AND_JPC_OVERRIDES"/> 189 <reg32 offset="0x01a4" name="BIAS_CONTROL_1"/> 190 <reg32 offset="0x01a8" name="BIAS_CONTROL_2"/> 191 <reg32 offset="0x01ac" name="ALOG_OBSV_BUS_CTRL_1"/> 192 <reg32 offset="0x01b0" name="COMMON_STATUS_ONE"/> 193 <reg32 offset="0x01b4" name="COMMON_STATUS_TWO"/> 194 <reg32 offset="0x01b8" name="BAND_SEL_CAL"/> 195 <!-- 196 Starting with SM8750, offset moved from 0x01bc to 0x01cc, however 197 we keep only one register map. That's not a problem, so far, 198 because this register is not used. The register map should be split 199 once it is going to be used. Comment out the code to prevent 200 any misuse due to the change in the offset. 201 <reg32 offset="0x01bc" name="ICODE_ACCUM_STATUS_LOW"/> 202 <reg32 offset="0x01cc" name="ICODE_ACCUM_STATUS_LOW"/> 203 --> 204 <reg32 offset="0x01c0" name="ICODE_ACCUM_STATUS_HIGH"/> 205 <reg32 offset="0x01c4" name="FD_OUT_LOW"/> 206 <reg32 offset="0x01c8" name="FD_OUT_HIGH"/> 207 <!-- 208 Starting with SM8750, offset moved from 0x01cc to 0x01bc, however 209 we keep only one register map. See above comment. 210 <reg32 offset="0x01cc" name="ALOG_OBSV_BUS_STATUS_1"/> 211 <reg32 offset="0x01bc" name="ALOG_OBSV_BUS_STATUS_1"/> 212 --> 213 <reg32 offset="0x01d0" name="PLL_MISC_CONFIG"/> 214 <reg32 offset="0x01d4" name="FLL_CONFIG"/> 215 <reg32 offset="0x01d8" name="FLL_FREQ_ACQ_TIME"/> 216 <reg32 offset="0x01dc" name="FLL_CODE0"/> 217 <reg32 offset="0x01e0" name="FLL_CODE1"/> 218 <reg32 offset="0x01e4" name="FLL_GAIN0"/> 219 <reg32 offset="0x01e8" name="FLL_GAIN1"/> 220 <reg32 offset="0x01ec" name="SW_RESET"/> 221 <reg32 offset="0x01f0" name="FAST_PWRUP"/> 222 <reg32 offset="0x01f4" name="LOCKTIME0"/> 223 <reg32 offset="0x01f8" name="LOCKTIME1"/> 224 <reg32 offset="0x01fc" name="DEBUG_BUS_SEL"/> 225 <reg32 offset="0x0200" name="DEBUG_BUS0"/> 226 <reg32 offset="0x0204" name="DEBUG_BUS1"/> 227 <reg32 offset="0x0208" name="DEBUG_BUS2"/> 228 <reg32 offset="0x020c" name="DEBUG_BUS3"/> 229 <reg32 offset="0x0210" name="ANALOG_FLL_CONTROL_OVERRIDES"/> 230 <reg32 offset="0x0214" name="VCO_CONFIG"/> 231 <reg32 offset="0x0218" name="VCO_CAL_CODE1_MODE0_STATUS"/> 232 <reg32 offset="0x021c" name="VCO_CAL_CODE1_MODE1_STATUS"/> 233 <reg32 offset="0x0220" name="RESET_SM_STATUS"/> 234 <reg32 offset="0x0224" name="TDC_OFFSET"/> 235 <reg32 offset="0x0228" name="PS3_PWRDOWN_CONTROLS"/> 236 <reg32 offset="0x022c" name="PS4_PWRDOWN_CONTROLS"/> 237 <reg32 offset="0x0230" name="PLL_RST_CONTROLS"/> 238 <reg32 offset="0x0234" name="GEAR_BAND_SELECT_CONTROLS"/> 239 <reg32 offset="0x0238" name="PSM_CLK_CONTROLS"/> 240 <reg32 offset="0x023c" name="SYSTEM_MUXES_2"/> 241 <reg32 offset="0x0240" name="VCO_CONFIG_1"/> 242 <reg32 offset="0x0244" name="VCO_CONFIG_2"/> 243 <reg32 offset="0x0248" name="CLOCK_INVERTERS_1"/> 244 <reg32 offset="0x024c" name="CLOCK_INVERTERS_2"/> 245 <reg32 offset="0x0250" name="CMODE_1"/> 246 <reg32 offset="0x0254" name="CMODE_2"/> 247 <reg32 offset="0x0258" name="ANALOG_CONTROLS_FIVE_1"/> 248 <reg32 offset="0x025c" name="ANALOG_CONTROLS_FIVE_2"/> 249 <reg32 offset="0x0260" name="PERF_OPTIMIZE"/> 250</domain> 251 252</database> 253