Back to home page

OSCL-LXR

 
 

    


0001 #ifndef DSI_XML
0002 #define DSI_XML
0003 
0004 /* Autogenerated file, DO NOT EDIT manually!
0005 
0006 This file was generated by the rules-ng-ng headergen tool in this git repository:
0007 http://github.com/freedreno/envytools/
0008 git clone https://github.com/freedreno/envytools.git
0009 
0010 The rules-ng-ng source files this header was generated from are:
0011 - /home/robclark/tmp/mesa/src/freedreno/registers/msm.xml                   (    944 bytes, from 2022-03-03 01:18:13)
0012 - /home/robclark/tmp/mesa/src/freedreno/registers/freedreno_copyright.xml   (   1572 bytes, from 2020-12-31 19:26:32)
0013 - /home/robclark/tmp/mesa/src/freedreno/registers/mdp/mdp4.xml              (  20912 bytes, from 2021-01-30 18:25:22)
0014 - /home/robclark/tmp/mesa/src/freedreno/registers/mdp/mdp_common.xml        (   2849 bytes, from 2021-01-30 18:25:22)
0015 - /home/robclark/tmp/mesa/src/freedreno/registers/mdp/mdp5.xml              (  37461 bytes, from 2021-01-30 18:25:22)
0016 - /home/robclark/tmp/mesa/src/freedreno/registers/dsi/dsi.xml               (  17560 bytes, from 2021-09-16 22:37:02)
0017 - /home/robclark/tmp/mesa/src/freedreno/registers/dsi/dsi_phy_v2.xml        (   3236 bytes, from 2021-07-22 15:21:56)
0018 - /home/robclark/tmp/mesa/src/freedreno/registers/dsi/dsi_phy_28nm_8960.xml (   4935 bytes, from 2021-07-22 15:21:56)
0019 - /home/robclark/tmp/mesa/src/freedreno/registers/dsi/dsi_phy_28nm.xml      (   7004 bytes, from 2021-07-22 15:21:56)
0020 - /home/robclark/tmp/mesa/src/freedreno/registers/dsi/dsi_phy_20nm.xml      (   3712 bytes, from 2021-07-22 15:21:56)
0021 - /home/robclark/tmp/mesa/src/freedreno/registers/dsi/dsi_phy_14nm.xml      (   5381 bytes, from 2021-07-22 15:21:56)
0022 - /home/robclark/tmp/mesa/src/freedreno/registers/dsi/dsi_phy_10nm.xml      (   4499 bytes, from 2021-07-22 15:21:56)
0023 - /home/robclark/tmp/mesa/src/freedreno/registers/dsi/dsi_phy_7nm.xml       (  11007 bytes, from 2022-03-03 01:18:13)
0024 - /home/robclark/tmp/mesa/src/freedreno/registers/dsi/sfpb.xml              (    602 bytes, from 2021-01-30 18:25:22)
0025 - /home/robclark/tmp/mesa/src/freedreno/registers/dsi/mmss_cc.xml           (   1686 bytes, from 2021-01-30 18:25:22)
0026 - /home/robclark/tmp/mesa/src/freedreno/registers/hdmi/qfprom.xml           (    600 bytes, from 2021-01-30 18:25:22)
0027 - /home/robclark/tmp/mesa/src/freedreno/registers/hdmi/hdmi.xml             (  41874 bytes, from 2021-01-30 18:25:22)
0028 - /home/robclark/tmp/mesa/src/freedreno/registers/edp/edp.xml               (  10416 bytes, from 2021-01-30 18:25:22)
0029 
0030 Copyright (C) 2013-2021 by the following authors:
0031 - Rob Clark <robdclark@gmail.com> (robclark)
0032 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
0033 
0034 Permission is hereby granted, free of charge, to any person obtaining
0035 a copy of this software and associated documentation files (the
0036 "Software"), to deal in the Software without restriction, including
0037 without limitation the rights to use, copy, modify, merge, publish,
0038 distribute, sublicense, and/or sell copies of the Software, and to
0039 permit persons to whom the Software is furnished to do so, subject to
0040 the following conditions:
0041 
0042 The above copyright notice and this permission notice (including the
0043 next paragraph) shall be included in all copies or substantial
0044 portions of the Software.
0045 
0046 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
0047 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
0048 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
0049 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
0050 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
0051 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
0052 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
0053 */
0054 
0055 
0056 enum dsi_traffic_mode {
0057     NON_BURST_SYNCH_PULSE = 0,
0058     NON_BURST_SYNCH_EVENT = 1,
0059     BURST_MODE = 2,
0060 };
0061 
0062 enum dsi_vid_dst_format {
0063     VID_DST_FORMAT_RGB565 = 0,
0064     VID_DST_FORMAT_RGB666 = 1,
0065     VID_DST_FORMAT_RGB666_LOOSE = 2,
0066     VID_DST_FORMAT_RGB888 = 3,
0067 };
0068 
0069 enum dsi_rgb_swap {
0070     SWAP_RGB = 0,
0071     SWAP_RBG = 1,
0072     SWAP_BGR = 2,
0073     SWAP_BRG = 3,
0074     SWAP_GRB = 4,
0075     SWAP_GBR = 5,
0076 };
0077 
0078 enum dsi_cmd_trigger {
0079     TRIGGER_NONE = 0,
0080     TRIGGER_SEOF = 1,
0081     TRIGGER_TE = 2,
0082     TRIGGER_SW = 4,
0083     TRIGGER_SW_SEOF = 5,
0084     TRIGGER_SW_TE = 6,
0085 };
0086 
0087 enum dsi_cmd_dst_format {
0088     CMD_DST_FORMAT_RGB111 = 0,
0089     CMD_DST_FORMAT_RGB332 = 3,
0090     CMD_DST_FORMAT_RGB444 = 4,
0091     CMD_DST_FORMAT_RGB565 = 6,
0092     CMD_DST_FORMAT_RGB666 = 7,
0093     CMD_DST_FORMAT_RGB888 = 8,
0094 };
0095 
0096 enum dsi_lane_swap {
0097     LANE_SWAP_0123 = 0,
0098     LANE_SWAP_3012 = 1,
0099     LANE_SWAP_2301 = 2,
0100     LANE_SWAP_1230 = 3,
0101     LANE_SWAP_0321 = 4,
0102     LANE_SWAP_1032 = 5,
0103     LANE_SWAP_2103 = 6,
0104     LANE_SWAP_3210 = 7,
0105 };
0106 
0107 enum video_config_bpp {
0108     VIDEO_CONFIG_18BPP = 0,
0109     VIDEO_CONFIG_24BPP = 1,
0110 };
0111 
0112 enum video_pattern_sel {
0113     VID_PRBS = 0,
0114     VID_INCREMENTAL = 1,
0115     VID_FIXED = 2,
0116     VID_MDSS_GENERAL_PATTERN = 3,
0117 };
0118 
0119 enum cmd_mdp_stream0_pattern_sel {
0120     CMD_MDP_PRBS = 0,
0121     CMD_MDP_INCREMENTAL = 1,
0122     CMD_MDP_FIXED = 2,
0123     CMD_MDP_MDSS_GENERAL_PATTERN = 3,
0124 };
0125 
0126 enum cmd_dma_pattern_sel {
0127     CMD_DMA_PRBS = 0,
0128     CMD_DMA_INCREMENTAL = 1,
0129     CMD_DMA_FIXED = 2,
0130     CMD_DMA_CUSTOM_PATTERN_DMA_FIFO = 3,
0131 };
0132 
0133 #define DSI_IRQ_CMD_DMA_DONE                    0x00000001
0134 #define DSI_IRQ_MASK_CMD_DMA_DONE               0x00000002
0135 #define DSI_IRQ_CMD_MDP_DONE                    0x00000100
0136 #define DSI_IRQ_MASK_CMD_MDP_DONE               0x00000200
0137 #define DSI_IRQ_VIDEO_DONE                  0x00010000
0138 #define DSI_IRQ_MASK_VIDEO_DONE                 0x00020000
0139 #define DSI_IRQ_BTA_DONE                    0x00100000
0140 #define DSI_IRQ_MASK_BTA_DONE                   0x00200000
0141 #define DSI_IRQ_ERROR                       0x01000000
0142 #define DSI_IRQ_MASK_ERROR                  0x02000000
0143 #define REG_DSI_6G_HW_VERSION                   0x00000000
0144 #define DSI_6G_HW_VERSION_MAJOR__MASK               0xf0000000
0145 #define DSI_6G_HW_VERSION_MAJOR__SHIFT              28
0146 static inline uint32_t DSI_6G_HW_VERSION_MAJOR(uint32_t val)
0147 {
0148     return ((val) << DSI_6G_HW_VERSION_MAJOR__SHIFT) & DSI_6G_HW_VERSION_MAJOR__MASK;
0149 }
0150 #define DSI_6G_HW_VERSION_MINOR__MASK               0x0fff0000
0151 #define DSI_6G_HW_VERSION_MINOR__SHIFT              16
0152 static inline uint32_t DSI_6G_HW_VERSION_MINOR(uint32_t val)
0153 {
0154     return ((val) << DSI_6G_HW_VERSION_MINOR__SHIFT) & DSI_6G_HW_VERSION_MINOR__MASK;
0155 }
0156 #define DSI_6G_HW_VERSION_STEP__MASK                0x0000ffff
0157 #define DSI_6G_HW_VERSION_STEP__SHIFT               0
0158 static inline uint32_t DSI_6G_HW_VERSION_STEP(uint32_t val)
0159 {
0160     return ((val) << DSI_6G_HW_VERSION_STEP__SHIFT) & DSI_6G_HW_VERSION_STEP__MASK;
0161 }
0162 
0163 #define REG_DSI_CTRL                        0x00000000
0164 #define DSI_CTRL_ENABLE                     0x00000001
0165 #define DSI_CTRL_VID_MODE_EN                    0x00000002
0166 #define DSI_CTRL_CMD_MODE_EN                    0x00000004
0167 #define DSI_CTRL_LANE0                      0x00000010
0168 #define DSI_CTRL_LANE1                      0x00000020
0169 #define DSI_CTRL_LANE2                      0x00000040
0170 #define DSI_CTRL_LANE3                      0x00000080
0171 #define DSI_CTRL_CLK_EN                     0x00000100
0172 #define DSI_CTRL_ECC_CHECK                  0x00100000
0173 #define DSI_CTRL_CRC_CHECK                  0x01000000
0174 
0175 #define REG_DSI_STATUS0                     0x00000004
0176 #define DSI_STATUS0_CMD_MODE_ENGINE_BUSY            0x00000001
0177 #define DSI_STATUS0_CMD_MODE_DMA_BUSY               0x00000002
0178 #define DSI_STATUS0_CMD_MODE_MDP_BUSY               0x00000004
0179 #define DSI_STATUS0_VIDEO_MODE_ENGINE_BUSY          0x00000008
0180 #define DSI_STATUS0_DSI_BUSY                    0x00000010
0181 #define DSI_STATUS0_INTERLEAVE_OP_CONTENTION            0x80000000
0182 
0183 #define REG_DSI_FIFO_STATUS                 0x00000008
0184 #define DSI_FIFO_STATUS_VIDEO_MDP_FIFO_OVERFLOW         0x00000001
0185 #define DSI_FIFO_STATUS_VIDEO_MDP_FIFO_UNDERFLOW        0x00000008
0186 #define DSI_FIFO_STATUS_CMD_MDP_FIFO_UNDERFLOW          0x00000080
0187 #define DSI_FIFO_STATUS_CMD_DMA_FIFO_RD_WATERMARK_REACH     0x00000100
0188 #define DSI_FIFO_STATUS_CMD_DMA_FIFO_WR_WATERMARK_REACH     0x00000200
0189 #define DSI_FIFO_STATUS_CMD_DMA_FIFO_UNDERFLOW          0x00000400
0190 #define DSI_FIFO_STATUS_DLN0_LP_FIFO_EMPTY          0x00001000
0191 #define DSI_FIFO_STATUS_DLN0_LP_FIFO_FULL           0x00002000
0192 #define DSI_FIFO_STATUS_DLN0_LP_FIFO_OVERFLOW           0x00004000
0193 #define DSI_FIFO_STATUS_DLN0_HS_FIFO_EMPTY          0x00010000
0194 #define DSI_FIFO_STATUS_DLN0_HS_FIFO_FULL           0x00020000
0195 #define DSI_FIFO_STATUS_DLN0_HS_FIFO_OVERFLOW           0x00040000
0196 #define DSI_FIFO_STATUS_DLN0_HS_FIFO_UNDERFLOW          0x00080000
0197 #define DSI_FIFO_STATUS_DLN1_HS_FIFO_EMPTY          0x00100000
0198 #define DSI_FIFO_STATUS_DLN1_HS_FIFO_FULL           0x00200000
0199 #define DSI_FIFO_STATUS_DLN1_HS_FIFO_OVERFLOW           0x00400000
0200 #define DSI_FIFO_STATUS_DLN1_HS_FIFO_UNDERFLOW          0x00800000
0201 #define DSI_FIFO_STATUS_DLN2_HS_FIFO_EMPTY          0x01000000
0202 #define DSI_FIFO_STATUS_DLN2_HS_FIFO_FULL           0x02000000
0203 #define DSI_FIFO_STATUS_DLN2_HS_FIFO_OVERFLOW           0x04000000
0204 #define DSI_FIFO_STATUS_DLN2_HS_FIFO_UNDERFLOW          0x08000000
0205 #define DSI_FIFO_STATUS_DLN3_HS_FIFO_EMPTY          0x10000000
0206 #define DSI_FIFO_STATUS_DLN3_HS_FIFO_FULL           0x20000000
0207 #define DSI_FIFO_STATUS_DLN3_HS_FIFO_OVERFLOW           0x40000000
0208 #define DSI_FIFO_STATUS_DLN3_HS_FIFO_UNDERFLOW          0x80000000
0209 
0210 #define REG_DSI_VID_CFG0                    0x0000000c
0211 #define DSI_VID_CFG0_VIRT_CHANNEL__MASK             0x00000003
0212 #define DSI_VID_CFG0_VIRT_CHANNEL__SHIFT            0
0213 static inline uint32_t DSI_VID_CFG0_VIRT_CHANNEL(uint32_t val)
0214 {
0215     return ((val) << DSI_VID_CFG0_VIRT_CHANNEL__SHIFT) & DSI_VID_CFG0_VIRT_CHANNEL__MASK;
0216 }
0217 #define DSI_VID_CFG0_DST_FORMAT__MASK               0x00000030
0218 #define DSI_VID_CFG0_DST_FORMAT__SHIFT              4
0219 static inline uint32_t DSI_VID_CFG0_DST_FORMAT(enum dsi_vid_dst_format val)
0220 {
0221     return ((val) << DSI_VID_CFG0_DST_FORMAT__SHIFT) & DSI_VID_CFG0_DST_FORMAT__MASK;
0222 }
0223 #define DSI_VID_CFG0_TRAFFIC_MODE__MASK             0x00000300
0224 #define DSI_VID_CFG0_TRAFFIC_MODE__SHIFT            8
0225 static inline uint32_t DSI_VID_CFG0_TRAFFIC_MODE(enum dsi_traffic_mode val)
0226 {
0227     return ((val) << DSI_VID_CFG0_TRAFFIC_MODE__SHIFT) & DSI_VID_CFG0_TRAFFIC_MODE__MASK;
0228 }
0229 #define DSI_VID_CFG0_BLLP_POWER_STOP                0x00001000
0230 #define DSI_VID_CFG0_EOF_BLLP_POWER_STOP            0x00008000
0231 #define DSI_VID_CFG0_HSA_POWER_STOP             0x00010000
0232 #define DSI_VID_CFG0_HBP_POWER_STOP             0x00100000
0233 #define DSI_VID_CFG0_HFP_POWER_STOP             0x01000000
0234 #define DSI_VID_CFG0_PULSE_MODE_HSA_HE              0x10000000
0235 
0236 #define REG_DSI_VID_CFG1                    0x0000001c
0237 #define DSI_VID_CFG1_R_SEL                  0x00000001
0238 #define DSI_VID_CFG1_G_SEL                  0x00000010
0239 #define DSI_VID_CFG1_B_SEL                  0x00000100
0240 #define DSI_VID_CFG1_RGB_SWAP__MASK             0x00007000
0241 #define DSI_VID_CFG1_RGB_SWAP__SHIFT                12
0242 static inline uint32_t DSI_VID_CFG1_RGB_SWAP(enum dsi_rgb_swap val)
0243 {
0244     return ((val) << DSI_VID_CFG1_RGB_SWAP__SHIFT) & DSI_VID_CFG1_RGB_SWAP__MASK;
0245 }
0246 
0247 #define REG_DSI_ACTIVE_H                    0x00000020
0248 #define DSI_ACTIVE_H_START__MASK                0x00000fff
0249 #define DSI_ACTIVE_H_START__SHIFT               0
0250 static inline uint32_t DSI_ACTIVE_H_START(uint32_t val)
0251 {
0252     return ((val) << DSI_ACTIVE_H_START__SHIFT) & DSI_ACTIVE_H_START__MASK;
0253 }
0254 #define DSI_ACTIVE_H_END__MASK                  0x0fff0000
0255 #define DSI_ACTIVE_H_END__SHIFT                 16
0256 static inline uint32_t DSI_ACTIVE_H_END(uint32_t val)
0257 {
0258     return ((val) << DSI_ACTIVE_H_END__SHIFT) & DSI_ACTIVE_H_END__MASK;
0259 }
0260 
0261 #define REG_DSI_ACTIVE_V                    0x00000024
0262 #define DSI_ACTIVE_V_START__MASK                0x00000fff
0263 #define DSI_ACTIVE_V_START__SHIFT               0
0264 static inline uint32_t DSI_ACTIVE_V_START(uint32_t val)
0265 {
0266     return ((val) << DSI_ACTIVE_V_START__SHIFT) & DSI_ACTIVE_V_START__MASK;
0267 }
0268 #define DSI_ACTIVE_V_END__MASK                  0x0fff0000
0269 #define DSI_ACTIVE_V_END__SHIFT                 16
0270 static inline uint32_t DSI_ACTIVE_V_END(uint32_t val)
0271 {
0272     return ((val) << DSI_ACTIVE_V_END__SHIFT) & DSI_ACTIVE_V_END__MASK;
0273 }
0274 
0275 #define REG_DSI_TOTAL                       0x00000028
0276 #define DSI_TOTAL_H_TOTAL__MASK                 0x00000fff
0277 #define DSI_TOTAL_H_TOTAL__SHIFT                0
0278 static inline uint32_t DSI_TOTAL_H_TOTAL(uint32_t val)
0279 {
0280     return ((val) << DSI_TOTAL_H_TOTAL__SHIFT) & DSI_TOTAL_H_TOTAL__MASK;
0281 }
0282 #define DSI_TOTAL_V_TOTAL__MASK                 0x0fff0000
0283 #define DSI_TOTAL_V_TOTAL__SHIFT                16
0284 static inline uint32_t DSI_TOTAL_V_TOTAL(uint32_t val)
0285 {
0286     return ((val) << DSI_TOTAL_V_TOTAL__SHIFT) & DSI_TOTAL_V_TOTAL__MASK;
0287 }
0288 
0289 #define REG_DSI_ACTIVE_HSYNC                    0x0000002c
0290 #define DSI_ACTIVE_HSYNC_START__MASK                0x00000fff
0291 #define DSI_ACTIVE_HSYNC_START__SHIFT               0
0292 static inline uint32_t DSI_ACTIVE_HSYNC_START(uint32_t val)
0293 {
0294     return ((val) << DSI_ACTIVE_HSYNC_START__SHIFT) & DSI_ACTIVE_HSYNC_START__MASK;
0295 }
0296 #define DSI_ACTIVE_HSYNC_END__MASK              0x0fff0000
0297 #define DSI_ACTIVE_HSYNC_END__SHIFT             16
0298 static inline uint32_t DSI_ACTIVE_HSYNC_END(uint32_t val)
0299 {
0300     return ((val) << DSI_ACTIVE_HSYNC_END__SHIFT) & DSI_ACTIVE_HSYNC_END__MASK;
0301 }
0302 
0303 #define REG_DSI_ACTIVE_VSYNC_HPOS               0x00000030
0304 #define DSI_ACTIVE_VSYNC_HPOS_START__MASK           0x00000fff
0305 #define DSI_ACTIVE_VSYNC_HPOS_START__SHIFT          0
0306 static inline uint32_t DSI_ACTIVE_VSYNC_HPOS_START(uint32_t val)
0307 {
0308     return ((val) << DSI_ACTIVE_VSYNC_HPOS_START__SHIFT) & DSI_ACTIVE_VSYNC_HPOS_START__MASK;
0309 }
0310 #define DSI_ACTIVE_VSYNC_HPOS_END__MASK             0x0fff0000
0311 #define DSI_ACTIVE_VSYNC_HPOS_END__SHIFT            16
0312 static inline uint32_t DSI_ACTIVE_VSYNC_HPOS_END(uint32_t val)
0313 {
0314     return ((val) << DSI_ACTIVE_VSYNC_HPOS_END__SHIFT) & DSI_ACTIVE_VSYNC_HPOS_END__MASK;
0315 }
0316 
0317 #define REG_DSI_ACTIVE_VSYNC_VPOS               0x00000034
0318 #define DSI_ACTIVE_VSYNC_VPOS_START__MASK           0x00000fff
0319 #define DSI_ACTIVE_VSYNC_VPOS_START__SHIFT          0
0320 static inline uint32_t DSI_ACTIVE_VSYNC_VPOS_START(uint32_t val)
0321 {
0322     return ((val) << DSI_ACTIVE_VSYNC_VPOS_START__SHIFT) & DSI_ACTIVE_VSYNC_VPOS_START__MASK;
0323 }
0324 #define DSI_ACTIVE_VSYNC_VPOS_END__MASK             0x0fff0000
0325 #define DSI_ACTIVE_VSYNC_VPOS_END__SHIFT            16
0326 static inline uint32_t DSI_ACTIVE_VSYNC_VPOS_END(uint32_t val)
0327 {
0328     return ((val) << DSI_ACTIVE_VSYNC_VPOS_END__SHIFT) & DSI_ACTIVE_VSYNC_VPOS_END__MASK;
0329 }
0330 
0331 #define REG_DSI_CMD_DMA_CTRL                    0x00000038
0332 #define DSI_CMD_DMA_CTRL_BROADCAST_EN               0x80000000
0333 #define DSI_CMD_DMA_CTRL_FROM_FRAME_BUFFER          0x10000000
0334 #define DSI_CMD_DMA_CTRL_LOW_POWER              0x04000000
0335 
0336 #define REG_DSI_CMD_CFG0                    0x0000003c
0337 #define DSI_CMD_CFG0_DST_FORMAT__MASK               0x0000000f
0338 #define DSI_CMD_CFG0_DST_FORMAT__SHIFT              0
0339 static inline uint32_t DSI_CMD_CFG0_DST_FORMAT(enum dsi_cmd_dst_format val)
0340 {
0341     return ((val) << DSI_CMD_CFG0_DST_FORMAT__SHIFT) & DSI_CMD_CFG0_DST_FORMAT__MASK;
0342 }
0343 #define DSI_CMD_CFG0_R_SEL                  0x00000010
0344 #define DSI_CMD_CFG0_G_SEL                  0x00000100
0345 #define DSI_CMD_CFG0_B_SEL                  0x00001000
0346 #define DSI_CMD_CFG0_INTERLEAVE_MAX__MASK           0x00f00000
0347 #define DSI_CMD_CFG0_INTERLEAVE_MAX__SHIFT          20
0348 static inline uint32_t DSI_CMD_CFG0_INTERLEAVE_MAX(uint32_t val)
0349 {
0350     return ((val) << DSI_CMD_CFG0_INTERLEAVE_MAX__SHIFT) & DSI_CMD_CFG0_INTERLEAVE_MAX__MASK;
0351 }
0352 #define DSI_CMD_CFG0_RGB_SWAP__MASK             0x00070000
0353 #define DSI_CMD_CFG0_RGB_SWAP__SHIFT                16
0354 static inline uint32_t DSI_CMD_CFG0_RGB_SWAP(enum dsi_rgb_swap val)
0355 {
0356     return ((val) << DSI_CMD_CFG0_RGB_SWAP__SHIFT) & DSI_CMD_CFG0_RGB_SWAP__MASK;
0357 }
0358 
0359 #define REG_DSI_CMD_CFG1                    0x00000040
0360 #define DSI_CMD_CFG1_WR_MEM_START__MASK             0x000000ff
0361 #define DSI_CMD_CFG1_WR_MEM_START__SHIFT            0
0362 static inline uint32_t DSI_CMD_CFG1_WR_MEM_START(uint32_t val)
0363 {
0364     return ((val) << DSI_CMD_CFG1_WR_MEM_START__SHIFT) & DSI_CMD_CFG1_WR_MEM_START__MASK;
0365 }
0366 #define DSI_CMD_CFG1_WR_MEM_CONTINUE__MASK          0x0000ff00
0367 #define DSI_CMD_CFG1_WR_MEM_CONTINUE__SHIFT         8
0368 static inline uint32_t DSI_CMD_CFG1_WR_MEM_CONTINUE(uint32_t val)
0369 {
0370     return ((val) << DSI_CMD_CFG1_WR_MEM_CONTINUE__SHIFT) & DSI_CMD_CFG1_WR_MEM_CONTINUE__MASK;
0371 }
0372 #define DSI_CMD_CFG1_INSERT_DCS_COMMAND             0x00010000
0373 
0374 #define REG_DSI_DMA_BASE                    0x00000044
0375 
0376 #define REG_DSI_DMA_LEN                     0x00000048
0377 
0378 #define REG_DSI_CMD_MDP_STREAM0_CTRL                0x00000054
0379 #define DSI_CMD_MDP_STREAM0_CTRL_DATA_TYPE__MASK        0x0000003f
0380 #define DSI_CMD_MDP_STREAM0_CTRL_DATA_TYPE__SHIFT       0
0381 static inline uint32_t DSI_CMD_MDP_STREAM0_CTRL_DATA_TYPE(uint32_t val)
0382 {
0383     return ((val) << DSI_CMD_MDP_STREAM0_CTRL_DATA_TYPE__SHIFT) & DSI_CMD_MDP_STREAM0_CTRL_DATA_TYPE__MASK;
0384 }
0385 #define DSI_CMD_MDP_STREAM0_CTRL_VIRTUAL_CHANNEL__MASK      0x00000300
0386 #define DSI_CMD_MDP_STREAM0_CTRL_VIRTUAL_CHANNEL__SHIFT     8
0387 static inline uint32_t DSI_CMD_MDP_STREAM0_CTRL_VIRTUAL_CHANNEL(uint32_t val)
0388 {
0389     return ((val) << DSI_CMD_MDP_STREAM0_CTRL_VIRTUAL_CHANNEL__SHIFT) & DSI_CMD_MDP_STREAM0_CTRL_VIRTUAL_CHANNEL__MASK;
0390 }
0391 #define DSI_CMD_MDP_STREAM0_CTRL_WORD_COUNT__MASK       0xffff0000
0392 #define DSI_CMD_MDP_STREAM0_CTRL_WORD_COUNT__SHIFT      16
0393 static inline uint32_t DSI_CMD_MDP_STREAM0_CTRL_WORD_COUNT(uint32_t val)
0394 {
0395     return ((val) << DSI_CMD_MDP_STREAM0_CTRL_WORD_COUNT__SHIFT) & DSI_CMD_MDP_STREAM0_CTRL_WORD_COUNT__MASK;
0396 }
0397 
0398 #define REG_DSI_CMD_MDP_STREAM0_TOTAL               0x00000058
0399 #define DSI_CMD_MDP_STREAM0_TOTAL_H_TOTAL__MASK         0x00000fff
0400 #define DSI_CMD_MDP_STREAM0_TOTAL_H_TOTAL__SHIFT        0
0401 static inline uint32_t DSI_CMD_MDP_STREAM0_TOTAL_H_TOTAL(uint32_t val)
0402 {
0403     return ((val) << DSI_CMD_MDP_STREAM0_TOTAL_H_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM0_TOTAL_H_TOTAL__MASK;
0404 }
0405 #define DSI_CMD_MDP_STREAM0_TOTAL_V_TOTAL__MASK         0x0fff0000
0406 #define DSI_CMD_MDP_STREAM0_TOTAL_V_TOTAL__SHIFT        16
0407 static inline uint32_t DSI_CMD_MDP_STREAM0_TOTAL_V_TOTAL(uint32_t val)
0408 {
0409     return ((val) << DSI_CMD_MDP_STREAM0_TOTAL_V_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM0_TOTAL_V_TOTAL__MASK;
0410 }
0411 
0412 #define REG_DSI_CMD_MDP_STREAM1_CTRL                0x0000005c
0413 #define DSI_CMD_MDP_STREAM1_CTRL_DATA_TYPE__MASK        0x0000003f
0414 #define DSI_CMD_MDP_STREAM1_CTRL_DATA_TYPE__SHIFT       0
0415 static inline uint32_t DSI_CMD_MDP_STREAM1_CTRL_DATA_TYPE(uint32_t val)
0416 {
0417     return ((val) << DSI_CMD_MDP_STREAM1_CTRL_DATA_TYPE__SHIFT) & DSI_CMD_MDP_STREAM1_CTRL_DATA_TYPE__MASK;
0418 }
0419 #define DSI_CMD_MDP_STREAM1_CTRL_VIRTUAL_CHANNEL__MASK      0x00000300
0420 #define DSI_CMD_MDP_STREAM1_CTRL_VIRTUAL_CHANNEL__SHIFT     8
0421 static inline uint32_t DSI_CMD_MDP_STREAM1_CTRL_VIRTUAL_CHANNEL(uint32_t val)
0422 {
0423     return ((val) << DSI_CMD_MDP_STREAM1_CTRL_VIRTUAL_CHANNEL__SHIFT) & DSI_CMD_MDP_STREAM1_CTRL_VIRTUAL_CHANNEL__MASK;
0424 }
0425 #define DSI_CMD_MDP_STREAM1_CTRL_WORD_COUNT__MASK       0xffff0000
0426 #define DSI_CMD_MDP_STREAM1_CTRL_WORD_COUNT__SHIFT      16
0427 static inline uint32_t DSI_CMD_MDP_STREAM1_CTRL_WORD_COUNT(uint32_t val)
0428 {
0429     return ((val) << DSI_CMD_MDP_STREAM1_CTRL_WORD_COUNT__SHIFT) & DSI_CMD_MDP_STREAM1_CTRL_WORD_COUNT__MASK;
0430 }
0431 
0432 #define REG_DSI_CMD_MDP_STREAM1_TOTAL               0x00000060
0433 #define DSI_CMD_MDP_STREAM1_TOTAL_H_TOTAL__MASK         0x0000ffff
0434 #define DSI_CMD_MDP_STREAM1_TOTAL_H_TOTAL__SHIFT        0
0435 static inline uint32_t DSI_CMD_MDP_STREAM1_TOTAL_H_TOTAL(uint32_t val)
0436 {
0437     return ((val) << DSI_CMD_MDP_STREAM1_TOTAL_H_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM1_TOTAL_H_TOTAL__MASK;
0438 }
0439 #define DSI_CMD_MDP_STREAM1_TOTAL_V_TOTAL__MASK         0xffff0000
0440 #define DSI_CMD_MDP_STREAM1_TOTAL_V_TOTAL__SHIFT        16
0441 static inline uint32_t DSI_CMD_MDP_STREAM1_TOTAL_V_TOTAL(uint32_t val)
0442 {
0443     return ((val) << DSI_CMD_MDP_STREAM1_TOTAL_V_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM1_TOTAL_V_TOTAL__MASK;
0444 }
0445 
0446 #define REG_DSI_ACK_ERR_STATUS                  0x00000064
0447 
0448 static inline uint32_t REG_DSI_RDBK(uint32_t i0) { return 0x00000068 + 0x4*i0; }
0449 
0450 static inline uint32_t REG_DSI_RDBK_DATA(uint32_t i0) { return 0x00000068 + 0x4*i0; }
0451 
0452 #define REG_DSI_TRIG_CTRL                   0x00000080
0453 #define DSI_TRIG_CTRL_DMA_TRIGGER__MASK             0x00000007
0454 #define DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT            0
0455 static inline uint32_t DSI_TRIG_CTRL_DMA_TRIGGER(enum dsi_cmd_trigger val)
0456 {
0457     return ((val) << DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT) & DSI_TRIG_CTRL_DMA_TRIGGER__MASK;
0458 }
0459 #define DSI_TRIG_CTRL_MDP_TRIGGER__MASK             0x00000070
0460 #define DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT            4
0461 static inline uint32_t DSI_TRIG_CTRL_MDP_TRIGGER(enum dsi_cmd_trigger val)
0462 {
0463     return ((val) << DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT) & DSI_TRIG_CTRL_MDP_TRIGGER__MASK;
0464 }
0465 #define DSI_TRIG_CTRL_STREAM__MASK              0x00000300
0466 #define DSI_TRIG_CTRL_STREAM__SHIFT             8
0467 static inline uint32_t DSI_TRIG_CTRL_STREAM(uint32_t val)
0468 {
0469     return ((val) << DSI_TRIG_CTRL_STREAM__SHIFT) & DSI_TRIG_CTRL_STREAM__MASK;
0470 }
0471 #define DSI_TRIG_CTRL_BLOCK_DMA_WITHIN_FRAME            0x00001000
0472 #define DSI_TRIG_CTRL_TE                    0x80000000
0473 
0474 #define REG_DSI_TRIG_DMA                    0x0000008c
0475 
0476 #define REG_DSI_DLN0_PHY_ERR                    0x000000b0
0477 #define DSI_DLN0_PHY_ERR_DLN0_ERR_ESC               0x00000001
0478 #define DSI_DLN0_PHY_ERR_DLN0_ERR_SYNC_ESC          0x00000010
0479 #define DSI_DLN0_PHY_ERR_DLN0_ERR_CONTROL           0x00000100
0480 #define DSI_DLN0_PHY_ERR_DLN0_ERR_CONTENTION_LP0        0x00001000
0481 #define DSI_DLN0_PHY_ERR_DLN0_ERR_CONTENTION_LP1        0x00010000
0482 
0483 #define REG_DSI_LP_TIMER_CTRL                   0x000000b4
0484 #define DSI_LP_TIMER_CTRL_LP_RX_TO__MASK            0x0000ffff
0485 #define DSI_LP_TIMER_CTRL_LP_RX_TO__SHIFT           0
0486 static inline uint32_t DSI_LP_TIMER_CTRL_LP_RX_TO(uint32_t val)
0487 {
0488     return ((val) << DSI_LP_TIMER_CTRL_LP_RX_TO__SHIFT) & DSI_LP_TIMER_CTRL_LP_RX_TO__MASK;
0489 }
0490 #define DSI_LP_TIMER_CTRL_BTA_TO__MASK              0xffff0000
0491 #define DSI_LP_TIMER_CTRL_BTA_TO__SHIFT             16
0492 static inline uint32_t DSI_LP_TIMER_CTRL_BTA_TO(uint32_t val)
0493 {
0494     return ((val) << DSI_LP_TIMER_CTRL_BTA_TO__SHIFT) & DSI_LP_TIMER_CTRL_BTA_TO__MASK;
0495 }
0496 
0497 #define REG_DSI_HS_TIMER_CTRL                   0x000000b8
0498 #define DSI_HS_TIMER_CTRL_HS_TX_TO__MASK            0x0000ffff
0499 #define DSI_HS_TIMER_CTRL_HS_TX_TO__SHIFT           0
0500 static inline uint32_t DSI_HS_TIMER_CTRL_HS_TX_TO(uint32_t val)
0501 {
0502     return ((val) << DSI_HS_TIMER_CTRL_HS_TX_TO__SHIFT) & DSI_HS_TIMER_CTRL_HS_TX_TO__MASK;
0503 }
0504 #define DSI_HS_TIMER_CTRL_TIMER_RESOLUTION__MASK        0x000f0000
0505 #define DSI_HS_TIMER_CTRL_TIMER_RESOLUTION__SHIFT       16
0506 static inline uint32_t DSI_HS_TIMER_CTRL_TIMER_RESOLUTION(uint32_t val)
0507 {
0508     return ((val) << DSI_HS_TIMER_CTRL_TIMER_RESOLUTION__SHIFT) & DSI_HS_TIMER_CTRL_TIMER_RESOLUTION__MASK;
0509 }
0510 #define DSI_HS_TIMER_CTRL_HS_TX_TO_STOP_EN          0x10000000
0511 
0512 #define REG_DSI_TIMEOUT_STATUS                  0x000000bc
0513 
0514 #define REG_DSI_CLKOUT_TIMING_CTRL              0x000000c0
0515 #define DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__MASK          0x0000003f
0516 #define DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__SHIFT         0
0517 static inline uint32_t DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE(uint32_t val)
0518 {
0519     return ((val) << DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__SHIFT) & DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__MASK;
0520 }
0521 #define DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__MASK         0x00003f00
0522 #define DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__SHIFT        8
0523 static inline uint32_t DSI_CLKOUT_TIMING_CTRL_T_CLK_POST(uint32_t val)
0524 {
0525     return ((val) << DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__SHIFT) & DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__MASK;
0526 }
0527 
0528 #define REG_DSI_EOT_PACKET_CTRL                 0x000000c8
0529 #define DSI_EOT_PACKET_CTRL_TX_EOT_APPEND           0x00000001
0530 #define DSI_EOT_PACKET_CTRL_RX_EOT_IGNORE           0x00000010
0531 
0532 #define REG_DSI_LANE_STATUS                 0x000000a4
0533 #define DSI_LANE_STATUS_DLN0_STOPSTATE              0x00000001
0534 #define DSI_LANE_STATUS_DLN1_STOPSTATE              0x00000002
0535 #define DSI_LANE_STATUS_DLN2_STOPSTATE              0x00000004
0536 #define DSI_LANE_STATUS_DLN3_STOPSTATE              0x00000008
0537 #define DSI_LANE_STATUS_CLKLN_STOPSTATE             0x00000010
0538 #define DSI_LANE_STATUS_DLN0_ULPS_ACTIVE_NOT            0x00000100
0539 #define DSI_LANE_STATUS_DLN1_ULPS_ACTIVE_NOT            0x00000200
0540 #define DSI_LANE_STATUS_DLN2_ULPS_ACTIVE_NOT            0x00000400
0541 #define DSI_LANE_STATUS_DLN3_ULPS_ACTIVE_NOT            0x00000800
0542 #define DSI_LANE_STATUS_CLKLN_ULPS_ACTIVE_NOT           0x00001000
0543 #define DSI_LANE_STATUS_DLN0_DIRECTION              0x00010000
0544 
0545 #define REG_DSI_LANE_CTRL                   0x000000a8
0546 #define DSI_LANE_CTRL_HS_REQ_SEL_PHY                0x01000000
0547 #define DSI_LANE_CTRL_CLKLN_HS_FORCE_REQUEST            0x10000000
0548 
0549 #define REG_DSI_LANE_SWAP_CTRL                  0x000000ac
0550 #define DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__MASK           0x00000007
0551 #define DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__SHIFT          0
0552 static inline uint32_t DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL(enum dsi_lane_swap val)
0553 {
0554     return ((val) << DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__SHIFT) & DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__MASK;
0555 }
0556 
0557 #define REG_DSI_ERR_INT_MASK0                   0x00000108
0558 
0559 #define REG_DSI_INTR_CTRL                   0x0000010c
0560 
0561 #define REG_DSI_RESET                       0x00000114
0562 
0563 #define REG_DSI_CLK_CTRL                    0x00000118
0564 #define DSI_CLK_CTRL_AHBS_HCLK_ON               0x00000001
0565 #define DSI_CLK_CTRL_AHBM_SCLK_ON               0x00000002
0566 #define DSI_CLK_CTRL_PCLK_ON                    0x00000004
0567 #define DSI_CLK_CTRL_DSICLK_ON                  0x00000008
0568 #define DSI_CLK_CTRL_BYTECLK_ON                 0x00000010
0569 #define DSI_CLK_CTRL_ESCCLK_ON                  0x00000020
0570 #define DSI_CLK_CTRL_FORCE_ON_DYN_AHBM_HCLK         0x00000200
0571 
0572 #define REG_DSI_CLK_STATUS                  0x0000011c
0573 #define DSI_CLK_STATUS_DSI_AON_AHBM_HCLK_ACTIVE         0x00000001
0574 #define DSI_CLK_STATUS_DSI_DYN_AHBM_HCLK_ACTIVE         0x00000002
0575 #define DSI_CLK_STATUS_DSI_AON_AHBS_HCLK_ACTIVE         0x00000004
0576 #define DSI_CLK_STATUS_DSI_DYN_AHBS_HCLK_ACTIVE         0x00000008
0577 #define DSI_CLK_STATUS_DSI_AON_DSICLK_ACTIVE            0x00000010
0578 #define DSI_CLK_STATUS_DSI_DYN_DSICLK_ACTIVE            0x00000020
0579 #define DSI_CLK_STATUS_DSI_AON_BYTECLK_ACTIVE           0x00000040
0580 #define DSI_CLK_STATUS_DSI_DYN_BYTECLK_ACTIVE           0x00000080
0581 #define DSI_CLK_STATUS_DSI_AON_ESCCLK_ACTIVE            0x00000100
0582 #define DSI_CLK_STATUS_DSI_AON_PCLK_ACTIVE          0x00000200
0583 #define DSI_CLK_STATUS_DSI_DYN_PCLK_ACTIVE          0x00000400
0584 #define DSI_CLK_STATUS_DSI_DYN_CMD_PCLK_ACTIVE          0x00001000
0585 #define DSI_CLK_STATUS_DSI_CMD_PCLK_ACTIVE          0x00002000
0586 #define DSI_CLK_STATUS_DSI_VID_PCLK_ACTIVE          0x00004000
0587 #define DSI_CLK_STATUS_DSI_CAM_BIST_PCLK_ACT            0x00008000
0588 #define DSI_CLK_STATUS_PLL_UNLOCKED             0x00010000
0589 
0590 #define REG_DSI_PHY_RESET                   0x00000128
0591 #define DSI_PHY_RESET_RESET                 0x00000001
0592 
0593 #define REG_DSI_TEST_PATTERN_GEN_VIDEO_INIT_VAL         0x00000160
0594 
0595 #define REG_DSI_TPG_MAIN_CONTROL                0x00000198
0596 #define DSI_TPG_MAIN_CONTROL_CHECKERED_RECTANGLE_PATTERN    0x00000100
0597 
0598 #define REG_DSI_TPG_VIDEO_CONFIG                0x000001a0
0599 #define DSI_TPG_VIDEO_CONFIG_BPP__MASK              0x00000003
0600 #define DSI_TPG_VIDEO_CONFIG_BPP__SHIFT             0
0601 static inline uint32_t DSI_TPG_VIDEO_CONFIG_BPP(enum video_config_bpp val)
0602 {
0603     return ((val) << DSI_TPG_VIDEO_CONFIG_BPP__SHIFT) & DSI_TPG_VIDEO_CONFIG_BPP__MASK;
0604 }
0605 #define DSI_TPG_VIDEO_CONFIG_RGB                0x00000004
0606 
0607 #define REG_DSI_TEST_PATTERN_GEN_CTRL               0x00000158
0608 #define DSI_TEST_PATTERN_GEN_CTRL_CMD_DMA_PATTERN_SEL__MASK 0x00030000
0609 #define DSI_TEST_PATTERN_GEN_CTRL_CMD_DMA_PATTERN_SEL__SHIFT    16
0610 static inline uint32_t DSI_TEST_PATTERN_GEN_CTRL_CMD_DMA_PATTERN_SEL(enum cmd_dma_pattern_sel val)
0611 {
0612     return ((val) << DSI_TEST_PATTERN_GEN_CTRL_CMD_DMA_PATTERN_SEL__SHIFT) & DSI_TEST_PATTERN_GEN_CTRL_CMD_DMA_PATTERN_SEL__MASK;
0613 }
0614 #define DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL__MASK 0x00000300
0615 #define DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL__SHIFT    8
0616 static inline uint32_t DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL(enum cmd_mdp_stream0_pattern_sel val)
0617 {
0618     return ((val) << DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL__SHIFT) & DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL__MASK;
0619 }
0620 #define DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL__MASK   0x00000030
0621 #define DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL__SHIFT  4
0622 static inline uint32_t DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL(enum video_pattern_sel val)
0623 {
0624     return ((val) << DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL__SHIFT) & DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL__MASK;
0625 }
0626 #define DSI_TEST_PATTERN_GEN_CTRL_TPG_DMA_FIFO_MODE     0x00000004
0627 #define DSI_TEST_PATTERN_GEN_CTRL_CMD_DMA_TPG_EN        0x00000002
0628 #define DSI_TEST_PATTERN_GEN_CTRL_EN                0x00000001
0629 
0630 #define REG_DSI_TEST_PATTERN_GEN_CMD_MDP_INIT_VAL0      0x00000168
0631 
0632 #define REG_DSI_TEST_PATTERN_GEN_CMD_STREAM0_TRIGGER        0x00000180
0633 #define DSI_TEST_PATTERN_GEN_CMD_STREAM0_TRIGGER_SW_TRIGGER 0x00000001
0634 
0635 #define REG_DSI_TPG_MAIN_CONTROL2               0x0000019c
0636 #define DSI_TPG_MAIN_CONTROL2_CMD_MDP0_CHECKERED_RECTANGLE_PATTERN  0x00000080
0637 #define DSI_TPG_MAIN_CONTROL2_CMD_MDP1_CHECKERED_RECTANGLE_PATTERN  0x00010000
0638 #define DSI_TPG_MAIN_CONTROL2_CMD_MDP2_CHECKERED_RECTANGLE_PATTERN  0x02000000
0639 
0640 #define REG_DSI_T_CLK_PRE_EXTEND                0x0000017c
0641 #define DSI_T_CLK_PRE_EXTEND_INC_BY_2_BYTECLK           0x00000001
0642 
0643 #define REG_DSI_CMD_MODE_MDP_CTRL2              0x000001b4
0644 #define DSI_CMD_MODE_MDP_CTRL2_DST_FORMAT2__MASK        0x0000000f
0645 #define DSI_CMD_MODE_MDP_CTRL2_DST_FORMAT2__SHIFT       0
0646 static inline uint32_t DSI_CMD_MODE_MDP_CTRL2_DST_FORMAT2(enum dsi_cmd_dst_format val)
0647 {
0648     return ((val) << DSI_CMD_MODE_MDP_CTRL2_DST_FORMAT2__SHIFT) & DSI_CMD_MODE_MDP_CTRL2_DST_FORMAT2__MASK;
0649 }
0650 #define DSI_CMD_MODE_MDP_CTRL2_R_SEL                0x00000010
0651 #define DSI_CMD_MODE_MDP_CTRL2_G_SEL                0x00000020
0652 #define DSI_CMD_MODE_MDP_CTRL2_B_SEL                0x00000040
0653 #define DSI_CMD_MODE_MDP_CTRL2_BYTE_MSB_LSB_FLIP        0x00000080
0654 #define DSI_CMD_MODE_MDP_CTRL2_RGB_SWAP__MASK           0x00000700
0655 #define DSI_CMD_MODE_MDP_CTRL2_RGB_SWAP__SHIFT          8
0656 static inline uint32_t DSI_CMD_MODE_MDP_CTRL2_RGB_SWAP(enum dsi_rgb_swap val)
0657 {
0658     return ((val) << DSI_CMD_MODE_MDP_CTRL2_RGB_SWAP__SHIFT) & DSI_CMD_MODE_MDP_CTRL2_RGB_SWAP__MASK;
0659 }
0660 #define DSI_CMD_MODE_MDP_CTRL2_INPUT_RGB_SWAP__MASK     0x00007000
0661 #define DSI_CMD_MODE_MDP_CTRL2_INPUT_RGB_SWAP__SHIFT        12
0662 static inline uint32_t DSI_CMD_MODE_MDP_CTRL2_INPUT_RGB_SWAP(enum dsi_rgb_swap val)
0663 {
0664     return ((val) << DSI_CMD_MODE_MDP_CTRL2_INPUT_RGB_SWAP__SHIFT) & DSI_CMD_MODE_MDP_CTRL2_INPUT_RGB_SWAP__MASK;
0665 }
0666 #define DSI_CMD_MODE_MDP_CTRL2_BURST_MODE           0x00010000
0667 
0668 #define REG_DSI_CMD_MODE_MDP_STREAM2_CTRL           0x000001b8
0669 #define DSI_CMD_MODE_MDP_STREAM2_CTRL_DATA_TYPE__MASK       0x0000003f
0670 #define DSI_CMD_MODE_MDP_STREAM2_CTRL_DATA_TYPE__SHIFT      0
0671 static inline uint32_t DSI_CMD_MODE_MDP_STREAM2_CTRL_DATA_TYPE(uint32_t val)
0672 {
0673     return ((val) << DSI_CMD_MODE_MDP_STREAM2_CTRL_DATA_TYPE__SHIFT) & DSI_CMD_MODE_MDP_STREAM2_CTRL_DATA_TYPE__MASK;
0674 }
0675 #define DSI_CMD_MODE_MDP_STREAM2_CTRL_VIRTUAL_CHANNEL__MASK 0x00000300
0676 #define DSI_CMD_MODE_MDP_STREAM2_CTRL_VIRTUAL_CHANNEL__SHIFT    8
0677 static inline uint32_t DSI_CMD_MODE_MDP_STREAM2_CTRL_VIRTUAL_CHANNEL(uint32_t val)
0678 {
0679     return ((val) << DSI_CMD_MODE_MDP_STREAM2_CTRL_VIRTUAL_CHANNEL__SHIFT) & DSI_CMD_MODE_MDP_STREAM2_CTRL_VIRTUAL_CHANNEL__MASK;
0680 }
0681 #define DSI_CMD_MODE_MDP_STREAM2_CTRL_WORD_COUNT__MASK      0xffff0000
0682 #define DSI_CMD_MODE_MDP_STREAM2_CTRL_WORD_COUNT__SHIFT     16
0683 static inline uint32_t DSI_CMD_MODE_MDP_STREAM2_CTRL_WORD_COUNT(uint32_t val)
0684 {
0685     return ((val) << DSI_CMD_MODE_MDP_STREAM2_CTRL_WORD_COUNT__SHIFT) & DSI_CMD_MODE_MDP_STREAM2_CTRL_WORD_COUNT__MASK;
0686 }
0687 
0688 #define REG_DSI_RDBK_DATA_CTRL                  0x000001d0
0689 #define DSI_RDBK_DATA_CTRL_COUNT__MASK              0x00ff0000
0690 #define DSI_RDBK_DATA_CTRL_COUNT__SHIFT             16
0691 static inline uint32_t DSI_RDBK_DATA_CTRL_COUNT(uint32_t val)
0692 {
0693     return ((val) << DSI_RDBK_DATA_CTRL_COUNT__SHIFT) & DSI_RDBK_DATA_CTRL_COUNT__MASK;
0694 }
0695 #define DSI_RDBK_DATA_CTRL_CLR                  0x00000001
0696 
0697 #define REG_DSI_VERSION                     0x000001f0
0698 #define DSI_VERSION_MAJOR__MASK                 0xff000000
0699 #define DSI_VERSION_MAJOR__SHIFT                24
0700 static inline uint32_t DSI_VERSION_MAJOR(uint32_t val)
0701 {
0702     return ((val) << DSI_VERSION_MAJOR__SHIFT) & DSI_VERSION_MAJOR__MASK;
0703 }
0704 
0705 #define REG_DSI_CPHY_MODE_CTRL                  0x000002d4
0706 
0707 #define REG_DSI_VIDEO_COMPRESSION_MODE_CTRL         0x0000029c
0708 #define DSI_VIDEO_COMPRESSION_MODE_CTRL_WC__MASK        0xffff0000
0709 #define DSI_VIDEO_COMPRESSION_MODE_CTRL_WC__SHIFT       16
0710 static inline uint32_t DSI_VIDEO_COMPRESSION_MODE_CTRL_WC(uint32_t val)
0711 {
0712     return ((val) << DSI_VIDEO_COMPRESSION_MODE_CTRL_WC__SHIFT) & DSI_VIDEO_COMPRESSION_MODE_CTRL_WC__MASK;
0713 }
0714 #define DSI_VIDEO_COMPRESSION_MODE_CTRL_DATATYPE__MASK      0x00003f00
0715 #define DSI_VIDEO_COMPRESSION_MODE_CTRL_DATATYPE__SHIFT     8
0716 static inline uint32_t DSI_VIDEO_COMPRESSION_MODE_CTRL_DATATYPE(uint32_t val)
0717 {
0718     return ((val) << DSI_VIDEO_COMPRESSION_MODE_CTRL_DATATYPE__SHIFT) & DSI_VIDEO_COMPRESSION_MODE_CTRL_DATATYPE__MASK;
0719 }
0720 #define DSI_VIDEO_COMPRESSION_MODE_CTRL_PKT_PER_LINE__MASK  0x000000c0
0721 #define DSI_VIDEO_COMPRESSION_MODE_CTRL_PKT_PER_LINE__SHIFT 6
0722 static inline uint32_t DSI_VIDEO_COMPRESSION_MODE_CTRL_PKT_PER_LINE(uint32_t val)
0723 {
0724     return ((val) << DSI_VIDEO_COMPRESSION_MODE_CTRL_PKT_PER_LINE__SHIFT) & DSI_VIDEO_COMPRESSION_MODE_CTRL_PKT_PER_LINE__MASK;
0725 }
0726 #define DSI_VIDEO_COMPRESSION_MODE_CTRL_EOL_BYTE_NUM__MASK  0x00000030
0727 #define DSI_VIDEO_COMPRESSION_MODE_CTRL_EOL_BYTE_NUM__SHIFT 4
0728 static inline uint32_t DSI_VIDEO_COMPRESSION_MODE_CTRL_EOL_BYTE_NUM(uint32_t val)
0729 {
0730     return ((val) << DSI_VIDEO_COMPRESSION_MODE_CTRL_EOL_BYTE_NUM__SHIFT) & DSI_VIDEO_COMPRESSION_MODE_CTRL_EOL_BYTE_NUM__MASK;
0731 }
0732 #define DSI_VIDEO_COMPRESSION_MODE_CTRL_EN          0x00000001
0733 
0734 #define REG_DSI_COMMAND_COMPRESSION_MODE_CTRL           0x000002a4
0735 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_DATATYPE__MASK    0x3f000000
0736 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_DATATYPE__SHIFT   24
0737 static inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_DATATYPE(uint32_t val)
0738 {
0739     return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_DATATYPE__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_DATATYPE__MASK;
0740 }
0741 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_PKT_PER_LINE__MASK    0x00c00000
0742 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_PKT_PER_LINE__SHIFT   22
0743 static inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_PKT_PER_LINE(uint32_t val)
0744 {
0745     return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_PKT_PER_LINE__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_PKT_PER_LINE__MASK;
0746 }
0747 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_EOL_BYTE_NUM__MASK    0x00300000
0748 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_EOL_BYTE_NUM__SHIFT   20
0749 static inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_EOL_BYTE_NUM(uint32_t val)
0750 {
0751     return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_EOL_BYTE_NUM__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_EOL_BYTE_NUM__MASK;
0752 }
0753 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_EN        0x00010000
0754 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_DATATYPE__MASK    0x00003f00
0755 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_DATATYPE__SHIFT   8
0756 static inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_DATATYPE(uint32_t val)
0757 {
0758     return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_DATATYPE__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_DATATYPE__MASK;
0759 }
0760 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_PKT_PER_LINE__MASK    0x000000c0
0761 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_PKT_PER_LINE__SHIFT   6
0762 static inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_PKT_PER_LINE(uint32_t val)
0763 {
0764     return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_PKT_PER_LINE__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_PKT_PER_LINE__MASK;
0765 }
0766 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_EOL_BYTE_NUM__MASK    0x00000030
0767 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_EOL_BYTE_NUM__SHIFT   4
0768 static inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_EOL_BYTE_NUM(uint32_t val)
0769 {
0770     return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_EOL_BYTE_NUM__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_EOL_BYTE_NUM__MASK;
0771 }
0772 #define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_EN        0x00000001
0773 
0774 #define REG_DSI_COMMAND_COMPRESSION_MODE_CTRL2          0x000002a8
0775 #define DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM1_SLICE_WIDTH__MASK    0xffff0000
0776 #define DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM1_SLICE_WIDTH__SHIFT   16
0777 static inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM1_SLICE_WIDTH(uint32_t val)
0778 {
0779     return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM1_SLICE_WIDTH__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM1_SLICE_WIDTH__MASK;
0780 }
0781 #define DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM0_SLICE_WIDTH__MASK    0x0000ffff
0782 #define DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM0_SLICE_WIDTH__SHIFT   0
0783 static inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM0_SLICE_WIDTH(uint32_t val)
0784 {
0785     return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM0_SLICE_WIDTH__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM0_SLICE_WIDTH__MASK;
0786 }
0787 
0788 #endif /* DSI_XML */