Path: blob/21.2-virgl/src/freedreno/registers/dsi/dsi.xml
7679 views
<?xml version="1.0" encoding="UTF-8"?>1<database xmlns="http://nouveau.freedesktop.org/"2xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"3xsi:schemaLocation="http://nouveau.freedesktop.org/ rules-ng.xsd">4<import file="freedreno_copyright.xml"/>56<domain name="DSI" width="32">7<enum name="dsi_traffic_mode">8<value name="NON_BURST_SYNCH_PULSE" value="0"/>9<value name="NON_BURST_SYNCH_EVENT" value="1"/>10<value name="BURST_MODE" value="2"/>11</enum>12<enum name="dsi_vid_dst_format">13<value name="VID_DST_FORMAT_RGB565" value="0"/>14<value name="VID_DST_FORMAT_RGB666" value="1"/>15<value name="VID_DST_FORMAT_RGB666_LOOSE" value="2"/>16<value name="VID_DST_FORMAT_RGB888" value="3"/>17</enum>18<enum name="dsi_rgb_swap">19<value name="SWAP_RGB" value="0"/>20<value name="SWAP_RBG" value="1"/>21<value name="SWAP_BGR" value="2"/>22<value name="SWAP_BRG" value="3"/>23<value name="SWAP_GRB" value="4"/>24<value name="SWAP_GBR" value="5"/>25</enum>26<enum name="dsi_cmd_trigger">27<value name="TRIGGER_NONE" value="0"/>28<value name="TRIGGER_SEOF" value="1"/>29<value name="TRIGGER_TE" value="2"/>30<value name="TRIGGER_SW" value="4"/>31<value name="TRIGGER_SW_SEOF" value="5"/>32<value name="TRIGGER_SW_TE" value="6"/>33</enum>34<enum name="dsi_cmd_dst_format">35<value name="CMD_DST_FORMAT_RGB111" value="0"/>36<value name="CMD_DST_FORMAT_RGB332" value="3"/>37<value name="CMD_DST_FORMAT_RGB444" value="4"/>38<value name="CMD_DST_FORMAT_RGB565" value="6"/>39<value name="CMD_DST_FORMAT_RGB666" value="7"/>40<value name="CMD_DST_FORMAT_RGB888" value="8"/>41</enum>42<enum name="dsi_lane_swap">43<value name="LANE_SWAP_0123" value="0"/>44<value name="LANE_SWAP_3012" value="1"/>45<value name="LANE_SWAP_2301" value="2"/>46<value name="LANE_SWAP_1230" value="3"/>47<value name="LANE_SWAP_0321" value="4"/>48<value name="LANE_SWAP_1032" value="5"/>49<value name="LANE_SWAP_2103" value="6"/>50<value name="LANE_SWAP_3210" value="7"/>51</enum>52<bitset name="DSI_IRQ">53<bitfield name="CMD_DMA_DONE" pos="0" type="boolean"/>54<bitfield name="MASK_CMD_DMA_DONE" pos="1" type="boolean"/>55<bitfield name="CMD_MDP_DONE" pos="8" type="boolean"/>56<bitfield name="MASK_CMD_MDP_DONE" pos="9" type="boolean"/>57<bitfield name="VIDEO_DONE" pos="16" type="boolean"/>58<bitfield name="MASK_VIDEO_DONE" pos="17" type="boolean"/>59<bitfield name="BTA_DONE" pos="20" type="boolean"/>60<bitfield name="MASK_BTA_DONE" pos="21" type="boolean"/>61<bitfield name="ERROR" pos="24" type="boolean"/>62<bitfield name="MASK_ERROR" pos="25" type="boolean"/>63</bitset>6465<reg32 offset="0x00000" name="6G_HW_VERSION">66<bitfield name="MAJOR" low="28" high="31" type="uint"/>67<bitfield name="MINOR" low="16" high="27" type="uint"/>68<bitfield name="STEP" low="0" high="15" type="uint"/>69</reg32>7071<reg32 offset="0x00000" name="CTRL">72<bitfield name="ENABLE" pos="0" type="boolean"/>73<bitfield name="VID_MODE_EN" pos="1" type="boolean"/>74<bitfield name="CMD_MODE_EN" pos="2" type="boolean"/>75<bitfield name="LANE0" pos="4" type="boolean"/>76<bitfield name="LANE1" pos="5" type="boolean"/>77<bitfield name="LANE2" pos="6" type="boolean"/>78<bitfield name="LANE3" pos="7" type="boolean"/>79<bitfield name="CLK_EN" pos="8" type="boolean"/>80<bitfield name="ECC_CHECK" pos="20" type="boolean"/>81<bitfield name="CRC_CHECK" pos="24" type="boolean"/>82</reg32>8384<reg32 offset="0x00004" name="STATUS0">85<bitfield name="CMD_MODE_ENGINE_BUSY" pos="0" type="boolean"/>86<bitfield name="CMD_MODE_DMA_BUSY" pos="1" type="boolean"/>87<bitfield name="CMD_MODE_MDP_BUSY" pos="2" type="boolean"/>88<bitfield name="VIDEO_MODE_ENGINE_BUSY" pos="3" type="boolean"/>89<bitfield name="DSI_BUSY" pos="4" type="boolean"/> <!-- see mipi_dsi_cmd_bta_sw_trigger() -->90<bitfield name="INTERLEAVE_OP_CONTENTION" pos="31" type="boolean"/>91</reg32>9293<reg32 offset="0x00008" name="FIFO_STATUS">94<bitfield name="VIDEO_MDP_FIFO_OVERFLOW" pos="0" type="boolean"/>95<bitfield name="VIDEO_MDP_FIFO_UNDERFLOW" pos="3" type="boolean"/>96<bitfield name="CMD_MDP_FIFO_UNDERFLOW" pos="7" type="boolean"/>97<bitfield name="CMD_DMA_FIFO_RD_WATERMARK_REACH" pos="8" type="boolean"/>98<bitfield name="CMD_DMA_FIFO_WR_WATERMARK_REACH" pos="9" type="boolean"/>99<bitfield name="CMD_DMA_FIFO_UNDERFLOW" pos="10" type="boolean"/>100<bitfield name="DLN0_LP_FIFO_EMPTY" pos="12" type="boolean"/>101<bitfield name="DLN0_LP_FIFO_FULL" pos="13" type="boolean"/>102<bitfield name="DLN0_LP_FIFO_OVERFLOW" pos="14" type="boolean"/>103<bitfield name="DLN0_HS_FIFO_EMPTY" pos="16" type="boolean"/>104<bitfield name="DLN0_HS_FIFO_FULL" pos="17" type="boolean"/>105<bitfield name="DLN0_HS_FIFO_OVERFLOW" pos="18" type="boolean"/>106<bitfield name="DLN0_HS_FIFO_UNDERFLOW" pos="19" type="boolean"/>107<bitfield name="DLN1_HS_FIFO_EMPTY" pos="20" type="boolean"/>108<bitfield name="DLN1_HS_FIFO_FULL" pos="21" type="boolean"/>109<bitfield name="DLN1_HS_FIFO_OVERFLOW" pos="22" type="boolean"/>110<bitfield name="DLN1_HS_FIFO_UNDERFLOW" pos="23" type="boolean"/>111<bitfield name="DLN2_HS_FIFO_EMPTY" pos="24" type="boolean"/>112<bitfield name="DLN2_HS_FIFO_FULL" pos="25" type="boolean"/>113<bitfield name="DLN2_HS_FIFO_OVERFLOW" pos="26" type="boolean"/>114<bitfield name="DLN2_HS_FIFO_UNDERFLOW" pos="27" type="boolean"/>115<bitfield name="DLN3_HS_FIFO_EMPTY" pos="28" type="boolean"/>116<bitfield name="DLN3_HS_FIFO_FULL" pos="29" type="boolean"/>117<bitfield name="DLN3_HS_FIFO_OVERFLOW" pos="30" type="boolean"/>118<bitfield name="DLN3_HS_FIFO_UNDERFLOW" pos="31" type="boolean"/>119</reg32>120<reg32 offset="0x0000c" name="VID_CFG0">121<bitfield name="VIRT_CHANNEL" low="0" high="1" type="uint"/> <!-- always zero? -->122<bitfield name="DST_FORMAT" low="4" high="5" type="dsi_vid_dst_format"/>123<bitfield name="TRAFFIC_MODE" low="8" high="9" type="dsi_traffic_mode"/>124<bitfield name="BLLP_POWER_STOP" pos="12" type="boolean"/>125<bitfield name="EOF_BLLP_POWER_STOP" pos="15" type="boolean"/>126<bitfield name="HSA_POWER_STOP" pos="16" type="boolean"/>127<bitfield name="HBP_POWER_STOP" pos="20" type="boolean"/>128<bitfield name="HFP_POWER_STOP" pos="24" type="boolean"/>129<bitfield name="PULSE_MODE_HSA_HE" pos="28" type="boolean"/>130</reg32>131<reg32 offset="0x0001c" name="VID_CFG1">132<bitfield name="R_SEL" pos="0" type="boolean"/>133<bitfield name="G_SEL" pos="4" type="boolean"/>134<bitfield name="B_SEL" pos="8" type="boolean"/>135<bitfield name="RGB_SWAP" low="12" high="14" type="dsi_rgb_swap"/>136</reg32>137<reg32 offset="0x00020" name="ACTIVE_H">138<bitfield name="START" low="0" high="11" type="uint"/>139<bitfield name="END" low="16" high="27" type="uint"/>140</reg32>141<reg32 offset="0x00024" name="ACTIVE_V">142<bitfield name="START" low="0" high="11" type="uint"/>143<bitfield name="END" low="16" high="27" type="uint"/>144</reg32>145<reg32 offset="0x00028" name="TOTAL">146<bitfield name="H_TOTAL" low="0" high="11" type="uint"/>147<bitfield name="V_TOTAL" low="16" high="27" type="uint"/>148</reg32>149<reg32 offset="0x0002c" name="ACTIVE_HSYNC">150<bitfield name="START" low="0" high="11" type="uint"/>151<bitfield name="END" low="16" high="27" type="uint"/>152</reg32>153<reg32 offset="0x00030" name="ACTIVE_VSYNC_HPOS">154<bitfield name="START" low="0" high="11" type="uint"/>155<bitfield name="END" low="16" high="27" type="uint"/>156</reg32>157<reg32 offset="0x00034" name="ACTIVE_VSYNC_VPOS">158<bitfield name="START" low="0" high="11" type="uint"/>159<bitfield name="END" low="16" high="27" type="uint"/>160</reg32>161162<reg32 offset="0x00038" name="CMD_DMA_CTRL">163<bitfield name="BROADCAST_EN" pos="31" type="boolean"/>164<bitfield name="FROM_FRAME_BUFFER" pos="28" type="boolean"/>165<bitfield name="LOW_POWER" pos="26" type="boolean"/>166</reg32>167<reg32 offset="0x0003c" name="CMD_CFG0">168<bitfield name="DST_FORMAT" low="0" high="3" type="dsi_cmd_dst_format"/>169<bitfield name="R_SEL" pos="4" type="boolean"/>170<bitfield name="G_SEL" pos="8" type="boolean"/>171<bitfield name="B_SEL" pos="12" type="boolean"/>172<bitfield name="INTERLEAVE_MAX" low="20" high="23" type="uint"/>173<bitfield name="RGB_SWAP" low="16" high="18" type="dsi_rgb_swap"/>174</reg32>175<reg32 offset="0x00040" name="CMD_CFG1">176<bitfield name="WR_MEM_START" low="0" high="7" type="uint"/>177<bitfield name="WR_MEM_CONTINUE" low="8" high="15" type="uint"/>178<bitfield name="INSERT_DCS_COMMAND" pos="16" type="boolean"/>179</reg32>180<reg32 offset="0x00044" name="DMA_BASE"/>181<reg32 offset="0x00048" name="DMA_LEN"/>182<reg32 offset="0x00054" name="CMD_MDP_STREAM0_CTRL">183<bitfield name="DATA_TYPE" low="0" high="5" type="uint"/>184<bitfield name="VIRTUAL_CHANNEL" low="8" high="9" type="uint"/>185<bitfield name="WORD_COUNT" low="16" high="31" type="uint"/>186</reg32>187<reg32 offset="0x00058" name="CMD_MDP_STREAM0_TOTAL">188<bitfield name="H_TOTAL" low="0" high="11" type="uint"/>189<bitfield name="V_TOTAL" low="16" high="27" type="uint"/>190</reg32>191<reg32 offset="0x0005c" name="CMD_MDP_STREAM1_CTRL">192<bitfield name="DATA_TYPE" low="0" high="5" type="uint"/>193<bitfield name="VIRTUAL_CHANNEL" low="8" high="9" type="uint"/>194<bitfield name="WORD_COUNT" low="16" high="31" type="uint"/>195</reg32>196<reg32 offset="0x00060" name="CMD_MDP_STREAM1_TOTAL">197<bitfield name="H_TOTAL" low="0" high="15" type="uint"/>198<bitfield name="V_TOTAL" low="16" high="31" type="uint"/>199</reg32>200<reg32 offset="0x00064" name="ACK_ERR_STATUS"/>201<array offset="0x00068" name="RDBK" length="4" stride="4">202<reg32 offset="0x0" name="DATA"/>203</array>204<reg32 offset="0x00080" name="TRIG_CTRL">205<bitfield name="DMA_TRIGGER" low="0" high="2" type="dsi_cmd_trigger"/>206<bitfield name="MDP_TRIGGER" low="4" high="6" type="dsi_cmd_trigger"/>207<bitfield name="STREAM" low="8" high="9" type="uint"/>208<bitfield name="BLOCK_DMA_WITHIN_FRAME" pos="12" type="boolean"/>209<bitfield name="TE" pos="31" type="boolean"/>210</reg32>211<reg32 offset="0x0008c" name="TRIG_DMA"/>212<reg32 offset="0x000b0" name="DLN0_PHY_ERR">213<bitfield name="DLN0_ERR_ESC" pos="0" type="boolean"/>214<bitfield name="DLN0_ERR_SYNC_ESC" pos="4" type="boolean"/>215<bitfield name="DLN0_ERR_CONTROL" pos="8" type="boolean"/>216<bitfield name="DLN0_ERR_CONTENTION_LP0" pos="12" type="boolean"/>217<bitfield name="DLN0_ERR_CONTENTION_LP1" pos="16" type="boolean"/>218</reg32>219<reg32 offset="0x000b4" name="LP_TIMER_CTRL">220<bitfield name="LP_RX_TO" low="0" high="15" type="uint"/>221<bitfield name="BTA_TO" low="16" high="31" type="uint"/>222</reg32>223<reg32 offset="0x000b8" name="HS_TIMER_CTRL">224<bitfield name="HS_TX_TO" low="0" high="15" type="uint"/>225<bitfield name="TIMER_RESOLUTION" low="16" high="19" type="uint"/>226<bitfield name="HS_TX_TO_STOP_EN" pos="28" type="boolean"/>227</reg32>228<reg32 offset="0x000bc" name="TIMEOUT_STATUS"/>229<reg32 offset="0x000c0" name="CLKOUT_TIMING_CTRL">230<bitfield name="T_CLK_PRE" low="0" high="5" type="uint"/>231<bitfield name="T_CLK_POST" low="8" high="13" type="uint"/>232</reg32>233<reg32 offset="0x000c8" name="EOT_PACKET_CTRL">234<bitfield name="TX_EOT_APPEND" pos="0" type="boolean"/>235<bitfield name="RX_EOT_IGNORE" pos="4" type="boolean"/>236</reg32>237<reg32 offset="0x000a4" name="LANE_STATUS">238<bitfield name="DLN0_STOPSTATE" pos="0" type="boolean"/>239<bitfield name="DLN1_STOPSTATE" pos="1" type="boolean"/>240<bitfield name="DLN2_STOPSTATE" pos="2" type="boolean"/>241<bitfield name="DLN3_STOPSTATE" pos="3" type="boolean"/>242<bitfield name="CLKLN_STOPSTATE" pos="4" type="boolean"/>243<bitfield name="DLN0_ULPS_ACTIVE_NOT" pos="8" type="boolean"/>244<bitfield name="DLN1_ULPS_ACTIVE_NOT" pos="9" type="boolean"/>245<bitfield name="DLN2_ULPS_ACTIVE_NOT" pos="10" type="boolean"/>246<bitfield name="DLN3_ULPS_ACTIVE_NOT" pos="11" type="boolean"/>247<bitfield name="CLKLN_ULPS_ACTIVE_NOT" pos="12" type="boolean"/>248<bitfield name="DLN0_DIRECTION" pos="16" type="boolean"/>249</reg32>250<reg32 offset="0x000a8" name="LANE_CTRL">251<bitfield name="CLKLN_HS_FORCE_REQUEST" pos="28" type="boolean"/>252</reg32>253<reg32 offset="0x000ac" name="LANE_SWAP_CTRL">254<bitfield name="DLN_SWAP_SEL" low="0" high="2" type="dsi_lane_swap"/>255</reg32>256<reg32 offset="0x00108" name="ERR_INT_MASK0"/>257<reg32 offset="0x0010c" name="INTR_CTRL" type="DSI_IRQ"/>258<reg32 offset="0x00114" name="RESET"/>259<reg32 offset="0x00118" name="CLK_CTRL">260<bitfield name="AHBS_HCLK_ON" pos="0" type="boolean"/>261<bitfield name="AHBM_SCLK_ON" pos="1" type="boolean"/>262<bitfield name="PCLK_ON" pos="2" type="boolean"/>263<bitfield name="DSICLK_ON" pos="3" type="boolean"/>264<bitfield name="BYTECLK_ON" pos="4" type="boolean"/>265<bitfield name="ESCCLK_ON" pos="5" type="boolean"/>266<bitfield name="FORCE_ON_DYN_AHBM_HCLK" pos="9" type="boolean"/>267</reg32>268<reg32 offset="0x0011c" name="CLK_STATUS">269<bitfield name="DSI_AON_AHBM_HCLK_ACTIVE" pos="0" type="boolean"/>270<bitfield name="DSI_DYN_AHBM_HCLK_ACTIVE" pos="1" type="boolean"/>271<bitfield name="DSI_AON_AHBS_HCLK_ACTIVE" pos="2" type="boolean"/>272<bitfield name="DSI_DYN_AHBS_HCLK_ACTIVE" pos="3" type="boolean"/>273<bitfield name="DSI_AON_DSICLK_ACTIVE" pos="4" type="boolean"/>274<bitfield name="DSI_DYN_DSICLK_ACTIVE" pos="5" type="boolean"/>275<bitfield name="DSI_AON_BYTECLK_ACTIVE" pos="6" type="boolean"/>276<bitfield name="DSI_DYN_BYTECLK_ACTIVE" pos="7" type="boolean"/>277<bitfield name="DSI_AON_ESCCLK_ACTIVE" pos="8" type="boolean"/>278<bitfield name="DSI_AON_PCLK_ACTIVE" pos="9" type="boolean"/>279<bitfield name="DSI_DYN_PCLK_ACTIVE" pos="10" type="boolean"/>280<bitfield name="DSI_DYN_CMD_PCLK_ACTIVE" pos="12" type="boolean"/>281<bitfield name="DSI_CMD_PCLK_ACTIVE" pos="13" type="boolean"/>282<bitfield name="DSI_VID_PCLK_ACTIVE" pos="14" type="boolean"/>283<bitfield name="DSI_CAM_BIST_PCLK_ACT" pos="15" type="boolean"/>284<bitfield name="PLL_UNLOCKED" pos="16" type="boolean"/>285</reg32>286<reg32 offset="0x00128" name="PHY_RESET">287<bitfield name="RESET" pos="0" type="boolean"/>288</reg32>289<reg32 offset="0x0017c" name="T_CLK_PRE_EXTEND">290<bitfield name="INC_BY_2_BYTECLK" pos="0" type="boolean"/>291</reg32>292<reg32 offset="0x001b4" name="CMD_MODE_MDP_CTRL2">293<bitfield name="DST_FORMAT2" low="0" high="3" type="dsi_cmd_dst_format"/>294<bitfield name="R_SEL" pos="4" type="boolean"/>295<bitfield name="G_SEL" pos="5" type="boolean"/>296<bitfield name="B_SEL" pos="6" type="boolean"/>297<bitfield name="BYTE_MSB_LSB_FLIP" pos="7" type="boolean"/>298<bitfield name="RGB_SWAP" low="8" high="10" type="dsi_rgb_swap"/>299<bitfield name="INPUT_RGB_SWAP" low="12" high="14" type="dsi_rgb_swap"/>300<bitfield name="BURST_MODE" pos="16" type="boolean"/>301</reg32>302<reg32 offset="0x001b8" name="CMD_MODE_MDP_STREAM2_CTRL">303<bitfield name="DATA_TYPE" low="0" high="5" type="uint"/>304<bitfield name="VIRTUAL_CHANNEL" low="8" high="9" type="uint"/>305<bitfield name="WORD_COUNT" low="16" high="31" type="uint"/>306</reg32>307<reg32 offset="0x001d0" name="RDBK_DATA_CTRL">308<bitfield name="COUNT" low="16" high="23" type="uint"/>309<bitfield name="CLR" pos="0" type="boolean"/>310</reg32>311<reg32 offset="0x001f0" name="VERSION">312<bitfield name="MAJOR" low="24" high="31" type="uint"/>313</reg32>314<reg32 offset="0x002d4" name="CPHY_MODE_CTRL"/>315</domain>316317</database>318319320