162306a36Sopenharmony_ci#ifndef DSI_XML 262306a36Sopenharmony_ci#define DSI_XML 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci/* Autogenerated file, DO NOT EDIT manually! 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciThis file was generated by the rules-ng-ng headergen tool in this git repository: 762306a36Sopenharmony_cihttp://github.com/freedreno/envytools/ 862306a36Sopenharmony_cigit clone https://github.com/freedreno/envytools.git 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciThe rules-ng-ng source files this header was generated from are: 1162306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/msm.xml ( 944 bytes, from 2022-07-23 20:21:46) 1262306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/freedreno_copyright.xml ( 1572 bytes, from 2022-07-23 20:21:46) 1362306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/mdp/mdp4.xml ( 20912 bytes, from 2022-03-08 17:40:42) 1462306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/mdp/mdp_common.xml ( 2849 bytes, from 2022-03-08 17:40:42) 1562306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/mdp/mdp5.xml ( 37461 bytes, from 2022-03-08 17:40:42) 1662306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/dsi/dsi.xml ( 18746 bytes, from 2022-04-28 17:29:36) 1762306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/dsi/dsi_phy_v2.xml ( 3236 bytes, from 2022-03-08 17:40:42) 1862306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/dsi/dsi_phy_28nm_8960.xml ( 4935 bytes, from 2022-03-08 17:40:42) 1962306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/dsi/dsi_phy_28nm.xml ( 7004 bytes, from 2022-03-08 17:40:42) 2062306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/dsi/dsi_phy_20nm.xml ( 3712 bytes, from 2022-03-08 17:40:42) 2162306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/dsi/dsi_phy_14nm.xml ( 5381 bytes, from 2022-03-08 17:40:42) 2262306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/dsi/dsi_phy_10nm.xml ( 4499 bytes, from 2022-03-08 17:40:42) 2362306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/dsi/dsi_phy_7nm.xml ( 11007 bytes, from 2022-03-08 17:40:42) 2462306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/dsi/sfpb.xml ( 602 bytes, from 2022-03-08 17:40:42) 2562306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/dsi/mmss_cc.xml ( 1686 bytes, from 2022-03-08 17:40:42) 2662306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/hdmi/qfprom.xml ( 600 bytes, from 2022-03-08 17:40:42) 2762306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/hdmi/hdmi.xml ( 42350 bytes, from 2022-09-20 17:45:56) 2862306a36Sopenharmony_ci- /home/robclark/src/mesa/mesa/src/freedreno/registers/edp/edp.xml ( 10416 bytes, from 2022-03-08 17:40:42) 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciCopyright (C) 2013-2022 by the following authors: 3162306a36Sopenharmony_ci- Rob Clark <robdclark@gmail.com> (robclark) 3262306a36Sopenharmony_ci- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin) 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining 3562306a36Sopenharmony_cia copy of this software and associated documentation files (the 3662306a36Sopenharmony_ci"Software"), to deal in the Software without restriction, including 3762306a36Sopenharmony_ciwithout limitation the rights to use, copy, modify, merge, publish, 3862306a36Sopenharmony_cidistribute, sublicense, and/or sell copies of the Software, and to 3962306a36Sopenharmony_cipermit persons to whom the Software is furnished to do so, subject to 4062306a36Sopenharmony_cithe following conditions: 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciThe above copyright notice and this permission notice (including the 4362306a36Sopenharmony_cinext paragraph) shall be included in all copies or substantial 4462306a36Sopenharmony_ciportions of the Software. 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ciTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 4762306a36Sopenharmony_ciEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 4862306a36Sopenharmony_ciMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 4962306a36Sopenharmony_ciIN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE 5062306a36Sopenharmony_ciLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 5162306a36Sopenharmony_ciOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 5262306a36Sopenharmony_ciWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 5362306a36Sopenharmony_ci*/ 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_cienum dsi_traffic_mode { 5762306a36Sopenharmony_ci NON_BURST_SYNCH_PULSE = 0, 5862306a36Sopenharmony_ci NON_BURST_SYNCH_EVENT = 1, 5962306a36Sopenharmony_ci BURST_MODE = 2, 6062306a36Sopenharmony_ci}; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_cienum dsi_vid_dst_format { 6362306a36Sopenharmony_ci VID_DST_FORMAT_RGB565 = 0, 6462306a36Sopenharmony_ci VID_DST_FORMAT_RGB666 = 1, 6562306a36Sopenharmony_ci VID_DST_FORMAT_RGB666_LOOSE = 2, 6662306a36Sopenharmony_ci VID_DST_FORMAT_RGB888 = 3, 6762306a36Sopenharmony_ci}; 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_cienum dsi_rgb_swap { 7062306a36Sopenharmony_ci SWAP_RGB = 0, 7162306a36Sopenharmony_ci SWAP_RBG = 1, 7262306a36Sopenharmony_ci SWAP_BGR = 2, 7362306a36Sopenharmony_ci SWAP_BRG = 3, 7462306a36Sopenharmony_ci SWAP_GRB = 4, 7562306a36Sopenharmony_ci SWAP_GBR = 5, 7662306a36Sopenharmony_ci}; 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_cienum dsi_cmd_trigger { 7962306a36Sopenharmony_ci TRIGGER_NONE = 0, 8062306a36Sopenharmony_ci TRIGGER_SEOF = 1, 8162306a36Sopenharmony_ci TRIGGER_TE = 2, 8262306a36Sopenharmony_ci TRIGGER_SW = 4, 8362306a36Sopenharmony_ci TRIGGER_SW_SEOF = 5, 8462306a36Sopenharmony_ci TRIGGER_SW_TE = 6, 8562306a36Sopenharmony_ci}; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_cienum dsi_cmd_dst_format { 8862306a36Sopenharmony_ci CMD_DST_FORMAT_RGB111 = 0, 8962306a36Sopenharmony_ci CMD_DST_FORMAT_RGB332 = 3, 9062306a36Sopenharmony_ci CMD_DST_FORMAT_RGB444 = 4, 9162306a36Sopenharmony_ci CMD_DST_FORMAT_RGB565 = 6, 9262306a36Sopenharmony_ci CMD_DST_FORMAT_RGB666 = 7, 9362306a36Sopenharmony_ci CMD_DST_FORMAT_RGB888 = 8, 9462306a36Sopenharmony_ci}; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_cienum dsi_lane_swap { 9762306a36Sopenharmony_ci LANE_SWAP_0123 = 0, 9862306a36Sopenharmony_ci LANE_SWAP_3012 = 1, 9962306a36Sopenharmony_ci LANE_SWAP_2301 = 2, 10062306a36Sopenharmony_ci LANE_SWAP_1230 = 3, 10162306a36Sopenharmony_ci LANE_SWAP_0321 = 4, 10262306a36Sopenharmony_ci LANE_SWAP_1032 = 5, 10362306a36Sopenharmony_ci LANE_SWAP_2103 = 6, 10462306a36Sopenharmony_ci LANE_SWAP_3210 = 7, 10562306a36Sopenharmony_ci}; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_cienum video_config_bpp { 10862306a36Sopenharmony_ci VIDEO_CONFIG_18BPP = 0, 10962306a36Sopenharmony_ci VIDEO_CONFIG_24BPP = 1, 11062306a36Sopenharmony_ci}; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_cienum video_pattern_sel { 11362306a36Sopenharmony_ci VID_PRBS = 0, 11462306a36Sopenharmony_ci VID_INCREMENTAL = 1, 11562306a36Sopenharmony_ci VID_FIXED = 2, 11662306a36Sopenharmony_ci VID_MDSS_GENERAL_PATTERN = 3, 11762306a36Sopenharmony_ci}; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_cienum cmd_mdp_stream0_pattern_sel { 12062306a36Sopenharmony_ci CMD_MDP_PRBS = 0, 12162306a36Sopenharmony_ci CMD_MDP_INCREMENTAL = 1, 12262306a36Sopenharmony_ci CMD_MDP_FIXED = 2, 12362306a36Sopenharmony_ci CMD_MDP_MDSS_GENERAL_PATTERN = 3, 12462306a36Sopenharmony_ci}; 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_cienum cmd_dma_pattern_sel { 12762306a36Sopenharmony_ci CMD_DMA_PRBS = 0, 12862306a36Sopenharmony_ci CMD_DMA_INCREMENTAL = 1, 12962306a36Sopenharmony_ci CMD_DMA_FIXED = 2, 13062306a36Sopenharmony_ci CMD_DMA_CUSTOM_PATTERN_DMA_FIFO = 3, 13162306a36Sopenharmony_ci}; 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci#define DSI_IRQ_CMD_DMA_DONE 0x00000001 13462306a36Sopenharmony_ci#define DSI_IRQ_MASK_CMD_DMA_DONE 0x00000002 13562306a36Sopenharmony_ci#define DSI_IRQ_CMD_MDP_DONE 0x00000100 13662306a36Sopenharmony_ci#define DSI_IRQ_MASK_CMD_MDP_DONE 0x00000200 13762306a36Sopenharmony_ci#define DSI_IRQ_VIDEO_DONE 0x00010000 13862306a36Sopenharmony_ci#define DSI_IRQ_MASK_VIDEO_DONE 0x00020000 13962306a36Sopenharmony_ci#define DSI_IRQ_BTA_DONE 0x00100000 14062306a36Sopenharmony_ci#define DSI_IRQ_MASK_BTA_DONE 0x00200000 14162306a36Sopenharmony_ci#define DSI_IRQ_ERROR 0x01000000 14262306a36Sopenharmony_ci#define DSI_IRQ_MASK_ERROR 0x02000000 14362306a36Sopenharmony_ci#define REG_DSI_6G_HW_VERSION 0x00000000 14462306a36Sopenharmony_ci#define DSI_6G_HW_VERSION_MAJOR__MASK 0xf0000000 14562306a36Sopenharmony_ci#define DSI_6G_HW_VERSION_MAJOR__SHIFT 28 14662306a36Sopenharmony_cistatic inline uint32_t DSI_6G_HW_VERSION_MAJOR(uint32_t val) 14762306a36Sopenharmony_ci{ 14862306a36Sopenharmony_ci return ((val) << DSI_6G_HW_VERSION_MAJOR__SHIFT) & DSI_6G_HW_VERSION_MAJOR__MASK; 14962306a36Sopenharmony_ci} 15062306a36Sopenharmony_ci#define DSI_6G_HW_VERSION_MINOR__MASK 0x0fff0000 15162306a36Sopenharmony_ci#define DSI_6G_HW_VERSION_MINOR__SHIFT 16 15262306a36Sopenharmony_cistatic inline uint32_t DSI_6G_HW_VERSION_MINOR(uint32_t val) 15362306a36Sopenharmony_ci{ 15462306a36Sopenharmony_ci return ((val) << DSI_6G_HW_VERSION_MINOR__SHIFT) & DSI_6G_HW_VERSION_MINOR__MASK; 15562306a36Sopenharmony_ci} 15662306a36Sopenharmony_ci#define DSI_6G_HW_VERSION_STEP__MASK 0x0000ffff 15762306a36Sopenharmony_ci#define DSI_6G_HW_VERSION_STEP__SHIFT 0 15862306a36Sopenharmony_cistatic inline uint32_t DSI_6G_HW_VERSION_STEP(uint32_t val) 15962306a36Sopenharmony_ci{ 16062306a36Sopenharmony_ci return ((val) << DSI_6G_HW_VERSION_STEP__SHIFT) & DSI_6G_HW_VERSION_STEP__MASK; 16162306a36Sopenharmony_ci} 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci#define REG_DSI_CTRL 0x00000000 16462306a36Sopenharmony_ci#define DSI_CTRL_ENABLE 0x00000001 16562306a36Sopenharmony_ci#define DSI_CTRL_VID_MODE_EN 0x00000002 16662306a36Sopenharmony_ci#define DSI_CTRL_CMD_MODE_EN 0x00000004 16762306a36Sopenharmony_ci#define DSI_CTRL_LANE0 0x00000010 16862306a36Sopenharmony_ci#define DSI_CTRL_LANE1 0x00000020 16962306a36Sopenharmony_ci#define DSI_CTRL_LANE2 0x00000040 17062306a36Sopenharmony_ci#define DSI_CTRL_LANE3 0x00000080 17162306a36Sopenharmony_ci#define DSI_CTRL_CLK_EN 0x00000100 17262306a36Sopenharmony_ci#define DSI_CTRL_ECC_CHECK 0x00100000 17362306a36Sopenharmony_ci#define DSI_CTRL_CRC_CHECK 0x01000000 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci#define REG_DSI_STATUS0 0x00000004 17662306a36Sopenharmony_ci#define DSI_STATUS0_CMD_MODE_ENGINE_BUSY 0x00000001 17762306a36Sopenharmony_ci#define DSI_STATUS0_CMD_MODE_DMA_BUSY 0x00000002 17862306a36Sopenharmony_ci#define DSI_STATUS0_CMD_MODE_MDP_BUSY 0x00000004 17962306a36Sopenharmony_ci#define DSI_STATUS0_VIDEO_MODE_ENGINE_BUSY 0x00000008 18062306a36Sopenharmony_ci#define DSI_STATUS0_DSI_BUSY 0x00000010 18162306a36Sopenharmony_ci#define DSI_STATUS0_INTERLEAVE_OP_CONTENTION 0x80000000 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci#define REG_DSI_FIFO_STATUS 0x00000008 18462306a36Sopenharmony_ci#define DSI_FIFO_STATUS_VIDEO_MDP_FIFO_OVERFLOW 0x00000001 18562306a36Sopenharmony_ci#define DSI_FIFO_STATUS_VIDEO_MDP_FIFO_UNDERFLOW 0x00000008 18662306a36Sopenharmony_ci#define DSI_FIFO_STATUS_CMD_MDP_FIFO_UNDERFLOW 0x00000080 18762306a36Sopenharmony_ci#define DSI_FIFO_STATUS_CMD_DMA_FIFO_RD_WATERMARK_REACH 0x00000100 18862306a36Sopenharmony_ci#define DSI_FIFO_STATUS_CMD_DMA_FIFO_WR_WATERMARK_REACH 0x00000200 18962306a36Sopenharmony_ci#define DSI_FIFO_STATUS_CMD_DMA_FIFO_UNDERFLOW 0x00000400 19062306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN0_LP_FIFO_EMPTY 0x00001000 19162306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN0_LP_FIFO_FULL 0x00002000 19262306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN0_LP_FIFO_OVERFLOW 0x00004000 19362306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN0_HS_FIFO_EMPTY 0x00010000 19462306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN0_HS_FIFO_FULL 0x00020000 19562306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN0_HS_FIFO_OVERFLOW 0x00040000 19662306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN0_HS_FIFO_UNDERFLOW 0x00080000 19762306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN1_HS_FIFO_EMPTY 0x00100000 19862306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN1_HS_FIFO_FULL 0x00200000 19962306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN1_HS_FIFO_OVERFLOW 0x00400000 20062306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN1_HS_FIFO_UNDERFLOW 0x00800000 20162306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN2_HS_FIFO_EMPTY 0x01000000 20262306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN2_HS_FIFO_FULL 0x02000000 20362306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN2_HS_FIFO_OVERFLOW 0x04000000 20462306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN2_HS_FIFO_UNDERFLOW 0x08000000 20562306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN3_HS_FIFO_EMPTY 0x10000000 20662306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN3_HS_FIFO_FULL 0x20000000 20762306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN3_HS_FIFO_OVERFLOW 0x40000000 20862306a36Sopenharmony_ci#define DSI_FIFO_STATUS_DLN3_HS_FIFO_UNDERFLOW 0x80000000 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ci#define REG_DSI_VID_CFG0 0x0000000c 21162306a36Sopenharmony_ci#define DSI_VID_CFG0_VIRT_CHANNEL__MASK 0x00000003 21262306a36Sopenharmony_ci#define DSI_VID_CFG0_VIRT_CHANNEL__SHIFT 0 21362306a36Sopenharmony_cistatic inline uint32_t DSI_VID_CFG0_VIRT_CHANNEL(uint32_t val) 21462306a36Sopenharmony_ci{ 21562306a36Sopenharmony_ci return ((val) << DSI_VID_CFG0_VIRT_CHANNEL__SHIFT) & DSI_VID_CFG0_VIRT_CHANNEL__MASK; 21662306a36Sopenharmony_ci} 21762306a36Sopenharmony_ci#define DSI_VID_CFG0_DST_FORMAT__MASK 0x00000030 21862306a36Sopenharmony_ci#define DSI_VID_CFG0_DST_FORMAT__SHIFT 4 21962306a36Sopenharmony_cistatic inline uint32_t DSI_VID_CFG0_DST_FORMAT(enum dsi_vid_dst_format val) 22062306a36Sopenharmony_ci{ 22162306a36Sopenharmony_ci return ((val) << DSI_VID_CFG0_DST_FORMAT__SHIFT) & DSI_VID_CFG0_DST_FORMAT__MASK; 22262306a36Sopenharmony_ci} 22362306a36Sopenharmony_ci#define DSI_VID_CFG0_TRAFFIC_MODE__MASK 0x00000300 22462306a36Sopenharmony_ci#define DSI_VID_CFG0_TRAFFIC_MODE__SHIFT 8 22562306a36Sopenharmony_cistatic inline uint32_t DSI_VID_CFG0_TRAFFIC_MODE(enum dsi_traffic_mode val) 22662306a36Sopenharmony_ci{ 22762306a36Sopenharmony_ci return ((val) << DSI_VID_CFG0_TRAFFIC_MODE__SHIFT) & DSI_VID_CFG0_TRAFFIC_MODE__MASK; 22862306a36Sopenharmony_ci} 22962306a36Sopenharmony_ci#define DSI_VID_CFG0_BLLP_POWER_STOP 0x00001000 23062306a36Sopenharmony_ci#define DSI_VID_CFG0_EOF_BLLP_POWER_STOP 0x00008000 23162306a36Sopenharmony_ci#define DSI_VID_CFG0_HSA_POWER_STOP 0x00010000 23262306a36Sopenharmony_ci#define DSI_VID_CFG0_HBP_POWER_STOP 0x00100000 23362306a36Sopenharmony_ci#define DSI_VID_CFG0_HFP_POWER_STOP 0x01000000 23462306a36Sopenharmony_ci#define DSI_VID_CFG0_PULSE_MODE_HSA_HE 0x10000000 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci#define REG_DSI_VID_CFG1 0x0000001c 23762306a36Sopenharmony_ci#define DSI_VID_CFG1_R_SEL 0x00000001 23862306a36Sopenharmony_ci#define DSI_VID_CFG1_G_SEL 0x00000010 23962306a36Sopenharmony_ci#define DSI_VID_CFG1_B_SEL 0x00000100 24062306a36Sopenharmony_ci#define DSI_VID_CFG1_RGB_SWAP__MASK 0x00007000 24162306a36Sopenharmony_ci#define DSI_VID_CFG1_RGB_SWAP__SHIFT 12 24262306a36Sopenharmony_cistatic inline uint32_t DSI_VID_CFG1_RGB_SWAP(enum dsi_rgb_swap val) 24362306a36Sopenharmony_ci{ 24462306a36Sopenharmony_ci return ((val) << DSI_VID_CFG1_RGB_SWAP__SHIFT) & DSI_VID_CFG1_RGB_SWAP__MASK; 24562306a36Sopenharmony_ci} 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ci#define REG_DSI_ACTIVE_H 0x00000020 24862306a36Sopenharmony_ci#define DSI_ACTIVE_H_START__MASK 0x00000fff 24962306a36Sopenharmony_ci#define DSI_ACTIVE_H_START__SHIFT 0 25062306a36Sopenharmony_cistatic inline uint32_t DSI_ACTIVE_H_START(uint32_t val) 25162306a36Sopenharmony_ci{ 25262306a36Sopenharmony_ci return ((val) << DSI_ACTIVE_H_START__SHIFT) & DSI_ACTIVE_H_START__MASK; 25362306a36Sopenharmony_ci} 25462306a36Sopenharmony_ci#define DSI_ACTIVE_H_END__MASK 0x0fff0000 25562306a36Sopenharmony_ci#define DSI_ACTIVE_H_END__SHIFT 16 25662306a36Sopenharmony_cistatic inline uint32_t DSI_ACTIVE_H_END(uint32_t val) 25762306a36Sopenharmony_ci{ 25862306a36Sopenharmony_ci return ((val) << DSI_ACTIVE_H_END__SHIFT) & DSI_ACTIVE_H_END__MASK; 25962306a36Sopenharmony_ci} 26062306a36Sopenharmony_ci 26162306a36Sopenharmony_ci#define REG_DSI_ACTIVE_V 0x00000024 26262306a36Sopenharmony_ci#define DSI_ACTIVE_V_START__MASK 0x00000fff 26362306a36Sopenharmony_ci#define DSI_ACTIVE_V_START__SHIFT 0 26462306a36Sopenharmony_cistatic inline uint32_t DSI_ACTIVE_V_START(uint32_t val) 26562306a36Sopenharmony_ci{ 26662306a36Sopenharmony_ci return ((val) << DSI_ACTIVE_V_START__SHIFT) & DSI_ACTIVE_V_START__MASK; 26762306a36Sopenharmony_ci} 26862306a36Sopenharmony_ci#define DSI_ACTIVE_V_END__MASK 0x0fff0000 26962306a36Sopenharmony_ci#define DSI_ACTIVE_V_END__SHIFT 16 27062306a36Sopenharmony_cistatic inline uint32_t DSI_ACTIVE_V_END(uint32_t val) 27162306a36Sopenharmony_ci{ 27262306a36Sopenharmony_ci return ((val) << DSI_ACTIVE_V_END__SHIFT) & DSI_ACTIVE_V_END__MASK; 27362306a36Sopenharmony_ci} 27462306a36Sopenharmony_ci 27562306a36Sopenharmony_ci#define REG_DSI_TOTAL 0x00000028 27662306a36Sopenharmony_ci#define DSI_TOTAL_H_TOTAL__MASK 0x00000fff 27762306a36Sopenharmony_ci#define DSI_TOTAL_H_TOTAL__SHIFT 0 27862306a36Sopenharmony_cistatic inline uint32_t DSI_TOTAL_H_TOTAL(uint32_t val) 27962306a36Sopenharmony_ci{ 28062306a36Sopenharmony_ci return ((val) << DSI_TOTAL_H_TOTAL__SHIFT) & DSI_TOTAL_H_TOTAL__MASK; 28162306a36Sopenharmony_ci} 28262306a36Sopenharmony_ci#define DSI_TOTAL_V_TOTAL__MASK 0x0fff0000 28362306a36Sopenharmony_ci#define DSI_TOTAL_V_TOTAL__SHIFT 16 28462306a36Sopenharmony_cistatic inline uint32_t DSI_TOTAL_V_TOTAL(uint32_t val) 28562306a36Sopenharmony_ci{ 28662306a36Sopenharmony_ci return ((val) << DSI_TOTAL_V_TOTAL__SHIFT) & DSI_TOTAL_V_TOTAL__MASK; 28762306a36Sopenharmony_ci} 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ci#define REG_DSI_ACTIVE_HSYNC 0x0000002c 29062306a36Sopenharmony_ci#define DSI_ACTIVE_HSYNC_START__MASK 0x00000fff 29162306a36Sopenharmony_ci#define DSI_ACTIVE_HSYNC_START__SHIFT 0 29262306a36Sopenharmony_cistatic inline uint32_t DSI_ACTIVE_HSYNC_START(uint32_t val) 29362306a36Sopenharmony_ci{ 29462306a36Sopenharmony_ci return ((val) << DSI_ACTIVE_HSYNC_START__SHIFT) & DSI_ACTIVE_HSYNC_START__MASK; 29562306a36Sopenharmony_ci} 29662306a36Sopenharmony_ci#define DSI_ACTIVE_HSYNC_END__MASK 0x0fff0000 29762306a36Sopenharmony_ci#define DSI_ACTIVE_HSYNC_END__SHIFT 16 29862306a36Sopenharmony_cistatic inline uint32_t DSI_ACTIVE_HSYNC_END(uint32_t val) 29962306a36Sopenharmony_ci{ 30062306a36Sopenharmony_ci return ((val) << DSI_ACTIVE_HSYNC_END__SHIFT) & DSI_ACTIVE_HSYNC_END__MASK; 30162306a36Sopenharmony_ci} 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_ci#define REG_DSI_ACTIVE_VSYNC_HPOS 0x00000030 30462306a36Sopenharmony_ci#define DSI_ACTIVE_VSYNC_HPOS_START__MASK 0x00000fff 30562306a36Sopenharmony_ci#define DSI_ACTIVE_VSYNC_HPOS_START__SHIFT 0 30662306a36Sopenharmony_cistatic inline uint32_t DSI_ACTIVE_VSYNC_HPOS_START(uint32_t val) 30762306a36Sopenharmony_ci{ 30862306a36Sopenharmony_ci return ((val) << DSI_ACTIVE_VSYNC_HPOS_START__SHIFT) & DSI_ACTIVE_VSYNC_HPOS_START__MASK; 30962306a36Sopenharmony_ci} 31062306a36Sopenharmony_ci#define DSI_ACTIVE_VSYNC_HPOS_END__MASK 0x0fff0000 31162306a36Sopenharmony_ci#define DSI_ACTIVE_VSYNC_HPOS_END__SHIFT 16 31262306a36Sopenharmony_cistatic inline uint32_t DSI_ACTIVE_VSYNC_HPOS_END(uint32_t val) 31362306a36Sopenharmony_ci{ 31462306a36Sopenharmony_ci return ((val) << DSI_ACTIVE_VSYNC_HPOS_END__SHIFT) & DSI_ACTIVE_VSYNC_HPOS_END__MASK; 31562306a36Sopenharmony_ci} 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ci#define REG_DSI_ACTIVE_VSYNC_VPOS 0x00000034 31862306a36Sopenharmony_ci#define DSI_ACTIVE_VSYNC_VPOS_START__MASK 0x00000fff 31962306a36Sopenharmony_ci#define DSI_ACTIVE_VSYNC_VPOS_START__SHIFT 0 32062306a36Sopenharmony_cistatic inline uint32_t DSI_ACTIVE_VSYNC_VPOS_START(uint32_t val) 32162306a36Sopenharmony_ci{ 32262306a36Sopenharmony_ci return ((val) << DSI_ACTIVE_VSYNC_VPOS_START__SHIFT) & DSI_ACTIVE_VSYNC_VPOS_START__MASK; 32362306a36Sopenharmony_ci} 32462306a36Sopenharmony_ci#define DSI_ACTIVE_VSYNC_VPOS_END__MASK 0x0fff0000 32562306a36Sopenharmony_ci#define DSI_ACTIVE_VSYNC_VPOS_END__SHIFT 16 32662306a36Sopenharmony_cistatic inline uint32_t DSI_ACTIVE_VSYNC_VPOS_END(uint32_t val) 32762306a36Sopenharmony_ci{ 32862306a36Sopenharmony_ci return ((val) << DSI_ACTIVE_VSYNC_VPOS_END__SHIFT) & DSI_ACTIVE_VSYNC_VPOS_END__MASK; 32962306a36Sopenharmony_ci} 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_ci#define REG_DSI_CMD_DMA_CTRL 0x00000038 33262306a36Sopenharmony_ci#define DSI_CMD_DMA_CTRL_BROADCAST_EN 0x80000000 33362306a36Sopenharmony_ci#define DSI_CMD_DMA_CTRL_FROM_FRAME_BUFFER 0x10000000 33462306a36Sopenharmony_ci#define DSI_CMD_DMA_CTRL_LOW_POWER 0x04000000 33562306a36Sopenharmony_ci 33662306a36Sopenharmony_ci#define REG_DSI_CMD_CFG0 0x0000003c 33762306a36Sopenharmony_ci#define DSI_CMD_CFG0_DST_FORMAT__MASK 0x0000000f 33862306a36Sopenharmony_ci#define DSI_CMD_CFG0_DST_FORMAT__SHIFT 0 33962306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_CFG0_DST_FORMAT(enum dsi_cmd_dst_format val) 34062306a36Sopenharmony_ci{ 34162306a36Sopenharmony_ci return ((val) << DSI_CMD_CFG0_DST_FORMAT__SHIFT) & DSI_CMD_CFG0_DST_FORMAT__MASK; 34262306a36Sopenharmony_ci} 34362306a36Sopenharmony_ci#define DSI_CMD_CFG0_R_SEL 0x00000010 34462306a36Sopenharmony_ci#define DSI_CMD_CFG0_G_SEL 0x00000100 34562306a36Sopenharmony_ci#define DSI_CMD_CFG0_B_SEL 0x00001000 34662306a36Sopenharmony_ci#define DSI_CMD_CFG0_INTERLEAVE_MAX__MASK 0x00f00000 34762306a36Sopenharmony_ci#define DSI_CMD_CFG0_INTERLEAVE_MAX__SHIFT 20 34862306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_CFG0_INTERLEAVE_MAX(uint32_t val) 34962306a36Sopenharmony_ci{ 35062306a36Sopenharmony_ci return ((val) << DSI_CMD_CFG0_INTERLEAVE_MAX__SHIFT) & DSI_CMD_CFG0_INTERLEAVE_MAX__MASK; 35162306a36Sopenharmony_ci} 35262306a36Sopenharmony_ci#define DSI_CMD_CFG0_RGB_SWAP__MASK 0x00070000 35362306a36Sopenharmony_ci#define DSI_CMD_CFG0_RGB_SWAP__SHIFT 16 35462306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_CFG0_RGB_SWAP(enum dsi_rgb_swap val) 35562306a36Sopenharmony_ci{ 35662306a36Sopenharmony_ci return ((val) << DSI_CMD_CFG0_RGB_SWAP__SHIFT) & DSI_CMD_CFG0_RGB_SWAP__MASK; 35762306a36Sopenharmony_ci} 35862306a36Sopenharmony_ci 35962306a36Sopenharmony_ci#define REG_DSI_CMD_CFG1 0x00000040 36062306a36Sopenharmony_ci#define DSI_CMD_CFG1_WR_MEM_START__MASK 0x000000ff 36162306a36Sopenharmony_ci#define DSI_CMD_CFG1_WR_MEM_START__SHIFT 0 36262306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_CFG1_WR_MEM_START(uint32_t val) 36362306a36Sopenharmony_ci{ 36462306a36Sopenharmony_ci return ((val) << DSI_CMD_CFG1_WR_MEM_START__SHIFT) & DSI_CMD_CFG1_WR_MEM_START__MASK; 36562306a36Sopenharmony_ci} 36662306a36Sopenharmony_ci#define DSI_CMD_CFG1_WR_MEM_CONTINUE__MASK 0x0000ff00 36762306a36Sopenharmony_ci#define DSI_CMD_CFG1_WR_MEM_CONTINUE__SHIFT 8 36862306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_CFG1_WR_MEM_CONTINUE(uint32_t val) 36962306a36Sopenharmony_ci{ 37062306a36Sopenharmony_ci return ((val) << DSI_CMD_CFG1_WR_MEM_CONTINUE__SHIFT) & DSI_CMD_CFG1_WR_MEM_CONTINUE__MASK; 37162306a36Sopenharmony_ci} 37262306a36Sopenharmony_ci#define DSI_CMD_CFG1_INSERT_DCS_COMMAND 0x00010000 37362306a36Sopenharmony_ci 37462306a36Sopenharmony_ci#define REG_DSI_DMA_BASE 0x00000044 37562306a36Sopenharmony_ci 37662306a36Sopenharmony_ci#define REG_DSI_DMA_LEN 0x00000048 37762306a36Sopenharmony_ci 37862306a36Sopenharmony_ci#define REG_DSI_CMD_MDP_STREAM0_CTRL 0x00000054 37962306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM0_CTRL_DATA_TYPE__MASK 0x0000003f 38062306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM0_CTRL_DATA_TYPE__SHIFT 0 38162306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MDP_STREAM0_CTRL_DATA_TYPE(uint32_t val) 38262306a36Sopenharmony_ci{ 38362306a36Sopenharmony_ci return ((val) << DSI_CMD_MDP_STREAM0_CTRL_DATA_TYPE__SHIFT) & DSI_CMD_MDP_STREAM0_CTRL_DATA_TYPE__MASK; 38462306a36Sopenharmony_ci} 38562306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM0_CTRL_VIRTUAL_CHANNEL__MASK 0x00000300 38662306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM0_CTRL_VIRTUAL_CHANNEL__SHIFT 8 38762306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MDP_STREAM0_CTRL_VIRTUAL_CHANNEL(uint32_t val) 38862306a36Sopenharmony_ci{ 38962306a36Sopenharmony_ci return ((val) << DSI_CMD_MDP_STREAM0_CTRL_VIRTUAL_CHANNEL__SHIFT) & DSI_CMD_MDP_STREAM0_CTRL_VIRTUAL_CHANNEL__MASK; 39062306a36Sopenharmony_ci} 39162306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM0_CTRL_WORD_COUNT__MASK 0xffff0000 39262306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM0_CTRL_WORD_COUNT__SHIFT 16 39362306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MDP_STREAM0_CTRL_WORD_COUNT(uint32_t val) 39462306a36Sopenharmony_ci{ 39562306a36Sopenharmony_ci return ((val) << DSI_CMD_MDP_STREAM0_CTRL_WORD_COUNT__SHIFT) & DSI_CMD_MDP_STREAM0_CTRL_WORD_COUNT__MASK; 39662306a36Sopenharmony_ci} 39762306a36Sopenharmony_ci 39862306a36Sopenharmony_ci#define REG_DSI_CMD_MDP_STREAM0_TOTAL 0x00000058 39962306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM0_TOTAL_H_TOTAL__MASK 0x00000fff 40062306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM0_TOTAL_H_TOTAL__SHIFT 0 40162306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MDP_STREAM0_TOTAL_H_TOTAL(uint32_t val) 40262306a36Sopenharmony_ci{ 40362306a36Sopenharmony_ci return ((val) << DSI_CMD_MDP_STREAM0_TOTAL_H_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM0_TOTAL_H_TOTAL__MASK; 40462306a36Sopenharmony_ci} 40562306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM0_TOTAL_V_TOTAL__MASK 0x0fff0000 40662306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM0_TOTAL_V_TOTAL__SHIFT 16 40762306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MDP_STREAM0_TOTAL_V_TOTAL(uint32_t val) 40862306a36Sopenharmony_ci{ 40962306a36Sopenharmony_ci return ((val) << DSI_CMD_MDP_STREAM0_TOTAL_V_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM0_TOTAL_V_TOTAL__MASK; 41062306a36Sopenharmony_ci} 41162306a36Sopenharmony_ci 41262306a36Sopenharmony_ci#define REG_DSI_CMD_MDP_STREAM1_CTRL 0x0000005c 41362306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM1_CTRL_DATA_TYPE__MASK 0x0000003f 41462306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM1_CTRL_DATA_TYPE__SHIFT 0 41562306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MDP_STREAM1_CTRL_DATA_TYPE(uint32_t val) 41662306a36Sopenharmony_ci{ 41762306a36Sopenharmony_ci return ((val) << DSI_CMD_MDP_STREAM1_CTRL_DATA_TYPE__SHIFT) & DSI_CMD_MDP_STREAM1_CTRL_DATA_TYPE__MASK; 41862306a36Sopenharmony_ci} 41962306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM1_CTRL_VIRTUAL_CHANNEL__MASK 0x00000300 42062306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM1_CTRL_VIRTUAL_CHANNEL__SHIFT 8 42162306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MDP_STREAM1_CTRL_VIRTUAL_CHANNEL(uint32_t val) 42262306a36Sopenharmony_ci{ 42362306a36Sopenharmony_ci return ((val) << DSI_CMD_MDP_STREAM1_CTRL_VIRTUAL_CHANNEL__SHIFT) & DSI_CMD_MDP_STREAM1_CTRL_VIRTUAL_CHANNEL__MASK; 42462306a36Sopenharmony_ci} 42562306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM1_CTRL_WORD_COUNT__MASK 0xffff0000 42662306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM1_CTRL_WORD_COUNT__SHIFT 16 42762306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MDP_STREAM1_CTRL_WORD_COUNT(uint32_t val) 42862306a36Sopenharmony_ci{ 42962306a36Sopenharmony_ci return ((val) << DSI_CMD_MDP_STREAM1_CTRL_WORD_COUNT__SHIFT) & DSI_CMD_MDP_STREAM1_CTRL_WORD_COUNT__MASK; 43062306a36Sopenharmony_ci} 43162306a36Sopenharmony_ci 43262306a36Sopenharmony_ci#define REG_DSI_CMD_MDP_STREAM1_TOTAL 0x00000060 43362306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM1_TOTAL_H_TOTAL__MASK 0x0000ffff 43462306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM1_TOTAL_H_TOTAL__SHIFT 0 43562306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MDP_STREAM1_TOTAL_H_TOTAL(uint32_t val) 43662306a36Sopenharmony_ci{ 43762306a36Sopenharmony_ci return ((val) << DSI_CMD_MDP_STREAM1_TOTAL_H_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM1_TOTAL_H_TOTAL__MASK; 43862306a36Sopenharmony_ci} 43962306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM1_TOTAL_V_TOTAL__MASK 0xffff0000 44062306a36Sopenharmony_ci#define DSI_CMD_MDP_STREAM1_TOTAL_V_TOTAL__SHIFT 16 44162306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MDP_STREAM1_TOTAL_V_TOTAL(uint32_t val) 44262306a36Sopenharmony_ci{ 44362306a36Sopenharmony_ci return ((val) << DSI_CMD_MDP_STREAM1_TOTAL_V_TOTAL__SHIFT) & DSI_CMD_MDP_STREAM1_TOTAL_V_TOTAL__MASK; 44462306a36Sopenharmony_ci} 44562306a36Sopenharmony_ci 44662306a36Sopenharmony_ci#define REG_DSI_ACK_ERR_STATUS 0x00000064 44762306a36Sopenharmony_ci 44862306a36Sopenharmony_cistatic inline uint32_t REG_DSI_RDBK(uint32_t i0) { return 0x00000068 + 0x4*i0; } 44962306a36Sopenharmony_ci 45062306a36Sopenharmony_cistatic inline uint32_t REG_DSI_RDBK_DATA(uint32_t i0) { return 0x00000068 + 0x4*i0; } 45162306a36Sopenharmony_ci 45262306a36Sopenharmony_ci#define REG_DSI_TRIG_CTRL 0x00000080 45362306a36Sopenharmony_ci#define DSI_TRIG_CTRL_DMA_TRIGGER__MASK 0x00000007 45462306a36Sopenharmony_ci#define DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT 0 45562306a36Sopenharmony_cistatic inline uint32_t DSI_TRIG_CTRL_DMA_TRIGGER(enum dsi_cmd_trigger val) 45662306a36Sopenharmony_ci{ 45762306a36Sopenharmony_ci return ((val) << DSI_TRIG_CTRL_DMA_TRIGGER__SHIFT) & DSI_TRIG_CTRL_DMA_TRIGGER__MASK; 45862306a36Sopenharmony_ci} 45962306a36Sopenharmony_ci#define DSI_TRIG_CTRL_MDP_TRIGGER__MASK 0x00000070 46062306a36Sopenharmony_ci#define DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT 4 46162306a36Sopenharmony_cistatic inline uint32_t DSI_TRIG_CTRL_MDP_TRIGGER(enum dsi_cmd_trigger val) 46262306a36Sopenharmony_ci{ 46362306a36Sopenharmony_ci return ((val) << DSI_TRIG_CTRL_MDP_TRIGGER__SHIFT) & DSI_TRIG_CTRL_MDP_TRIGGER__MASK; 46462306a36Sopenharmony_ci} 46562306a36Sopenharmony_ci#define DSI_TRIG_CTRL_STREAM__MASK 0x00000300 46662306a36Sopenharmony_ci#define DSI_TRIG_CTRL_STREAM__SHIFT 8 46762306a36Sopenharmony_cistatic inline uint32_t DSI_TRIG_CTRL_STREAM(uint32_t val) 46862306a36Sopenharmony_ci{ 46962306a36Sopenharmony_ci return ((val) << DSI_TRIG_CTRL_STREAM__SHIFT) & DSI_TRIG_CTRL_STREAM__MASK; 47062306a36Sopenharmony_ci} 47162306a36Sopenharmony_ci#define DSI_TRIG_CTRL_BLOCK_DMA_WITHIN_FRAME 0x00001000 47262306a36Sopenharmony_ci#define DSI_TRIG_CTRL_TE 0x80000000 47362306a36Sopenharmony_ci 47462306a36Sopenharmony_ci#define REG_DSI_TRIG_DMA 0x0000008c 47562306a36Sopenharmony_ci 47662306a36Sopenharmony_ci#define REG_DSI_DLN0_PHY_ERR 0x000000b0 47762306a36Sopenharmony_ci#define DSI_DLN0_PHY_ERR_DLN0_ERR_ESC 0x00000001 47862306a36Sopenharmony_ci#define DSI_DLN0_PHY_ERR_DLN0_ERR_SYNC_ESC 0x00000010 47962306a36Sopenharmony_ci#define DSI_DLN0_PHY_ERR_DLN0_ERR_CONTROL 0x00000100 48062306a36Sopenharmony_ci#define DSI_DLN0_PHY_ERR_DLN0_ERR_CONTENTION_LP0 0x00001000 48162306a36Sopenharmony_ci#define DSI_DLN0_PHY_ERR_DLN0_ERR_CONTENTION_LP1 0x00010000 48262306a36Sopenharmony_ci 48362306a36Sopenharmony_ci#define REG_DSI_LP_TIMER_CTRL 0x000000b4 48462306a36Sopenharmony_ci#define DSI_LP_TIMER_CTRL_LP_RX_TO__MASK 0x0000ffff 48562306a36Sopenharmony_ci#define DSI_LP_TIMER_CTRL_LP_RX_TO__SHIFT 0 48662306a36Sopenharmony_cistatic inline uint32_t DSI_LP_TIMER_CTRL_LP_RX_TO(uint32_t val) 48762306a36Sopenharmony_ci{ 48862306a36Sopenharmony_ci return ((val) << DSI_LP_TIMER_CTRL_LP_RX_TO__SHIFT) & DSI_LP_TIMER_CTRL_LP_RX_TO__MASK; 48962306a36Sopenharmony_ci} 49062306a36Sopenharmony_ci#define DSI_LP_TIMER_CTRL_BTA_TO__MASK 0xffff0000 49162306a36Sopenharmony_ci#define DSI_LP_TIMER_CTRL_BTA_TO__SHIFT 16 49262306a36Sopenharmony_cistatic inline uint32_t DSI_LP_TIMER_CTRL_BTA_TO(uint32_t val) 49362306a36Sopenharmony_ci{ 49462306a36Sopenharmony_ci return ((val) << DSI_LP_TIMER_CTRL_BTA_TO__SHIFT) & DSI_LP_TIMER_CTRL_BTA_TO__MASK; 49562306a36Sopenharmony_ci} 49662306a36Sopenharmony_ci 49762306a36Sopenharmony_ci#define REG_DSI_HS_TIMER_CTRL 0x000000b8 49862306a36Sopenharmony_ci#define DSI_HS_TIMER_CTRL_HS_TX_TO__MASK 0x0000ffff 49962306a36Sopenharmony_ci#define DSI_HS_TIMER_CTRL_HS_TX_TO__SHIFT 0 50062306a36Sopenharmony_cistatic inline uint32_t DSI_HS_TIMER_CTRL_HS_TX_TO(uint32_t val) 50162306a36Sopenharmony_ci{ 50262306a36Sopenharmony_ci return ((val) << DSI_HS_TIMER_CTRL_HS_TX_TO__SHIFT) & DSI_HS_TIMER_CTRL_HS_TX_TO__MASK; 50362306a36Sopenharmony_ci} 50462306a36Sopenharmony_ci#define DSI_HS_TIMER_CTRL_TIMER_RESOLUTION__MASK 0x000f0000 50562306a36Sopenharmony_ci#define DSI_HS_TIMER_CTRL_TIMER_RESOLUTION__SHIFT 16 50662306a36Sopenharmony_cistatic inline uint32_t DSI_HS_TIMER_CTRL_TIMER_RESOLUTION(uint32_t val) 50762306a36Sopenharmony_ci{ 50862306a36Sopenharmony_ci return ((val) << DSI_HS_TIMER_CTRL_TIMER_RESOLUTION__SHIFT) & DSI_HS_TIMER_CTRL_TIMER_RESOLUTION__MASK; 50962306a36Sopenharmony_ci} 51062306a36Sopenharmony_ci#define DSI_HS_TIMER_CTRL_HS_TX_TO_STOP_EN 0x10000000 51162306a36Sopenharmony_ci 51262306a36Sopenharmony_ci#define REG_DSI_TIMEOUT_STATUS 0x000000bc 51362306a36Sopenharmony_ci 51462306a36Sopenharmony_ci#define REG_DSI_CLKOUT_TIMING_CTRL 0x000000c0 51562306a36Sopenharmony_ci#define DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__MASK 0x0000003f 51662306a36Sopenharmony_ci#define DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__SHIFT 0 51762306a36Sopenharmony_cistatic inline uint32_t DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE(uint32_t val) 51862306a36Sopenharmony_ci{ 51962306a36Sopenharmony_ci return ((val) << DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__SHIFT) & DSI_CLKOUT_TIMING_CTRL_T_CLK_PRE__MASK; 52062306a36Sopenharmony_ci} 52162306a36Sopenharmony_ci#define DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__MASK 0x00003f00 52262306a36Sopenharmony_ci#define DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__SHIFT 8 52362306a36Sopenharmony_cistatic inline uint32_t DSI_CLKOUT_TIMING_CTRL_T_CLK_POST(uint32_t val) 52462306a36Sopenharmony_ci{ 52562306a36Sopenharmony_ci return ((val) << DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__SHIFT) & DSI_CLKOUT_TIMING_CTRL_T_CLK_POST__MASK; 52662306a36Sopenharmony_ci} 52762306a36Sopenharmony_ci 52862306a36Sopenharmony_ci#define REG_DSI_EOT_PACKET_CTRL 0x000000c8 52962306a36Sopenharmony_ci#define DSI_EOT_PACKET_CTRL_TX_EOT_APPEND 0x00000001 53062306a36Sopenharmony_ci#define DSI_EOT_PACKET_CTRL_RX_EOT_IGNORE 0x00000010 53162306a36Sopenharmony_ci 53262306a36Sopenharmony_ci#define REG_DSI_LANE_STATUS 0x000000a4 53362306a36Sopenharmony_ci#define DSI_LANE_STATUS_DLN0_STOPSTATE 0x00000001 53462306a36Sopenharmony_ci#define DSI_LANE_STATUS_DLN1_STOPSTATE 0x00000002 53562306a36Sopenharmony_ci#define DSI_LANE_STATUS_DLN2_STOPSTATE 0x00000004 53662306a36Sopenharmony_ci#define DSI_LANE_STATUS_DLN3_STOPSTATE 0x00000008 53762306a36Sopenharmony_ci#define DSI_LANE_STATUS_CLKLN_STOPSTATE 0x00000010 53862306a36Sopenharmony_ci#define DSI_LANE_STATUS_DLN0_ULPS_ACTIVE_NOT 0x00000100 53962306a36Sopenharmony_ci#define DSI_LANE_STATUS_DLN1_ULPS_ACTIVE_NOT 0x00000200 54062306a36Sopenharmony_ci#define DSI_LANE_STATUS_DLN2_ULPS_ACTIVE_NOT 0x00000400 54162306a36Sopenharmony_ci#define DSI_LANE_STATUS_DLN3_ULPS_ACTIVE_NOT 0x00000800 54262306a36Sopenharmony_ci#define DSI_LANE_STATUS_CLKLN_ULPS_ACTIVE_NOT 0x00001000 54362306a36Sopenharmony_ci#define DSI_LANE_STATUS_DLN0_DIRECTION 0x00010000 54462306a36Sopenharmony_ci 54562306a36Sopenharmony_ci#define REG_DSI_LANE_CTRL 0x000000a8 54662306a36Sopenharmony_ci#define DSI_LANE_CTRL_HS_REQ_SEL_PHY 0x01000000 54762306a36Sopenharmony_ci#define DSI_LANE_CTRL_CLKLN_HS_FORCE_REQUEST 0x10000000 54862306a36Sopenharmony_ci 54962306a36Sopenharmony_ci#define REG_DSI_LANE_SWAP_CTRL 0x000000ac 55062306a36Sopenharmony_ci#define DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__MASK 0x00000007 55162306a36Sopenharmony_ci#define DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__SHIFT 0 55262306a36Sopenharmony_cistatic inline uint32_t DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL(enum dsi_lane_swap val) 55362306a36Sopenharmony_ci{ 55462306a36Sopenharmony_ci return ((val) << DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__SHIFT) & DSI_LANE_SWAP_CTRL_DLN_SWAP_SEL__MASK; 55562306a36Sopenharmony_ci} 55662306a36Sopenharmony_ci 55762306a36Sopenharmony_ci#define REG_DSI_ERR_INT_MASK0 0x00000108 55862306a36Sopenharmony_ci 55962306a36Sopenharmony_ci#define REG_DSI_INTR_CTRL 0x0000010c 56062306a36Sopenharmony_ci 56162306a36Sopenharmony_ci#define REG_DSI_RESET 0x00000114 56262306a36Sopenharmony_ci 56362306a36Sopenharmony_ci#define REG_DSI_CLK_CTRL 0x00000118 56462306a36Sopenharmony_ci#define DSI_CLK_CTRL_AHBS_HCLK_ON 0x00000001 56562306a36Sopenharmony_ci#define DSI_CLK_CTRL_AHBM_SCLK_ON 0x00000002 56662306a36Sopenharmony_ci#define DSI_CLK_CTRL_PCLK_ON 0x00000004 56762306a36Sopenharmony_ci#define DSI_CLK_CTRL_DSICLK_ON 0x00000008 56862306a36Sopenharmony_ci#define DSI_CLK_CTRL_BYTECLK_ON 0x00000010 56962306a36Sopenharmony_ci#define DSI_CLK_CTRL_ESCCLK_ON 0x00000020 57062306a36Sopenharmony_ci#define DSI_CLK_CTRL_FORCE_ON_DYN_AHBM_HCLK 0x00000200 57162306a36Sopenharmony_ci 57262306a36Sopenharmony_ci#define REG_DSI_CLK_STATUS 0x0000011c 57362306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_AON_AHBM_HCLK_ACTIVE 0x00000001 57462306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_DYN_AHBM_HCLK_ACTIVE 0x00000002 57562306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_AON_AHBS_HCLK_ACTIVE 0x00000004 57662306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_DYN_AHBS_HCLK_ACTIVE 0x00000008 57762306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_AON_DSICLK_ACTIVE 0x00000010 57862306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_DYN_DSICLK_ACTIVE 0x00000020 57962306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_AON_BYTECLK_ACTIVE 0x00000040 58062306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_DYN_BYTECLK_ACTIVE 0x00000080 58162306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_AON_ESCCLK_ACTIVE 0x00000100 58262306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_AON_PCLK_ACTIVE 0x00000200 58362306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_DYN_PCLK_ACTIVE 0x00000400 58462306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_DYN_CMD_PCLK_ACTIVE 0x00001000 58562306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_CMD_PCLK_ACTIVE 0x00002000 58662306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_VID_PCLK_ACTIVE 0x00004000 58762306a36Sopenharmony_ci#define DSI_CLK_STATUS_DSI_CAM_BIST_PCLK_ACT 0x00008000 58862306a36Sopenharmony_ci#define DSI_CLK_STATUS_PLL_UNLOCKED 0x00010000 58962306a36Sopenharmony_ci 59062306a36Sopenharmony_ci#define REG_DSI_PHY_RESET 0x00000128 59162306a36Sopenharmony_ci#define DSI_PHY_RESET_RESET 0x00000001 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci#define REG_DSI_TEST_PATTERN_GEN_VIDEO_INIT_VAL 0x00000160 59462306a36Sopenharmony_ci 59562306a36Sopenharmony_ci#define REG_DSI_TPG_MAIN_CONTROL 0x00000198 59662306a36Sopenharmony_ci#define DSI_TPG_MAIN_CONTROL_CHECKERED_RECTANGLE_PATTERN 0x00000100 59762306a36Sopenharmony_ci 59862306a36Sopenharmony_ci#define REG_DSI_TPG_VIDEO_CONFIG 0x000001a0 59962306a36Sopenharmony_ci#define DSI_TPG_VIDEO_CONFIG_BPP__MASK 0x00000003 60062306a36Sopenharmony_ci#define DSI_TPG_VIDEO_CONFIG_BPP__SHIFT 0 60162306a36Sopenharmony_cistatic inline uint32_t DSI_TPG_VIDEO_CONFIG_BPP(enum video_config_bpp val) 60262306a36Sopenharmony_ci{ 60362306a36Sopenharmony_ci return ((val) << DSI_TPG_VIDEO_CONFIG_BPP__SHIFT) & DSI_TPG_VIDEO_CONFIG_BPP__MASK; 60462306a36Sopenharmony_ci} 60562306a36Sopenharmony_ci#define DSI_TPG_VIDEO_CONFIG_RGB 0x00000004 60662306a36Sopenharmony_ci 60762306a36Sopenharmony_ci#define REG_DSI_TEST_PATTERN_GEN_CTRL 0x00000158 60862306a36Sopenharmony_ci#define DSI_TEST_PATTERN_GEN_CTRL_CMD_DMA_PATTERN_SEL__MASK 0x00030000 60962306a36Sopenharmony_ci#define DSI_TEST_PATTERN_GEN_CTRL_CMD_DMA_PATTERN_SEL__SHIFT 16 61062306a36Sopenharmony_cistatic inline uint32_t DSI_TEST_PATTERN_GEN_CTRL_CMD_DMA_PATTERN_SEL(enum cmd_dma_pattern_sel val) 61162306a36Sopenharmony_ci{ 61262306a36Sopenharmony_ci return ((val) << DSI_TEST_PATTERN_GEN_CTRL_CMD_DMA_PATTERN_SEL__SHIFT) & DSI_TEST_PATTERN_GEN_CTRL_CMD_DMA_PATTERN_SEL__MASK; 61362306a36Sopenharmony_ci} 61462306a36Sopenharmony_ci#define DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL__MASK 0x00000300 61562306a36Sopenharmony_ci#define DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL__SHIFT 8 61662306a36Sopenharmony_cistatic inline uint32_t DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL(enum cmd_mdp_stream0_pattern_sel val) 61762306a36Sopenharmony_ci{ 61862306a36Sopenharmony_ci return ((val) << DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL__SHIFT) & DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL__MASK; 61962306a36Sopenharmony_ci} 62062306a36Sopenharmony_ci#define DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL__MASK 0x00000030 62162306a36Sopenharmony_ci#define DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL__SHIFT 4 62262306a36Sopenharmony_cistatic inline uint32_t DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL(enum video_pattern_sel val) 62362306a36Sopenharmony_ci{ 62462306a36Sopenharmony_ci return ((val) << DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL__SHIFT) & DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL__MASK; 62562306a36Sopenharmony_ci} 62662306a36Sopenharmony_ci#define DSI_TEST_PATTERN_GEN_CTRL_TPG_DMA_FIFO_MODE 0x00000004 62762306a36Sopenharmony_ci#define DSI_TEST_PATTERN_GEN_CTRL_CMD_DMA_TPG_EN 0x00000002 62862306a36Sopenharmony_ci#define DSI_TEST_PATTERN_GEN_CTRL_EN 0x00000001 62962306a36Sopenharmony_ci 63062306a36Sopenharmony_ci#define REG_DSI_TEST_PATTERN_GEN_CMD_MDP_INIT_VAL0 0x00000168 63162306a36Sopenharmony_ci 63262306a36Sopenharmony_ci#define REG_DSI_TEST_PATTERN_GEN_CMD_STREAM0_TRIGGER 0x00000180 63362306a36Sopenharmony_ci#define DSI_TEST_PATTERN_GEN_CMD_STREAM0_TRIGGER_SW_TRIGGER 0x00000001 63462306a36Sopenharmony_ci 63562306a36Sopenharmony_ci#define REG_DSI_TPG_MAIN_CONTROL2 0x0000019c 63662306a36Sopenharmony_ci#define DSI_TPG_MAIN_CONTROL2_CMD_MDP0_CHECKERED_RECTANGLE_PATTERN 0x00000080 63762306a36Sopenharmony_ci#define DSI_TPG_MAIN_CONTROL2_CMD_MDP1_CHECKERED_RECTANGLE_PATTERN 0x00010000 63862306a36Sopenharmony_ci#define DSI_TPG_MAIN_CONTROL2_CMD_MDP2_CHECKERED_RECTANGLE_PATTERN 0x02000000 63962306a36Sopenharmony_ci 64062306a36Sopenharmony_ci#define REG_DSI_T_CLK_PRE_EXTEND 0x0000017c 64162306a36Sopenharmony_ci#define DSI_T_CLK_PRE_EXTEND_INC_BY_2_BYTECLK 0x00000001 64262306a36Sopenharmony_ci 64362306a36Sopenharmony_ci#define REG_DSI_CMD_MODE_MDP_CTRL2 0x000001b4 64462306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_CTRL2_DST_FORMAT2__MASK 0x0000000f 64562306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_CTRL2_DST_FORMAT2__SHIFT 0 64662306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MODE_MDP_CTRL2_DST_FORMAT2(enum dsi_cmd_dst_format val) 64762306a36Sopenharmony_ci{ 64862306a36Sopenharmony_ci return ((val) << DSI_CMD_MODE_MDP_CTRL2_DST_FORMAT2__SHIFT) & DSI_CMD_MODE_MDP_CTRL2_DST_FORMAT2__MASK; 64962306a36Sopenharmony_ci} 65062306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_CTRL2_R_SEL 0x00000010 65162306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_CTRL2_G_SEL 0x00000020 65262306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_CTRL2_B_SEL 0x00000040 65362306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_CTRL2_BYTE_MSB_LSB_FLIP 0x00000080 65462306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_CTRL2_RGB_SWAP__MASK 0x00000700 65562306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_CTRL2_RGB_SWAP__SHIFT 8 65662306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MODE_MDP_CTRL2_RGB_SWAP(enum dsi_rgb_swap val) 65762306a36Sopenharmony_ci{ 65862306a36Sopenharmony_ci return ((val) << DSI_CMD_MODE_MDP_CTRL2_RGB_SWAP__SHIFT) & DSI_CMD_MODE_MDP_CTRL2_RGB_SWAP__MASK; 65962306a36Sopenharmony_ci} 66062306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_CTRL2_INPUT_RGB_SWAP__MASK 0x00007000 66162306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_CTRL2_INPUT_RGB_SWAP__SHIFT 12 66262306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MODE_MDP_CTRL2_INPUT_RGB_SWAP(enum dsi_rgb_swap val) 66362306a36Sopenharmony_ci{ 66462306a36Sopenharmony_ci return ((val) << DSI_CMD_MODE_MDP_CTRL2_INPUT_RGB_SWAP__SHIFT) & DSI_CMD_MODE_MDP_CTRL2_INPUT_RGB_SWAP__MASK; 66562306a36Sopenharmony_ci} 66662306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_CTRL2_BURST_MODE 0x00010000 66762306a36Sopenharmony_ci 66862306a36Sopenharmony_ci#define REG_DSI_CMD_MODE_MDP_STREAM2_CTRL 0x000001b8 66962306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_STREAM2_CTRL_DATA_TYPE__MASK 0x0000003f 67062306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_STREAM2_CTRL_DATA_TYPE__SHIFT 0 67162306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MODE_MDP_STREAM2_CTRL_DATA_TYPE(uint32_t val) 67262306a36Sopenharmony_ci{ 67362306a36Sopenharmony_ci return ((val) << DSI_CMD_MODE_MDP_STREAM2_CTRL_DATA_TYPE__SHIFT) & DSI_CMD_MODE_MDP_STREAM2_CTRL_DATA_TYPE__MASK; 67462306a36Sopenharmony_ci} 67562306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_STREAM2_CTRL_VIRTUAL_CHANNEL__MASK 0x00000300 67662306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_STREAM2_CTRL_VIRTUAL_CHANNEL__SHIFT 8 67762306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MODE_MDP_STREAM2_CTRL_VIRTUAL_CHANNEL(uint32_t val) 67862306a36Sopenharmony_ci{ 67962306a36Sopenharmony_ci return ((val) << DSI_CMD_MODE_MDP_STREAM2_CTRL_VIRTUAL_CHANNEL__SHIFT) & DSI_CMD_MODE_MDP_STREAM2_CTRL_VIRTUAL_CHANNEL__MASK; 68062306a36Sopenharmony_ci} 68162306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_STREAM2_CTRL_WORD_COUNT__MASK 0xffff0000 68262306a36Sopenharmony_ci#define DSI_CMD_MODE_MDP_STREAM2_CTRL_WORD_COUNT__SHIFT 16 68362306a36Sopenharmony_cistatic inline uint32_t DSI_CMD_MODE_MDP_STREAM2_CTRL_WORD_COUNT(uint32_t val) 68462306a36Sopenharmony_ci{ 68562306a36Sopenharmony_ci return ((val) << DSI_CMD_MODE_MDP_STREAM2_CTRL_WORD_COUNT__SHIFT) & DSI_CMD_MODE_MDP_STREAM2_CTRL_WORD_COUNT__MASK; 68662306a36Sopenharmony_ci} 68762306a36Sopenharmony_ci 68862306a36Sopenharmony_ci#define REG_DSI_RDBK_DATA_CTRL 0x000001d0 68962306a36Sopenharmony_ci#define DSI_RDBK_DATA_CTRL_COUNT__MASK 0x00ff0000 69062306a36Sopenharmony_ci#define DSI_RDBK_DATA_CTRL_COUNT__SHIFT 16 69162306a36Sopenharmony_cistatic inline uint32_t DSI_RDBK_DATA_CTRL_COUNT(uint32_t val) 69262306a36Sopenharmony_ci{ 69362306a36Sopenharmony_ci return ((val) << DSI_RDBK_DATA_CTRL_COUNT__SHIFT) & DSI_RDBK_DATA_CTRL_COUNT__MASK; 69462306a36Sopenharmony_ci} 69562306a36Sopenharmony_ci#define DSI_RDBK_DATA_CTRL_CLR 0x00000001 69662306a36Sopenharmony_ci 69762306a36Sopenharmony_ci#define REG_DSI_VERSION 0x000001f0 69862306a36Sopenharmony_ci#define DSI_VERSION_MAJOR__MASK 0xff000000 69962306a36Sopenharmony_ci#define DSI_VERSION_MAJOR__SHIFT 24 70062306a36Sopenharmony_cistatic inline uint32_t DSI_VERSION_MAJOR(uint32_t val) 70162306a36Sopenharmony_ci{ 70262306a36Sopenharmony_ci return ((val) << DSI_VERSION_MAJOR__SHIFT) & DSI_VERSION_MAJOR__MASK; 70362306a36Sopenharmony_ci} 70462306a36Sopenharmony_ci 70562306a36Sopenharmony_ci#define REG_DSI_CPHY_MODE_CTRL 0x000002d4 70662306a36Sopenharmony_ci 70762306a36Sopenharmony_ci#define REG_DSI_VIDEO_COMPRESSION_MODE_CTRL 0x0000029c 70862306a36Sopenharmony_ci#define DSI_VIDEO_COMPRESSION_MODE_CTRL_WC__MASK 0xffff0000 70962306a36Sopenharmony_ci#define DSI_VIDEO_COMPRESSION_MODE_CTRL_WC__SHIFT 16 71062306a36Sopenharmony_cistatic inline uint32_t DSI_VIDEO_COMPRESSION_MODE_CTRL_WC(uint32_t val) 71162306a36Sopenharmony_ci{ 71262306a36Sopenharmony_ci return ((val) << DSI_VIDEO_COMPRESSION_MODE_CTRL_WC__SHIFT) & DSI_VIDEO_COMPRESSION_MODE_CTRL_WC__MASK; 71362306a36Sopenharmony_ci} 71462306a36Sopenharmony_ci#define DSI_VIDEO_COMPRESSION_MODE_CTRL_DATATYPE__MASK 0x00003f00 71562306a36Sopenharmony_ci#define DSI_VIDEO_COMPRESSION_MODE_CTRL_DATATYPE__SHIFT 8 71662306a36Sopenharmony_cistatic inline uint32_t DSI_VIDEO_COMPRESSION_MODE_CTRL_DATATYPE(uint32_t val) 71762306a36Sopenharmony_ci{ 71862306a36Sopenharmony_ci return ((val) << DSI_VIDEO_COMPRESSION_MODE_CTRL_DATATYPE__SHIFT) & DSI_VIDEO_COMPRESSION_MODE_CTRL_DATATYPE__MASK; 71962306a36Sopenharmony_ci} 72062306a36Sopenharmony_ci#define DSI_VIDEO_COMPRESSION_MODE_CTRL_PKT_PER_LINE__MASK 0x000000c0 72162306a36Sopenharmony_ci#define DSI_VIDEO_COMPRESSION_MODE_CTRL_PKT_PER_LINE__SHIFT 6 72262306a36Sopenharmony_cistatic inline uint32_t DSI_VIDEO_COMPRESSION_MODE_CTRL_PKT_PER_LINE(uint32_t val) 72362306a36Sopenharmony_ci{ 72462306a36Sopenharmony_ci return ((val) << DSI_VIDEO_COMPRESSION_MODE_CTRL_PKT_PER_LINE__SHIFT) & DSI_VIDEO_COMPRESSION_MODE_CTRL_PKT_PER_LINE__MASK; 72562306a36Sopenharmony_ci} 72662306a36Sopenharmony_ci#define DSI_VIDEO_COMPRESSION_MODE_CTRL_EOL_BYTE_NUM__MASK 0x00000030 72762306a36Sopenharmony_ci#define DSI_VIDEO_COMPRESSION_MODE_CTRL_EOL_BYTE_NUM__SHIFT 4 72862306a36Sopenharmony_cistatic inline uint32_t DSI_VIDEO_COMPRESSION_MODE_CTRL_EOL_BYTE_NUM(uint32_t val) 72962306a36Sopenharmony_ci{ 73062306a36Sopenharmony_ci return ((val) << DSI_VIDEO_COMPRESSION_MODE_CTRL_EOL_BYTE_NUM__SHIFT) & DSI_VIDEO_COMPRESSION_MODE_CTRL_EOL_BYTE_NUM__MASK; 73162306a36Sopenharmony_ci} 73262306a36Sopenharmony_ci#define DSI_VIDEO_COMPRESSION_MODE_CTRL_EN 0x00000001 73362306a36Sopenharmony_ci 73462306a36Sopenharmony_ci#define REG_DSI_COMMAND_COMPRESSION_MODE_CTRL 0x000002a4 73562306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_DATATYPE__MASK 0x3f000000 73662306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_DATATYPE__SHIFT 24 73762306a36Sopenharmony_cistatic inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_DATATYPE(uint32_t val) 73862306a36Sopenharmony_ci{ 73962306a36Sopenharmony_ci return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_DATATYPE__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_DATATYPE__MASK; 74062306a36Sopenharmony_ci} 74162306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_PKT_PER_LINE__MASK 0x00c00000 74262306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_PKT_PER_LINE__SHIFT 22 74362306a36Sopenharmony_cistatic inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_PKT_PER_LINE(uint32_t val) 74462306a36Sopenharmony_ci{ 74562306a36Sopenharmony_ci return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_PKT_PER_LINE__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_PKT_PER_LINE__MASK; 74662306a36Sopenharmony_ci} 74762306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_EOL_BYTE_NUM__MASK 0x00300000 74862306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_EOL_BYTE_NUM__SHIFT 20 74962306a36Sopenharmony_cistatic inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_EOL_BYTE_NUM(uint32_t val) 75062306a36Sopenharmony_ci{ 75162306a36Sopenharmony_ci return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_EOL_BYTE_NUM__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_EOL_BYTE_NUM__MASK; 75262306a36Sopenharmony_ci} 75362306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM1_EN 0x00010000 75462306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_DATATYPE__MASK 0x00003f00 75562306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_DATATYPE__SHIFT 8 75662306a36Sopenharmony_cistatic inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_DATATYPE(uint32_t val) 75762306a36Sopenharmony_ci{ 75862306a36Sopenharmony_ci return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_DATATYPE__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_DATATYPE__MASK; 75962306a36Sopenharmony_ci} 76062306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_PKT_PER_LINE__MASK 0x000000c0 76162306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_PKT_PER_LINE__SHIFT 6 76262306a36Sopenharmony_cistatic inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_PKT_PER_LINE(uint32_t val) 76362306a36Sopenharmony_ci{ 76462306a36Sopenharmony_ci return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_PKT_PER_LINE__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_PKT_PER_LINE__MASK; 76562306a36Sopenharmony_ci} 76662306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_EOL_BYTE_NUM__MASK 0x00000030 76762306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_EOL_BYTE_NUM__SHIFT 4 76862306a36Sopenharmony_cistatic inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_EOL_BYTE_NUM(uint32_t val) 76962306a36Sopenharmony_ci{ 77062306a36Sopenharmony_ci return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_EOL_BYTE_NUM__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_EOL_BYTE_NUM__MASK; 77162306a36Sopenharmony_ci} 77262306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL_STREAM0_EN 0x00000001 77362306a36Sopenharmony_ci 77462306a36Sopenharmony_ci#define REG_DSI_COMMAND_COMPRESSION_MODE_CTRL2 0x000002a8 77562306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM1_SLICE_WIDTH__MASK 0xffff0000 77662306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM1_SLICE_WIDTH__SHIFT 16 77762306a36Sopenharmony_cistatic inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM1_SLICE_WIDTH(uint32_t val) 77862306a36Sopenharmony_ci{ 77962306a36Sopenharmony_ci return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM1_SLICE_WIDTH__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM1_SLICE_WIDTH__MASK; 78062306a36Sopenharmony_ci} 78162306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM0_SLICE_WIDTH__MASK 0x0000ffff 78262306a36Sopenharmony_ci#define DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM0_SLICE_WIDTH__SHIFT 0 78362306a36Sopenharmony_cistatic inline uint32_t DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM0_SLICE_WIDTH(uint32_t val) 78462306a36Sopenharmony_ci{ 78562306a36Sopenharmony_ci return ((val) << DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM0_SLICE_WIDTH__SHIFT) & DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM0_SLICE_WIDTH__MASK; 78662306a36Sopenharmony_ci} 78762306a36Sopenharmony_ci 78862306a36Sopenharmony_ci 78962306a36Sopenharmony_ci#endif /* DSI_XML */ 790