18c2ecf20Sopenharmony_ci#ifndef MDP4_XML 28c2ecf20Sopenharmony_ci#define MDP4_XML 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci/* Autogenerated file, DO NOT EDIT manually! 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciThis file was generated by the rules-ng-ng headergen tool in this git repository: 78c2ecf20Sopenharmony_cihttp://github.com/freedreno/envytools/ 88c2ecf20Sopenharmony_cigit clone https://github.com/freedreno/envytools.git 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciThe rules-ng-ng source files this header was generated from are: 118c2ecf20Sopenharmony_ci- /home/robclark/src/envytools/rnndb/msm.xml ( 676 bytes, from 2020-07-23 21:58:14) 128c2ecf20Sopenharmony_ci- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml ( 1572 bytes, from 2020-07-23 21:58:14) 138c2ecf20Sopenharmony_ci- /home/robclark/src/envytools/rnndb/mdp/mdp4.xml ( 20915 bytes, from 2020-07-23 21:58:14) 148c2ecf20Sopenharmony_ci- /home/robclark/src/envytools/rnndb/mdp/mdp_common.xml ( 2849 bytes, from 2020-07-23 21:58:14) 158c2ecf20Sopenharmony_ci- /home/robclark/src/envytools/rnndb/mdp/mdp5.xml ( 37411 bytes, from 2020-07-23 21:58:14) 168c2ecf20Sopenharmony_ci- /home/robclark/src/envytools/rnndb/dsi/dsi.xml ( 42301 bytes, from 2020-07-23 21:58:14) 178c2ecf20Sopenharmony_ci- /home/robclark/src/envytools/rnndb/dsi/sfpb.xml ( 602 bytes, from 2020-07-23 21:58:14) 188c2ecf20Sopenharmony_ci- /home/robclark/src/envytools/rnndb/dsi/mmss_cc.xml ( 1686 bytes, from 2020-07-23 21:58:14) 198c2ecf20Sopenharmony_ci- /home/robclark/src/envytools/rnndb/hdmi/qfprom.xml ( 600 bytes, from 2020-07-23 21:58:14) 208c2ecf20Sopenharmony_ci- /home/robclark/src/envytools/rnndb/hdmi/hdmi.xml ( 41874 bytes, from 2020-07-23 21:58:14) 218c2ecf20Sopenharmony_ci- /home/robclark/src/envytools/rnndb/edp/edp.xml ( 10416 bytes, from 2020-07-23 21:58:14) 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciCopyright (C) 2013-2020 by the following authors: 248c2ecf20Sopenharmony_ci- Rob Clark <robdclark@gmail.com> (robclark) 258c2ecf20Sopenharmony_ci- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin) 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining 288c2ecf20Sopenharmony_cia copy of this software and associated documentation files (the 298c2ecf20Sopenharmony_ci"Software"), to deal in the Software without restriction, including 308c2ecf20Sopenharmony_ciwithout limitation the rights to use, copy, modify, merge, publish, 318c2ecf20Sopenharmony_cidistribute, sublicense, and/or sell copies of the Software, and to 328c2ecf20Sopenharmony_cipermit persons to whom the Software is furnished to do so, subject to 338c2ecf20Sopenharmony_cithe following conditions: 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciThe above copyright notice and this permission notice (including the 368c2ecf20Sopenharmony_cinext paragraph) shall be included in all copies or substantial 378c2ecf20Sopenharmony_ciportions of the Software. 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ciTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 408c2ecf20Sopenharmony_ciEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 418c2ecf20Sopenharmony_ciMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 428c2ecf20Sopenharmony_ciIN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE 438c2ecf20Sopenharmony_ciLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 448c2ecf20Sopenharmony_ciOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 458c2ecf20Sopenharmony_ciWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 468c2ecf20Sopenharmony_ci*/ 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_cienum mdp4_pipe { 508c2ecf20Sopenharmony_ci VG1 = 0, 518c2ecf20Sopenharmony_ci VG2 = 1, 528c2ecf20Sopenharmony_ci RGB1 = 2, 538c2ecf20Sopenharmony_ci RGB2 = 3, 548c2ecf20Sopenharmony_ci RGB3 = 4, 558c2ecf20Sopenharmony_ci VG3 = 5, 568c2ecf20Sopenharmony_ci VG4 = 6, 578c2ecf20Sopenharmony_ci}; 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_cienum mdp4_mixer { 608c2ecf20Sopenharmony_ci MIXER0 = 0, 618c2ecf20Sopenharmony_ci MIXER1 = 1, 628c2ecf20Sopenharmony_ci MIXER2 = 2, 638c2ecf20Sopenharmony_ci}; 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_cienum mdp4_intf { 668c2ecf20Sopenharmony_ci INTF_LCDC_DTV = 0, 678c2ecf20Sopenharmony_ci INTF_DSI_VIDEO = 1, 688c2ecf20Sopenharmony_ci INTF_DSI_CMD = 2, 698c2ecf20Sopenharmony_ci INTF_EBI2_TV = 3, 708c2ecf20Sopenharmony_ci}; 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_cienum mdp4_cursor_format { 738c2ecf20Sopenharmony_ci CURSOR_ARGB = 1, 748c2ecf20Sopenharmony_ci CURSOR_XRGB = 2, 758c2ecf20Sopenharmony_ci}; 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_cienum mdp4_frame_format { 788c2ecf20Sopenharmony_ci FRAME_LINEAR = 0, 798c2ecf20Sopenharmony_ci FRAME_TILE_ARGB_4X4 = 1, 808c2ecf20Sopenharmony_ci FRAME_TILE_YCBCR_420 = 2, 818c2ecf20Sopenharmony_ci}; 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_cienum mdp4_scale_unit { 848c2ecf20Sopenharmony_ci SCALE_FIR = 0, 858c2ecf20Sopenharmony_ci SCALE_MN_PHASE = 1, 868c2ecf20Sopenharmony_ci SCALE_PIXEL_RPT = 2, 878c2ecf20Sopenharmony_ci}; 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_cienum mdp4_dma { 908c2ecf20Sopenharmony_ci DMA_P = 0, 918c2ecf20Sopenharmony_ci DMA_S = 1, 928c2ecf20Sopenharmony_ci DMA_E = 2, 938c2ecf20Sopenharmony_ci}; 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci#define MDP4_IRQ_OVERLAY0_DONE 0x00000001 968c2ecf20Sopenharmony_ci#define MDP4_IRQ_OVERLAY1_DONE 0x00000002 978c2ecf20Sopenharmony_ci#define MDP4_IRQ_DMA_S_DONE 0x00000004 988c2ecf20Sopenharmony_ci#define MDP4_IRQ_DMA_E_DONE 0x00000008 998c2ecf20Sopenharmony_ci#define MDP4_IRQ_DMA_P_DONE 0x00000010 1008c2ecf20Sopenharmony_ci#define MDP4_IRQ_VG1_HISTOGRAM 0x00000020 1018c2ecf20Sopenharmony_ci#define MDP4_IRQ_VG2_HISTOGRAM 0x00000040 1028c2ecf20Sopenharmony_ci#define MDP4_IRQ_PRIMARY_VSYNC 0x00000080 1038c2ecf20Sopenharmony_ci#define MDP4_IRQ_PRIMARY_INTF_UDERRUN 0x00000100 1048c2ecf20Sopenharmony_ci#define MDP4_IRQ_EXTERNAL_VSYNC 0x00000200 1058c2ecf20Sopenharmony_ci#define MDP4_IRQ_EXTERNAL_INTF_UDERRUN 0x00000400 1068c2ecf20Sopenharmony_ci#define MDP4_IRQ_PRIMARY_RDPTR 0x00000800 1078c2ecf20Sopenharmony_ci#define MDP4_IRQ_DMA_P_HISTOGRAM 0x00020000 1088c2ecf20Sopenharmony_ci#define MDP4_IRQ_DMA_S_HISTOGRAM 0x04000000 1098c2ecf20Sopenharmony_ci#define MDP4_IRQ_OVERLAY2_DONE 0x40000000 1108c2ecf20Sopenharmony_ci#define REG_MDP4_VERSION 0x00000000 1118c2ecf20Sopenharmony_ci#define MDP4_VERSION_MINOR__MASK 0x00ff0000 1128c2ecf20Sopenharmony_ci#define MDP4_VERSION_MINOR__SHIFT 16 1138c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_VERSION_MINOR(uint32_t val) 1148c2ecf20Sopenharmony_ci{ 1158c2ecf20Sopenharmony_ci return ((val) << MDP4_VERSION_MINOR__SHIFT) & MDP4_VERSION_MINOR__MASK; 1168c2ecf20Sopenharmony_ci} 1178c2ecf20Sopenharmony_ci#define MDP4_VERSION_MAJOR__MASK 0xff000000 1188c2ecf20Sopenharmony_ci#define MDP4_VERSION_MAJOR__SHIFT 24 1198c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_VERSION_MAJOR(uint32_t val) 1208c2ecf20Sopenharmony_ci{ 1218c2ecf20Sopenharmony_ci return ((val) << MDP4_VERSION_MAJOR__SHIFT) & MDP4_VERSION_MAJOR__MASK; 1228c2ecf20Sopenharmony_ci} 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci#define REG_MDP4_OVLP0_KICK 0x00000004 1258c2ecf20Sopenharmony_ci 1268c2ecf20Sopenharmony_ci#define REG_MDP4_OVLP1_KICK 0x00000008 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ci#define REG_MDP4_OVLP2_KICK 0x000000d0 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ci#define REG_MDP4_DMA_P_KICK 0x0000000c 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci#define REG_MDP4_DMA_S_KICK 0x00000010 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ci#define REG_MDP4_DMA_E_KICK 0x00000014 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci#define REG_MDP4_DISP_STATUS 0x00000018 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci#define REG_MDP4_DISP_INTF_SEL 0x00000038 1398c2ecf20Sopenharmony_ci#define MDP4_DISP_INTF_SEL_PRIM__MASK 0x00000003 1408c2ecf20Sopenharmony_ci#define MDP4_DISP_INTF_SEL_PRIM__SHIFT 0 1418c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DISP_INTF_SEL_PRIM(enum mdp4_intf val) 1428c2ecf20Sopenharmony_ci{ 1438c2ecf20Sopenharmony_ci return ((val) << MDP4_DISP_INTF_SEL_PRIM__SHIFT) & MDP4_DISP_INTF_SEL_PRIM__MASK; 1448c2ecf20Sopenharmony_ci} 1458c2ecf20Sopenharmony_ci#define MDP4_DISP_INTF_SEL_SEC__MASK 0x0000000c 1468c2ecf20Sopenharmony_ci#define MDP4_DISP_INTF_SEL_SEC__SHIFT 2 1478c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DISP_INTF_SEL_SEC(enum mdp4_intf val) 1488c2ecf20Sopenharmony_ci{ 1498c2ecf20Sopenharmony_ci return ((val) << MDP4_DISP_INTF_SEL_SEC__SHIFT) & MDP4_DISP_INTF_SEL_SEC__MASK; 1508c2ecf20Sopenharmony_ci} 1518c2ecf20Sopenharmony_ci#define MDP4_DISP_INTF_SEL_EXT__MASK 0x00000030 1528c2ecf20Sopenharmony_ci#define MDP4_DISP_INTF_SEL_EXT__SHIFT 4 1538c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DISP_INTF_SEL_EXT(enum mdp4_intf val) 1548c2ecf20Sopenharmony_ci{ 1558c2ecf20Sopenharmony_ci return ((val) << MDP4_DISP_INTF_SEL_EXT__SHIFT) & MDP4_DISP_INTF_SEL_EXT__MASK; 1568c2ecf20Sopenharmony_ci} 1578c2ecf20Sopenharmony_ci#define MDP4_DISP_INTF_SEL_DSI_VIDEO 0x00000040 1588c2ecf20Sopenharmony_ci#define MDP4_DISP_INTF_SEL_DSI_CMD 0x00000080 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ci#define REG_MDP4_RESET_STATUS 0x0000003c 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_ci#define REG_MDP4_READ_CNFG 0x0000004c 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci#define REG_MDP4_INTR_ENABLE 0x00000050 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_ci#define REG_MDP4_INTR_STATUS 0x00000054 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ci#define REG_MDP4_INTR_CLEAR 0x00000058 1698c2ecf20Sopenharmony_ci 1708c2ecf20Sopenharmony_ci#define REG_MDP4_EBI2_LCD0 0x00000060 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ci#define REG_MDP4_EBI2_LCD1 0x00000064 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ci#define REG_MDP4_PORTMAP_MODE 0x00000070 1758c2ecf20Sopenharmony_ci 1768c2ecf20Sopenharmony_ci#define REG_MDP4_CS_CONTROLLER0 0x000000c0 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ci#define REG_MDP4_CS_CONTROLLER1 0x000000c4 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ci#define REG_MDP4_LAYERMIXER2_IN_CFG 0x000100f0 1818c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE0__MASK 0x00000007 1828c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE0__SHIFT 0 1838c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE0(enum mdp_mixer_stage_id val) 1848c2ecf20Sopenharmony_ci{ 1858c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE0__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE0__MASK; 1868c2ecf20Sopenharmony_ci} 1878c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE0_MIXER1 0x00000008 1888c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE1__MASK 0x00000070 1898c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE1__SHIFT 4 1908c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE1(enum mdp_mixer_stage_id val) 1918c2ecf20Sopenharmony_ci{ 1928c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE1__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE1__MASK; 1938c2ecf20Sopenharmony_ci} 1948c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE1_MIXER1 0x00000080 1958c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE2__MASK 0x00000700 1968c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE2__SHIFT 8 1978c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE2(enum mdp_mixer_stage_id val) 1988c2ecf20Sopenharmony_ci{ 1998c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE2__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE2__MASK; 2008c2ecf20Sopenharmony_ci} 2018c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE2_MIXER1 0x00000800 2028c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE3__MASK 0x00007000 2038c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE3__SHIFT 12 2048c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE3(enum mdp_mixer_stage_id val) 2058c2ecf20Sopenharmony_ci{ 2068c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE3__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE3__MASK; 2078c2ecf20Sopenharmony_ci} 2088c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE3_MIXER1 0x00008000 2098c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE4__MASK 0x00070000 2108c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE4__SHIFT 16 2118c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE4(enum mdp_mixer_stage_id val) 2128c2ecf20Sopenharmony_ci{ 2138c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE4__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE4__MASK; 2148c2ecf20Sopenharmony_ci} 2158c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE4_MIXER1 0x00080000 2168c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE5__MASK 0x00700000 2178c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE5__SHIFT 20 2188c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE5(enum mdp_mixer_stage_id val) 2198c2ecf20Sopenharmony_ci{ 2208c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE5__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE5__MASK; 2218c2ecf20Sopenharmony_ci} 2228c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE5_MIXER1 0x00800000 2238c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE6__MASK 0x07000000 2248c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE6__SHIFT 24 2258c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE6(enum mdp_mixer_stage_id val) 2268c2ecf20Sopenharmony_ci{ 2278c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE6__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE6__MASK; 2288c2ecf20Sopenharmony_ci} 2298c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE6_MIXER1 0x08000000 2308c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE7__MASK 0x70000000 2318c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE7__SHIFT 28 2328c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER2_IN_CFG_PIPE7(enum mdp_mixer_stage_id val) 2338c2ecf20Sopenharmony_ci{ 2348c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER2_IN_CFG_PIPE7__SHIFT) & MDP4_LAYERMIXER2_IN_CFG_PIPE7__MASK; 2358c2ecf20Sopenharmony_ci} 2368c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER2_IN_CFG_PIPE7_MIXER1 0x80000000 2378c2ecf20Sopenharmony_ci 2388c2ecf20Sopenharmony_ci#define REG_MDP4_LAYERMIXER_IN_CFG_UPDATE_METHOD 0x000100fc 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ci#define REG_MDP4_LAYERMIXER_IN_CFG 0x00010100 2418c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE0__MASK 0x00000007 2428c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE0__SHIFT 0 2438c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE0(enum mdp_mixer_stage_id val) 2448c2ecf20Sopenharmony_ci{ 2458c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE0__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE0__MASK; 2468c2ecf20Sopenharmony_ci} 2478c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE0_MIXER1 0x00000008 2488c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE1__MASK 0x00000070 2498c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE1__SHIFT 4 2508c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE1(enum mdp_mixer_stage_id val) 2518c2ecf20Sopenharmony_ci{ 2528c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE1__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE1__MASK; 2538c2ecf20Sopenharmony_ci} 2548c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE1_MIXER1 0x00000080 2558c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE2__MASK 0x00000700 2568c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE2__SHIFT 8 2578c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE2(enum mdp_mixer_stage_id val) 2588c2ecf20Sopenharmony_ci{ 2598c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE2__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE2__MASK; 2608c2ecf20Sopenharmony_ci} 2618c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE2_MIXER1 0x00000800 2628c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE3__MASK 0x00007000 2638c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE3__SHIFT 12 2648c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE3(enum mdp_mixer_stage_id val) 2658c2ecf20Sopenharmony_ci{ 2668c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE3__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE3__MASK; 2678c2ecf20Sopenharmony_ci} 2688c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE3_MIXER1 0x00008000 2698c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE4__MASK 0x00070000 2708c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE4__SHIFT 16 2718c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE4(enum mdp_mixer_stage_id val) 2728c2ecf20Sopenharmony_ci{ 2738c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE4__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE4__MASK; 2748c2ecf20Sopenharmony_ci} 2758c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE4_MIXER1 0x00080000 2768c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE5__MASK 0x00700000 2778c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE5__SHIFT 20 2788c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE5(enum mdp_mixer_stage_id val) 2798c2ecf20Sopenharmony_ci{ 2808c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE5__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE5__MASK; 2818c2ecf20Sopenharmony_ci} 2828c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE5_MIXER1 0x00800000 2838c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE6__MASK 0x07000000 2848c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE6__SHIFT 24 2858c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE6(enum mdp_mixer_stage_id val) 2868c2ecf20Sopenharmony_ci{ 2878c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE6__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE6__MASK; 2888c2ecf20Sopenharmony_ci} 2898c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE6_MIXER1 0x08000000 2908c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE7__MASK 0x70000000 2918c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE7__SHIFT 28 2928c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LAYERMIXER_IN_CFG_PIPE7(enum mdp_mixer_stage_id val) 2938c2ecf20Sopenharmony_ci{ 2948c2ecf20Sopenharmony_ci return ((val) << MDP4_LAYERMIXER_IN_CFG_PIPE7__SHIFT) & MDP4_LAYERMIXER_IN_CFG_PIPE7__MASK; 2958c2ecf20Sopenharmony_ci} 2968c2ecf20Sopenharmony_ci#define MDP4_LAYERMIXER_IN_CFG_PIPE7_MIXER1 0x80000000 2978c2ecf20Sopenharmony_ci 2988c2ecf20Sopenharmony_ci#define REG_MDP4_VG2_SRC_FORMAT 0x00030050 2998c2ecf20Sopenharmony_ci 3008c2ecf20Sopenharmony_ci#define REG_MDP4_VG2_CONST_COLOR 0x00031008 3018c2ecf20Sopenharmony_ci 3028c2ecf20Sopenharmony_ci#define REG_MDP4_OVERLAY_FLUSH 0x00018000 3038c2ecf20Sopenharmony_ci#define MDP4_OVERLAY_FLUSH_OVLP0 0x00000001 3048c2ecf20Sopenharmony_ci#define MDP4_OVERLAY_FLUSH_OVLP1 0x00000002 3058c2ecf20Sopenharmony_ci#define MDP4_OVERLAY_FLUSH_VG1 0x00000004 3068c2ecf20Sopenharmony_ci#define MDP4_OVERLAY_FLUSH_VG2 0x00000008 3078c2ecf20Sopenharmony_ci#define MDP4_OVERLAY_FLUSH_RGB1 0x00000010 3088c2ecf20Sopenharmony_ci#define MDP4_OVERLAY_FLUSH_RGB2 0x00000020 3098c2ecf20Sopenharmony_ci 3108c2ecf20Sopenharmony_cistatic inline uint32_t __offset_OVLP(uint32_t idx) 3118c2ecf20Sopenharmony_ci{ 3128c2ecf20Sopenharmony_ci switch (idx) { 3138c2ecf20Sopenharmony_ci case 0: return 0x00010000; 3148c2ecf20Sopenharmony_ci case 1: return 0x00018000; 3158c2ecf20Sopenharmony_ci case 2: return 0x00088000; 3168c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 3178c2ecf20Sopenharmony_ci } 3188c2ecf20Sopenharmony_ci} 3198c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP(uint32_t i0) { return 0x00000000 + __offset_OVLP(i0); } 3208c2ecf20Sopenharmony_ci 3218c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_CFG(uint32_t i0) { return 0x00000004 + __offset_OVLP(i0); } 3228c2ecf20Sopenharmony_ci 3238c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_SIZE(uint32_t i0) { return 0x00000008 + __offset_OVLP(i0); } 3248c2ecf20Sopenharmony_ci#define MDP4_OVLP_SIZE_HEIGHT__MASK 0xffff0000 3258c2ecf20Sopenharmony_ci#define MDP4_OVLP_SIZE_HEIGHT__SHIFT 16 3268c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_OVLP_SIZE_HEIGHT(uint32_t val) 3278c2ecf20Sopenharmony_ci{ 3288c2ecf20Sopenharmony_ci return ((val) << MDP4_OVLP_SIZE_HEIGHT__SHIFT) & MDP4_OVLP_SIZE_HEIGHT__MASK; 3298c2ecf20Sopenharmony_ci} 3308c2ecf20Sopenharmony_ci#define MDP4_OVLP_SIZE_WIDTH__MASK 0x0000ffff 3318c2ecf20Sopenharmony_ci#define MDP4_OVLP_SIZE_WIDTH__SHIFT 0 3328c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_OVLP_SIZE_WIDTH(uint32_t val) 3338c2ecf20Sopenharmony_ci{ 3348c2ecf20Sopenharmony_ci return ((val) << MDP4_OVLP_SIZE_WIDTH__SHIFT) & MDP4_OVLP_SIZE_WIDTH__MASK; 3358c2ecf20Sopenharmony_ci} 3368c2ecf20Sopenharmony_ci 3378c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_BASE(uint32_t i0) { return 0x0000000c + __offset_OVLP(i0); } 3388c2ecf20Sopenharmony_ci 3398c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_STRIDE(uint32_t i0) { return 0x00000010 + __offset_OVLP(i0); } 3408c2ecf20Sopenharmony_ci 3418c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_OPMODE(uint32_t i0) { return 0x00000014 + __offset_OVLP(i0); } 3428c2ecf20Sopenharmony_ci 3438c2ecf20Sopenharmony_cistatic inline uint32_t __offset_STAGE(uint32_t idx) 3448c2ecf20Sopenharmony_ci{ 3458c2ecf20Sopenharmony_ci switch (idx) { 3468c2ecf20Sopenharmony_ci case 0: return 0x00000104; 3478c2ecf20Sopenharmony_ci case 1: return 0x00000124; 3488c2ecf20Sopenharmony_ci case 2: return 0x00000144; 3498c2ecf20Sopenharmony_ci case 3: return 0x00000160; 3508c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 3518c2ecf20Sopenharmony_ci } 3528c2ecf20Sopenharmony_ci} 3538c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_STAGE(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_OVLP(i0) + __offset_STAGE(i1); } 3548c2ecf20Sopenharmony_ci 3558c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_STAGE_OP(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_OVLP(i0) + __offset_STAGE(i1); } 3568c2ecf20Sopenharmony_ci#define MDP4_OVLP_STAGE_OP_FG_ALPHA__MASK 0x00000003 3578c2ecf20Sopenharmony_ci#define MDP4_OVLP_STAGE_OP_FG_ALPHA__SHIFT 0 3588c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_OVLP_STAGE_OP_FG_ALPHA(enum mdp_alpha_type val) 3598c2ecf20Sopenharmony_ci{ 3608c2ecf20Sopenharmony_ci return ((val) << MDP4_OVLP_STAGE_OP_FG_ALPHA__SHIFT) & MDP4_OVLP_STAGE_OP_FG_ALPHA__MASK; 3618c2ecf20Sopenharmony_ci} 3628c2ecf20Sopenharmony_ci#define MDP4_OVLP_STAGE_OP_FG_INV_ALPHA 0x00000004 3638c2ecf20Sopenharmony_ci#define MDP4_OVLP_STAGE_OP_FG_MOD_ALPHA 0x00000008 3648c2ecf20Sopenharmony_ci#define MDP4_OVLP_STAGE_OP_BG_ALPHA__MASK 0x00000030 3658c2ecf20Sopenharmony_ci#define MDP4_OVLP_STAGE_OP_BG_ALPHA__SHIFT 4 3668c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_OVLP_STAGE_OP_BG_ALPHA(enum mdp_alpha_type val) 3678c2ecf20Sopenharmony_ci{ 3688c2ecf20Sopenharmony_ci return ((val) << MDP4_OVLP_STAGE_OP_BG_ALPHA__SHIFT) & MDP4_OVLP_STAGE_OP_BG_ALPHA__MASK; 3698c2ecf20Sopenharmony_ci} 3708c2ecf20Sopenharmony_ci#define MDP4_OVLP_STAGE_OP_BG_INV_ALPHA 0x00000040 3718c2ecf20Sopenharmony_ci#define MDP4_OVLP_STAGE_OP_BG_MOD_ALPHA 0x00000080 3728c2ecf20Sopenharmony_ci#define MDP4_OVLP_STAGE_OP_FG_TRANSP 0x00000100 3738c2ecf20Sopenharmony_ci#define MDP4_OVLP_STAGE_OP_BG_TRANSP 0x00000200 3748c2ecf20Sopenharmony_ci 3758c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_STAGE_FG_ALPHA(uint32_t i0, uint32_t i1) { return 0x00000004 + __offset_OVLP(i0) + __offset_STAGE(i1); } 3768c2ecf20Sopenharmony_ci 3778c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_STAGE_BG_ALPHA(uint32_t i0, uint32_t i1) { return 0x00000008 + __offset_OVLP(i0) + __offset_STAGE(i1); } 3788c2ecf20Sopenharmony_ci 3798c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_STAGE_TRANSP_LOW0(uint32_t i0, uint32_t i1) { return 0x0000000c + __offset_OVLP(i0) + __offset_STAGE(i1); } 3808c2ecf20Sopenharmony_ci 3818c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_STAGE_TRANSP_LOW1(uint32_t i0, uint32_t i1) { return 0x00000010 + __offset_OVLP(i0) + __offset_STAGE(i1); } 3828c2ecf20Sopenharmony_ci 3838c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_STAGE_TRANSP_HIGH0(uint32_t i0, uint32_t i1) { return 0x00000014 + __offset_OVLP(i0) + __offset_STAGE(i1); } 3848c2ecf20Sopenharmony_ci 3858c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_STAGE_TRANSP_HIGH1(uint32_t i0, uint32_t i1) { return 0x00000018 + __offset_OVLP(i0) + __offset_STAGE(i1); } 3868c2ecf20Sopenharmony_ci 3878c2ecf20Sopenharmony_cistatic inline uint32_t __offset_STAGE_CO3(uint32_t idx) 3888c2ecf20Sopenharmony_ci{ 3898c2ecf20Sopenharmony_ci switch (idx) { 3908c2ecf20Sopenharmony_ci case 0: return 0x00001004; 3918c2ecf20Sopenharmony_ci case 1: return 0x00001404; 3928c2ecf20Sopenharmony_ci case 2: return 0x00001804; 3938c2ecf20Sopenharmony_ci case 3: return 0x00001b84; 3948c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 3958c2ecf20Sopenharmony_ci } 3968c2ecf20Sopenharmony_ci} 3978c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_STAGE_CO3(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_OVLP(i0) + __offset_STAGE_CO3(i1); } 3988c2ecf20Sopenharmony_ci 3998c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_STAGE_CO3_SEL(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_OVLP(i0) + __offset_STAGE_CO3(i1); } 4008c2ecf20Sopenharmony_ci#define MDP4_OVLP_STAGE_CO3_SEL_FG_ALPHA 0x00000001 4018c2ecf20Sopenharmony_ci 4028c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_TRANSP_LOW0(uint32_t i0) { return 0x00000180 + __offset_OVLP(i0); } 4038c2ecf20Sopenharmony_ci 4048c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_TRANSP_LOW1(uint32_t i0) { return 0x00000184 + __offset_OVLP(i0); } 4058c2ecf20Sopenharmony_ci 4068c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_TRANSP_HIGH0(uint32_t i0) { return 0x00000188 + __offset_OVLP(i0); } 4078c2ecf20Sopenharmony_ci 4088c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_TRANSP_HIGH1(uint32_t i0) { return 0x0000018c + __offset_OVLP(i0); } 4098c2ecf20Sopenharmony_ci 4108c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_CSC_CONFIG(uint32_t i0) { return 0x00000200 + __offset_OVLP(i0); } 4118c2ecf20Sopenharmony_ci 4128c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_CSC(uint32_t i0) { return 0x00002000 + __offset_OVLP(i0); } 4138c2ecf20Sopenharmony_ci 4148c2ecf20Sopenharmony_ci 4158c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_CSC_MV(uint32_t i0, uint32_t i1) { return 0x00002400 + __offset_OVLP(i0) + 0x4*i1; } 4168c2ecf20Sopenharmony_ci 4178c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_CSC_MV_VAL(uint32_t i0, uint32_t i1) { return 0x00002400 + __offset_OVLP(i0) + 0x4*i1; } 4188c2ecf20Sopenharmony_ci 4198c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_CSC_PRE_BV(uint32_t i0, uint32_t i1) { return 0x00002500 + __offset_OVLP(i0) + 0x4*i1; } 4208c2ecf20Sopenharmony_ci 4218c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_CSC_PRE_BV_VAL(uint32_t i0, uint32_t i1) { return 0x00002500 + __offset_OVLP(i0) + 0x4*i1; } 4228c2ecf20Sopenharmony_ci 4238c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_CSC_POST_BV(uint32_t i0, uint32_t i1) { return 0x00002580 + __offset_OVLP(i0) + 0x4*i1; } 4248c2ecf20Sopenharmony_ci 4258c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_CSC_POST_BV_VAL(uint32_t i0, uint32_t i1) { return 0x00002580 + __offset_OVLP(i0) + 0x4*i1; } 4268c2ecf20Sopenharmony_ci 4278c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_CSC_PRE_LV(uint32_t i0, uint32_t i1) { return 0x00002600 + __offset_OVLP(i0) + 0x4*i1; } 4288c2ecf20Sopenharmony_ci 4298c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_CSC_PRE_LV_VAL(uint32_t i0, uint32_t i1) { return 0x00002600 + __offset_OVLP(i0) + 0x4*i1; } 4308c2ecf20Sopenharmony_ci 4318c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_CSC_POST_LV(uint32_t i0, uint32_t i1) { return 0x00002680 + __offset_OVLP(i0) + 0x4*i1; } 4328c2ecf20Sopenharmony_ci 4338c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_OVLP_CSC_POST_LV_VAL(uint32_t i0, uint32_t i1) { return 0x00002680 + __offset_OVLP(i0) + 0x4*i1; } 4348c2ecf20Sopenharmony_ci 4358c2ecf20Sopenharmony_ci#define REG_MDP4_DMA_P_OP_MODE 0x00090070 4368c2ecf20Sopenharmony_ci 4378c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_LUTN(uint32_t i0) { return 0x00094800 + 0x400*i0; } 4388c2ecf20Sopenharmony_ci 4398c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_LUTN_LUT(uint32_t i0, uint32_t i1) { return 0x00094800 + 0x400*i0 + 0x4*i1; } 4408c2ecf20Sopenharmony_ci 4418c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_LUTN_LUT_VAL(uint32_t i0, uint32_t i1) { return 0x00094800 + 0x400*i0 + 0x4*i1; } 4428c2ecf20Sopenharmony_ci 4438c2ecf20Sopenharmony_ci#define REG_MDP4_DMA_S_OP_MODE 0x000a0028 4448c2ecf20Sopenharmony_ci 4458c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_E_QUANT(uint32_t i0) { return 0x000b0070 + 0x4*i0; } 4468c2ecf20Sopenharmony_ci 4478c2ecf20Sopenharmony_cistatic inline uint32_t __offset_DMA(enum mdp4_dma idx) 4488c2ecf20Sopenharmony_ci{ 4498c2ecf20Sopenharmony_ci switch (idx) { 4508c2ecf20Sopenharmony_ci case DMA_P: return 0x00090000; 4518c2ecf20Sopenharmony_ci case DMA_S: return 0x000a0000; 4528c2ecf20Sopenharmony_ci case DMA_E: return 0x000b0000; 4538c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 4548c2ecf20Sopenharmony_ci } 4558c2ecf20Sopenharmony_ci} 4568c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA(enum mdp4_dma i0) { return 0x00000000 + __offset_DMA(i0); } 4578c2ecf20Sopenharmony_ci 4588c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CONFIG(enum mdp4_dma i0) { return 0x00000000 + __offset_DMA(i0); } 4598c2ecf20Sopenharmony_ci#define MDP4_DMA_CONFIG_G_BPC__MASK 0x00000003 4608c2ecf20Sopenharmony_ci#define MDP4_DMA_CONFIG_G_BPC__SHIFT 0 4618c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DMA_CONFIG_G_BPC(enum mdp_bpc val) 4628c2ecf20Sopenharmony_ci{ 4638c2ecf20Sopenharmony_ci return ((val) << MDP4_DMA_CONFIG_G_BPC__SHIFT) & MDP4_DMA_CONFIG_G_BPC__MASK; 4648c2ecf20Sopenharmony_ci} 4658c2ecf20Sopenharmony_ci#define MDP4_DMA_CONFIG_B_BPC__MASK 0x0000000c 4668c2ecf20Sopenharmony_ci#define MDP4_DMA_CONFIG_B_BPC__SHIFT 2 4678c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DMA_CONFIG_B_BPC(enum mdp_bpc val) 4688c2ecf20Sopenharmony_ci{ 4698c2ecf20Sopenharmony_ci return ((val) << MDP4_DMA_CONFIG_B_BPC__SHIFT) & MDP4_DMA_CONFIG_B_BPC__MASK; 4708c2ecf20Sopenharmony_ci} 4718c2ecf20Sopenharmony_ci#define MDP4_DMA_CONFIG_R_BPC__MASK 0x00000030 4728c2ecf20Sopenharmony_ci#define MDP4_DMA_CONFIG_R_BPC__SHIFT 4 4738c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DMA_CONFIG_R_BPC(enum mdp_bpc val) 4748c2ecf20Sopenharmony_ci{ 4758c2ecf20Sopenharmony_ci return ((val) << MDP4_DMA_CONFIG_R_BPC__SHIFT) & MDP4_DMA_CONFIG_R_BPC__MASK; 4768c2ecf20Sopenharmony_ci} 4778c2ecf20Sopenharmony_ci#define MDP4_DMA_CONFIG_PACK_ALIGN_MSB 0x00000080 4788c2ecf20Sopenharmony_ci#define MDP4_DMA_CONFIG_PACK__MASK 0x0000ff00 4798c2ecf20Sopenharmony_ci#define MDP4_DMA_CONFIG_PACK__SHIFT 8 4808c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DMA_CONFIG_PACK(uint32_t val) 4818c2ecf20Sopenharmony_ci{ 4828c2ecf20Sopenharmony_ci return ((val) << MDP4_DMA_CONFIG_PACK__SHIFT) & MDP4_DMA_CONFIG_PACK__MASK; 4838c2ecf20Sopenharmony_ci} 4848c2ecf20Sopenharmony_ci#define MDP4_DMA_CONFIG_DEFLKR_EN 0x01000000 4858c2ecf20Sopenharmony_ci#define MDP4_DMA_CONFIG_DITHER_EN 0x01000000 4868c2ecf20Sopenharmony_ci 4878c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_SRC_SIZE(enum mdp4_dma i0) { return 0x00000004 + __offset_DMA(i0); } 4888c2ecf20Sopenharmony_ci#define MDP4_DMA_SRC_SIZE_HEIGHT__MASK 0xffff0000 4898c2ecf20Sopenharmony_ci#define MDP4_DMA_SRC_SIZE_HEIGHT__SHIFT 16 4908c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DMA_SRC_SIZE_HEIGHT(uint32_t val) 4918c2ecf20Sopenharmony_ci{ 4928c2ecf20Sopenharmony_ci return ((val) << MDP4_DMA_SRC_SIZE_HEIGHT__SHIFT) & MDP4_DMA_SRC_SIZE_HEIGHT__MASK; 4938c2ecf20Sopenharmony_ci} 4948c2ecf20Sopenharmony_ci#define MDP4_DMA_SRC_SIZE_WIDTH__MASK 0x0000ffff 4958c2ecf20Sopenharmony_ci#define MDP4_DMA_SRC_SIZE_WIDTH__SHIFT 0 4968c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DMA_SRC_SIZE_WIDTH(uint32_t val) 4978c2ecf20Sopenharmony_ci{ 4988c2ecf20Sopenharmony_ci return ((val) << MDP4_DMA_SRC_SIZE_WIDTH__SHIFT) & MDP4_DMA_SRC_SIZE_WIDTH__MASK; 4998c2ecf20Sopenharmony_ci} 5008c2ecf20Sopenharmony_ci 5018c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_SRC_BASE(enum mdp4_dma i0) { return 0x00000008 + __offset_DMA(i0); } 5028c2ecf20Sopenharmony_ci 5038c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_SRC_STRIDE(enum mdp4_dma i0) { return 0x0000000c + __offset_DMA(i0); } 5048c2ecf20Sopenharmony_ci 5058c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_DST_SIZE(enum mdp4_dma i0) { return 0x00000010 + __offset_DMA(i0); } 5068c2ecf20Sopenharmony_ci#define MDP4_DMA_DST_SIZE_HEIGHT__MASK 0xffff0000 5078c2ecf20Sopenharmony_ci#define MDP4_DMA_DST_SIZE_HEIGHT__SHIFT 16 5088c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DMA_DST_SIZE_HEIGHT(uint32_t val) 5098c2ecf20Sopenharmony_ci{ 5108c2ecf20Sopenharmony_ci return ((val) << MDP4_DMA_DST_SIZE_HEIGHT__SHIFT) & MDP4_DMA_DST_SIZE_HEIGHT__MASK; 5118c2ecf20Sopenharmony_ci} 5128c2ecf20Sopenharmony_ci#define MDP4_DMA_DST_SIZE_WIDTH__MASK 0x0000ffff 5138c2ecf20Sopenharmony_ci#define MDP4_DMA_DST_SIZE_WIDTH__SHIFT 0 5148c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DMA_DST_SIZE_WIDTH(uint32_t val) 5158c2ecf20Sopenharmony_ci{ 5168c2ecf20Sopenharmony_ci return ((val) << MDP4_DMA_DST_SIZE_WIDTH__SHIFT) & MDP4_DMA_DST_SIZE_WIDTH__MASK; 5178c2ecf20Sopenharmony_ci} 5188c2ecf20Sopenharmony_ci 5198c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CURSOR_SIZE(enum mdp4_dma i0) { return 0x00000044 + __offset_DMA(i0); } 5208c2ecf20Sopenharmony_ci#define MDP4_DMA_CURSOR_SIZE_WIDTH__MASK 0x0000007f 5218c2ecf20Sopenharmony_ci#define MDP4_DMA_CURSOR_SIZE_WIDTH__SHIFT 0 5228c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DMA_CURSOR_SIZE_WIDTH(uint32_t val) 5238c2ecf20Sopenharmony_ci{ 5248c2ecf20Sopenharmony_ci return ((val) << MDP4_DMA_CURSOR_SIZE_WIDTH__SHIFT) & MDP4_DMA_CURSOR_SIZE_WIDTH__MASK; 5258c2ecf20Sopenharmony_ci} 5268c2ecf20Sopenharmony_ci#define MDP4_DMA_CURSOR_SIZE_HEIGHT__MASK 0x007f0000 5278c2ecf20Sopenharmony_ci#define MDP4_DMA_CURSOR_SIZE_HEIGHT__SHIFT 16 5288c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DMA_CURSOR_SIZE_HEIGHT(uint32_t val) 5298c2ecf20Sopenharmony_ci{ 5308c2ecf20Sopenharmony_ci return ((val) << MDP4_DMA_CURSOR_SIZE_HEIGHT__SHIFT) & MDP4_DMA_CURSOR_SIZE_HEIGHT__MASK; 5318c2ecf20Sopenharmony_ci} 5328c2ecf20Sopenharmony_ci 5338c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CURSOR_BASE(enum mdp4_dma i0) { return 0x00000048 + __offset_DMA(i0); } 5348c2ecf20Sopenharmony_ci 5358c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CURSOR_POS(enum mdp4_dma i0) { return 0x0000004c + __offset_DMA(i0); } 5368c2ecf20Sopenharmony_ci#define MDP4_DMA_CURSOR_POS_X__MASK 0x0000ffff 5378c2ecf20Sopenharmony_ci#define MDP4_DMA_CURSOR_POS_X__SHIFT 0 5388c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DMA_CURSOR_POS_X(uint32_t val) 5398c2ecf20Sopenharmony_ci{ 5408c2ecf20Sopenharmony_ci return ((val) << MDP4_DMA_CURSOR_POS_X__SHIFT) & MDP4_DMA_CURSOR_POS_X__MASK; 5418c2ecf20Sopenharmony_ci} 5428c2ecf20Sopenharmony_ci#define MDP4_DMA_CURSOR_POS_Y__MASK 0xffff0000 5438c2ecf20Sopenharmony_ci#define MDP4_DMA_CURSOR_POS_Y__SHIFT 16 5448c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DMA_CURSOR_POS_Y(uint32_t val) 5458c2ecf20Sopenharmony_ci{ 5468c2ecf20Sopenharmony_ci return ((val) << MDP4_DMA_CURSOR_POS_Y__SHIFT) & MDP4_DMA_CURSOR_POS_Y__MASK; 5478c2ecf20Sopenharmony_ci} 5488c2ecf20Sopenharmony_ci 5498c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CURSOR_BLEND_CONFIG(enum mdp4_dma i0) { return 0x00000060 + __offset_DMA(i0); } 5508c2ecf20Sopenharmony_ci#define MDP4_DMA_CURSOR_BLEND_CONFIG_CURSOR_EN 0x00000001 5518c2ecf20Sopenharmony_ci#define MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT__MASK 0x00000006 5528c2ecf20Sopenharmony_ci#define MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT__SHIFT 1 5538c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT(enum mdp4_cursor_format val) 5548c2ecf20Sopenharmony_ci{ 5558c2ecf20Sopenharmony_ci return ((val) << MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT__SHIFT) & MDP4_DMA_CURSOR_BLEND_CONFIG_FORMAT__MASK; 5568c2ecf20Sopenharmony_ci} 5578c2ecf20Sopenharmony_ci#define MDP4_DMA_CURSOR_BLEND_CONFIG_TRANSP_EN 0x00000008 5588c2ecf20Sopenharmony_ci 5598c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CURSOR_BLEND_PARAM(enum mdp4_dma i0) { return 0x00000064 + __offset_DMA(i0); } 5608c2ecf20Sopenharmony_ci 5618c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_BLEND_TRANS_LOW(enum mdp4_dma i0) { return 0x00000068 + __offset_DMA(i0); } 5628c2ecf20Sopenharmony_ci 5638c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_BLEND_TRANS_HIGH(enum mdp4_dma i0) { return 0x0000006c + __offset_DMA(i0); } 5648c2ecf20Sopenharmony_ci 5658c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_FETCH_CONFIG(enum mdp4_dma i0) { return 0x00001004 + __offset_DMA(i0); } 5668c2ecf20Sopenharmony_ci 5678c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CSC(enum mdp4_dma i0) { return 0x00003000 + __offset_DMA(i0); } 5688c2ecf20Sopenharmony_ci 5698c2ecf20Sopenharmony_ci 5708c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CSC_MV(enum mdp4_dma i0, uint32_t i1) { return 0x00003400 + __offset_DMA(i0) + 0x4*i1; } 5718c2ecf20Sopenharmony_ci 5728c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CSC_MV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003400 + __offset_DMA(i0) + 0x4*i1; } 5738c2ecf20Sopenharmony_ci 5748c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CSC_PRE_BV(enum mdp4_dma i0, uint32_t i1) { return 0x00003500 + __offset_DMA(i0) + 0x4*i1; } 5758c2ecf20Sopenharmony_ci 5768c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CSC_PRE_BV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003500 + __offset_DMA(i0) + 0x4*i1; } 5778c2ecf20Sopenharmony_ci 5788c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CSC_POST_BV(enum mdp4_dma i0, uint32_t i1) { return 0x00003580 + __offset_DMA(i0) + 0x4*i1; } 5798c2ecf20Sopenharmony_ci 5808c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CSC_POST_BV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003580 + __offset_DMA(i0) + 0x4*i1; } 5818c2ecf20Sopenharmony_ci 5828c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CSC_PRE_LV(enum mdp4_dma i0, uint32_t i1) { return 0x00003600 + __offset_DMA(i0) + 0x4*i1; } 5838c2ecf20Sopenharmony_ci 5848c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CSC_PRE_LV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003600 + __offset_DMA(i0) + 0x4*i1; } 5858c2ecf20Sopenharmony_ci 5868c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CSC_POST_LV(enum mdp4_dma i0, uint32_t i1) { return 0x00003680 + __offset_DMA(i0) + 0x4*i1; } 5878c2ecf20Sopenharmony_ci 5888c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_DMA_CSC_POST_LV_VAL(enum mdp4_dma i0, uint32_t i1) { return 0x00003680 + __offset_DMA(i0) + 0x4*i1; } 5898c2ecf20Sopenharmony_ci 5908c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE(enum mdp4_pipe i0) { return 0x00020000 + 0x10000*i0; } 5918c2ecf20Sopenharmony_ci 5928c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_SRC_SIZE(enum mdp4_pipe i0) { return 0x00020000 + 0x10000*i0; } 5938c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_SIZE_HEIGHT__MASK 0xffff0000 5948c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_SIZE_HEIGHT__SHIFT 16 5958c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_SIZE_HEIGHT(uint32_t val) 5968c2ecf20Sopenharmony_ci{ 5978c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_SIZE_HEIGHT__SHIFT) & MDP4_PIPE_SRC_SIZE_HEIGHT__MASK; 5988c2ecf20Sopenharmony_ci} 5998c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_SIZE_WIDTH__MASK 0x0000ffff 6008c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_SIZE_WIDTH__SHIFT 0 6018c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_SIZE_WIDTH(uint32_t val) 6028c2ecf20Sopenharmony_ci{ 6038c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_SIZE_WIDTH__SHIFT) & MDP4_PIPE_SRC_SIZE_WIDTH__MASK; 6048c2ecf20Sopenharmony_ci} 6058c2ecf20Sopenharmony_ci 6068c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_SRC_XY(enum mdp4_pipe i0) { return 0x00020004 + 0x10000*i0; } 6078c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_XY_Y__MASK 0xffff0000 6088c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_XY_Y__SHIFT 16 6098c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_XY_Y(uint32_t val) 6108c2ecf20Sopenharmony_ci{ 6118c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_XY_Y__SHIFT) & MDP4_PIPE_SRC_XY_Y__MASK; 6128c2ecf20Sopenharmony_ci} 6138c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_XY_X__MASK 0x0000ffff 6148c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_XY_X__SHIFT 0 6158c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_XY_X(uint32_t val) 6168c2ecf20Sopenharmony_ci{ 6178c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_XY_X__SHIFT) & MDP4_PIPE_SRC_XY_X__MASK; 6188c2ecf20Sopenharmony_ci} 6198c2ecf20Sopenharmony_ci 6208c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_DST_SIZE(enum mdp4_pipe i0) { return 0x00020008 + 0x10000*i0; } 6218c2ecf20Sopenharmony_ci#define MDP4_PIPE_DST_SIZE_HEIGHT__MASK 0xffff0000 6228c2ecf20Sopenharmony_ci#define MDP4_PIPE_DST_SIZE_HEIGHT__SHIFT 16 6238c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_DST_SIZE_HEIGHT(uint32_t val) 6248c2ecf20Sopenharmony_ci{ 6258c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_DST_SIZE_HEIGHT__SHIFT) & MDP4_PIPE_DST_SIZE_HEIGHT__MASK; 6268c2ecf20Sopenharmony_ci} 6278c2ecf20Sopenharmony_ci#define MDP4_PIPE_DST_SIZE_WIDTH__MASK 0x0000ffff 6288c2ecf20Sopenharmony_ci#define MDP4_PIPE_DST_SIZE_WIDTH__SHIFT 0 6298c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_DST_SIZE_WIDTH(uint32_t val) 6308c2ecf20Sopenharmony_ci{ 6318c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_DST_SIZE_WIDTH__SHIFT) & MDP4_PIPE_DST_SIZE_WIDTH__MASK; 6328c2ecf20Sopenharmony_ci} 6338c2ecf20Sopenharmony_ci 6348c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_DST_XY(enum mdp4_pipe i0) { return 0x0002000c + 0x10000*i0; } 6358c2ecf20Sopenharmony_ci#define MDP4_PIPE_DST_XY_Y__MASK 0xffff0000 6368c2ecf20Sopenharmony_ci#define MDP4_PIPE_DST_XY_Y__SHIFT 16 6378c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_DST_XY_Y(uint32_t val) 6388c2ecf20Sopenharmony_ci{ 6398c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_DST_XY_Y__SHIFT) & MDP4_PIPE_DST_XY_Y__MASK; 6408c2ecf20Sopenharmony_ci} 6418c2ecf20Sopenharmony_ci#define MDP4_PIPE_DST_XY_X__MASK 0x0000ffff 6428c2ecf20Sopenharmony_ci#define MDP4_PIPE_DST_XY_X__SHIFT 0 6438c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_DST_XY_X(uint32_t val) 6448c2ecf20Sopenharmony_ci{ 6458c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_DST_XY_X__SHIFT) & MDP4_PIPE_DST_XY_X__MASK; 6468c2ecf20Sopenharmony_ci} 6478c2ecf20Sopenharmony_ci 6488c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_SRCP0_BASE(enum mdp4_pipe i0) { return 0x00020010 + 0x10000*i0; } 6498c2ecf20Sopenharmony_ci 6508c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_SRCP1_BASE(enum mdp4_pipe i0) { return 0x00020014 + 0x10000*i0; } 6518c2ecf20Sopenharmony_ci 6528c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_SRCP2_BASE(enum mdp4_pipe i0) { return 0x00020018 + 0x10000*i0; } 6538c2ecf20Sopenharmony_ci 6548c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_SRCP3_BASE(enum mdp4_pipe i0) { return 0x0002001c + 0x10000*i0; } 6558c2ecf20Sopenharmony_ci 6568c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_SRC_STRIDE_A(enum mdp4_pipe i0) { return 0x00020040 + 0x10000*i0; } 6578c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_STRIDE_A_P0__MASK 0x0000ffff 6588c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_STRIDE_A_P0__SHIFT 0 6598c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_STRIDE_A_P0(uint32_t val) 6608c2ecf20Sopenharmony_ci{ 6618c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_STRIDE_A_P0__SHIFT) & MDP4_PIPE_SRC_STRIDE_A_P0__MASK; 6628c2ecf20Sopenharmony_ci} 6638c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_STRIDE_A_P1__MASK 0xffff0000 6648c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_STRIDE_A_P1__SHIFT 16 6658c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_STRIDE_A_P1(uint32_t val) 6668c2ecf20Sopenharmony_ci{ 6678c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_STRIDE_A_P1__SHIFT) & MDP4_PIPE_SRC_STRIDE_A_P1__MASK; 6688c2ecf20Sopenharmony_ci} 6698c2ecf20Sopenharmony_ci 6708c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_SRC_STRIDE_B(enum mdp4_pipe i0) { return 0x00020044 + 0x10000*i0; } 6718c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_STRIDE_B_P2__MASK 0x0000ffff 6728c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_STRIDE_B_P2__SHIFT 0 6738c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_STRIDE_B_P2(uint32_t val) 6748c2ecf20Sopenharmony_ci{ 6758c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_STRIDE_B_P2__SHIFT) & MDP4_PIPE_SRC_STRIDE_B_P2__MASK; 6768c2ecf20Sopenharmony_ci} 6778c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_STRIDE_B_P3__MASK 0xffff0000 6788c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_STRIDE_B_P3__SHIFT 16 6798c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_STRIDE_B_P3(uint32_t val) 6808c2ecf20Sopenharmony_ci{ 6818c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_STRIDE_B_P3__SHIFT) & MDP4_PIPE_SRC_STRIDE_B_P3__MASK; 6828c2ecf20Sopenharmony_ci} 6838c2ecf20Sopenharmony_ci 6848c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_SSTILE_FRAME_SIZE(enum mdp4_pipe i0) { return 0x00020048 + 0x10000*i0; } 6858c2ecf20Sopenharmony_ci#define MDP4_PIPE_SSTILE_FRAME_SIZE_HEIGHT__MASK 0xffff0000 6868c2ecf20Sopenharmony_ci#define MDP4_PIPE_SSTILE_FRAME_SIZE_HEIGHT__SHIFT 16 6878c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SSTILE_FRAME_SIZE_HEIGHT(uint32_t val) 6888c2ecf20Sopenharmony_ci{ 6898c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SSTILE_FRAME_SIZE_HEIGHT__SHIFT) & MDP4_PIPE_SSTILE_FRAME_SIZE_HEIGHT__MASK; 6908c2ecf20Sopenharmony_ci} 6918c2ecf20Sopenharmony_ci#define MDP4_PIPE_SSTILE_FRAME_SIZE_WIDTH__MASK 0x0000ffff 6928c2ecf20Sopenharmony_ci#define MDP4_PIPE_SSTILE_FRAME_SIZE_WIDTH__SHIFT 0 6938c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SSTILE_FRAME_SIZE_WIDTH(uint32_t val) 6948c2ecf20Sopenharmony_ci{ 6958c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SSTILE_FRAME_SIZE_WIDTH__SHIFT) & MDP4_PIPE_SSTILE_FRAME_SIZE_WIDTH__MASK; 6968c2ecf20Sopenharmony_ci} 6978c2ecf20Sopenharmony_ci 6988c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_SRC_FORMAT(enum mdp4_pipe i0) { return 0x00020050 + 0x10000*i0; } 6998c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_G_BPC__MASK 0x00000003 7008c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_G_BPC__SHIFT 0 7018c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_FORMAT_G_BPC(enum mdp_bpc val) 7028c2ecf20Sopenharmony_ci{ 7038c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_FORMAT_G_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_G_BPC__MASK; 7048c2ecf20Sopenharmony_ci} 7058c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_B_BPC__MASK 0x0000000c 7068c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_B_BPC__SHIFT 2 7078c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_FORMAT_B_BPC(enum mdp_bpc val) 7088c2ecf20Sopenharmony_ci{ 7098c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_FORMAT_B_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_B_BPC__MASK; 7108c2ecf20Sopenharmony_ci} 7118c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_R_BPC__MASK 0x00000030 7128c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_R_BPC__SHIFT 4 7138c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_FORMAT_R_BPC(enum mdp_bpc val) 7148c2ecf20Sopenharmony_ci{ 7158c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_FORMAT_R_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_R_BPC__MASK; 7168c2ecf20Sopenharmony_ci} 7178c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_A_BPC__MASK 0x000000c0 7188c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_A_BPC__SHIFT 6 7198c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_FORMAT_A_BPC(enum mdp_bpc_alpha val) 7208c2ecf20Sopenharmony_ci{ 7218c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_FORMAT_A_BPC__SHIFT) & MDP4_PIPE_SRC_FORMAT_A_BPC__MASK; 7228c2ecf20Sopenharmony_ci} 7238c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_ALPHA_ENABLE 0x00000100 7248c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_CPP__MASK 0x00000600 7258c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_CPP__SHIFT 9 7268c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_FORMAT_CPP(uint32_t val) 7278c2ecf20Sopenharmony_ci{ 7288c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_FORMAT_CPP__SHIFT) & MDP4_PIPE_SRC_FORMAT_CPP__MASK; 7298c2ecf20Sopenharmony_ci} 7308c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_ROTATED_90 0x00001000 7318c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT__MASK 0x00006000 7328c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT__SHIFT 13 7338c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT(uint32_t val) 7348c2ecf20Sopenharmony_ci{ 7358c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT__SHIFT) & MDP4_PIPE_SRC_FORMAT_UNPACK_COUNT__MASK; 7368c2ecf20Sopenharmony_ci} 7378c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_UNPACK_TIGHT 0x00020000 7388c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_UNPACK_ALIGN_MSB 0x00040000 7398c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_FETCH_PLANES__MASK 0x00180000 7408c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_FETCH_PLANES__SHIFT 19 7418c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_FORMAT_FETCH_PLANES(uint32_t val) 7428c2ecf20Sopenharmony_ci{ 7438c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_FORMAT_FETCH_PLANES__SHIFT) & MDP4_PIPE_SRC_FORMAT_FETCH_PLANES__MASK; 7448c2ecf20Sopenharmony_ci} 7458c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_SOLID_FILL 0x00400000 7468c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_CHROMA_SAMP__MASK 0x0c000000 7478c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_CHROMA_SAMP__SHIFT 26 7488c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_FORMAT_CHROMA_SAMP(enum mdp_chroma_samp_type val) 7498c2ecf20Sopenharmony_ci{ 7508c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_FORMAT_CHROMA_SAMP__SHIFT) & MDP4_PIPE_SRC_FORMAT_CHROMA_SAMP__MASK; 7518c2ecf20Sopenharmony_ci} 7528c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_FRAME_FORMAT__MASK 0x60000000 7538c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_FORMAT_FRAME_FORMAT__SHIFT 29 7548c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_FORMAT_FRAME_FORMAT(enum mdp4_frame_format val) 7558c2ecf20Sopenharmony_ci{ 7568c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_FORMAT_FRAME_FORMAT__SHIFT) & MDP4_PIPE_SRC_FORMAT_FRAME_FORMAT__MASK; 7578c2ecf20Sopenharmony_ci} 7588c2ecf20Sopenharmony_ci 7598c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_SRC_UNPACK(enum mdp4_pipe i0) { return 0x00020054 + 0x10000*i0; } 7608c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_UNPACK_ELEM0__MASK 0x000000ff 7618c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_UNPACK_ELEM0__SHIFT 0 7628c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_UNPACK_ELEM0(uint32_t val) 7638c2ecf20Sopenharmony_ci{ 7648c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_UNPACK_ELEM0__SHIFT) & MDP4_PIPE_SRC_UNPACK_ELEM0__MASK; 7658c2ecf20Sopenharmony_ci} 7668c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_UNPACK_ELEM1__MASK 0x0000ff00 7678c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_UNPACK_ELEM1__SHIFT 8 7688c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_UNPACK_ELEM1(uint32_t val) 7698c2ecf20Sopenharmony_ci{ 7708c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_UNPACK_ELEM1__SHIFT) & MDP4_PIPE_SRC_UNPACK_ELEM1__MASK; 7718c2ecf20Sopenharmony_ci} 7728c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_UNPACK_ELEM2__MASK 0x00ff0000 7738c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_UNPACK_ELEM2__SHIFT 16 7748c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_UNPACK_ELEM2(uint32_t val) 7758c2ecf20Sopenharmony_ci{ 7768c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_UNPACK_ELEM2__SHIFT) & MDP4_PIPE_SRC_UNPACK_ELEM2__MASK; 7778c2ecf20Sopenharmony_ci} 7788c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_UNPACK_ELEM3__MASK 0xff000000 7798c2ecf20Sopenharmony_ci#define MDP4_PIPE_SRC_UNPACK_ELEM3__SHIFT 24 7808c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_SRC_UNPACK_ELEM3(uint32_t val) 7818c2ecf20Sopenharmony_ci{ 7828c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_SRC_UNPACK_ELEM3__SHIFT) & MDP4_PIPE_SRC_UNPACK_ELEM3__MASK; 7838c2ecf20Sopenharmony_ci} 7848c2ecf20Sopenharmony_ci 7858c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_OP_MODE(enum mdp4_pipe i0) { return 0x00020058 + 0x10000*i0; } 7868c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_SCALEX_EN 0x00000001 7878c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_SCALEY_EN 0x00000002 7888c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_SCALEX_UNIT_SEL__MASK 0x0000000c 7898c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_SCALEX_UNIT_SEL__SHIFT 2 7908c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_OP_MODE_SCALEX_UNIT_SEL(enum mdp4_scale_unit val) 7918c2ecf20Sopenharmony_ci{ 7928c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_OP_MODE_SCALEX_UNIT_SEL__SHIFT) & MDP4_PIPE_OP_MODE_SCALEX_UNIT_SEL__MASK; 7938c2ecf20Sopenharmony_ci} 7948c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_SCALEY_UNIT_SEL__MASK 0x00000030 7958c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_SCALEY_UNIT_SEL__SHIFT 4 7968c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_PIPE_OP_MODE_SCALEY_UNIT_SEL(enum mdp4_scale_unit val) 7978c2ecf20Sopenharmony_ci{ 7988c2ecf20Sopenharmony_ci return ((val) << MDP4_PIPE_OP_MODE_SCALEY_UNIT_SEL__SHIFT) & MDP4_PIPE_OP_MODE_SCALEY_UNIT_SEL__MASK; 7998c2ecf20Sopenharmony_ci} 8008c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_SRC_YCBCR 0x00000200 8018c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_DST_YCBCR 0x00000400 8028c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_CSC_EN 0x00000800 8038c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_FLIP_LR 0x00002000 8048c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_FLIP_UD 0x00004000 8058c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_DITHER_EN 0x00008000 8068c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_IGC_LUT_EN 0x00010000 8078c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_DEINT_EN 0x00040000 8088c2ecf20Sopenharmony_ci#define MDP4_PIPE_OP_MODE_DEINT_ODD_REF 0x00080000 8098c2ecf20Sopenharmony_ci 8108c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_PHASEX_STEP(enum mdp4_pipe i0) { return 0x0002005c + 0x10000*i0; } 8118c2ecf20Sopenharmony_ci 8128c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_PHASEY_STEP(enum mdp4_pipe i0) { return 0x00020060 + 0x10000*i0; } 8138c2ecf20Sopenharmony_ci 8148c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_FETCH_CONFIG(enum mdp4_pipe i0) { return 0x00021004 + 0x10000*i0; } 8158c2ecf20Sopenharmony_ci 8168c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_SOLID_COLOR(enum mdp4_pipe i0) { return 0x00021008 + 0x10000*i0; } 8178c2ecf20Sopenharmony_ci 8188c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_CSC(enum mdp4_pipe i0) { return 0x00024000 + 0x10000*i0; } 8198c2ecf20Sopenharmony_ci 8208c2ecf20Sopenharmony_ci 8218c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_CSC_MV(enum mdp4_pipe i0, uint32_t i1) { return 0x00024400 + 0x10000*i0 + 0x4*i1; } 8228c2ecf20Sopenharmony_ci 8238c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_CSC_MV_VAL(enum mdp4_pipe i0, uint32_t i1) { return 0x00024400 + 0x10000*i0 + 0x4*i1; } 8248c2ecf20Sopenharmony_ci 8258c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_CSC_PRE_BV(enum mdp4_pipe i0, uint32_t i1) { return 0x00024500 + 0x10000*i0 + 0x4*i1; } 8268c2ecf20Sopenharmony_ci 8278c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_CSC_PRE_BV_VAL(enum mdp4_pipe i0, uint32_t i1) { return 0x00024500 + 0x10000*i0 + 0x4*i1; } 8288c2ecf20Sopenharmony_ci 8298c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_CSC_POST_BV(enum mdp4_pipe i0, uint32_t i1) { return 0x00024580 + 0x10000*i0 + 0x4*i1; } 8308c2ecf20Sopenharmony_ci 8318c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_CSC_POST_BV_VAL(enum mdp4_pipe i0, uint32_t i1) { return 0x00024580 + 0x10000*i0 + 0x4*i1; } 8328c2ecf20Sopenharmony_ci 8338c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_CSC_PRE_LV(enum mdp4_pipe i0, uint32_t i1) { return 0x00024600 + 0x10000*i0 + 0x4*i1; } 8348c2ecf20Sopenharmony_ci 8358c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_CSC_PRE_LV_VAL(enum mdp4_pipe i0, uint32_t i1) { return 0x00024600 + 0x10000*i0 + 0x4*i1; } 8368c2ecf20Sopenharmony_ci 8378c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_CSC_POST_LV(enum mdp4_pipe i0, uint32_t i1) { return 0x00024680 + 0x10000*i0 + 0x4*i1; } 8388c2ecf20Sopenharmony_ci 8398c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_PIPE_CSC_POST_LV_VAL(enum mdp4_pipe i0, uint32_t i1) { return 0x00024680 + 0x10000*i0 + 0x4*i1; } 8408c2ecf20Sopenharmony_ci 8418c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC 0x000c0000 8428c2ecf20Sopenharmony_ci 8438c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_ENABLE 0x000c0000 8448c2ecf20Sopenharmony_ci 8458c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_HSYNC_CTRL 0x000c0004 8468c2ecf20Sopenharmony_ci#define MDP4_LCDC_HSYNC_CTRL_PULSEW__MASK 0x0000ffff 8478c2ecf20Sopenharmony_ci#define MDP4_LCDC_HSYNC_CTRL_PULSEW__SHIFT 0 8488c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_HSYNC_CTRL_PULSEW(uint32_t val) 8498c2ecf20Sopenharmony_ci{ 8508c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_HSYNC_CTRL_PULSEW__SHIFT) & MDP4_LCDC_HSYNC_CTRL_PULSEW__MASK; 8518c2ecf20Sopenharmony_ci} 8528c2ecf20Sopenharmony_ci#define MDP4_LCDC_HSYNC_CTRL_PERIOD__MASK 0xffff0000 8538c2ecf20Sopenharmony_ci#define MDP4_LCDC_HSYNC_CTRL_PERIOD__SHIFT 16 8548c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_HSYNC_CTRL_PERIOD(uint32_t val) 8558c2ecf20Sopenharmony_ci{ 8568c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_HSYNC_CTRL_PERIOD__SHIFT) & MDP4_LCDC_HSYNC_CTRL_PERIOD__MASK; 8578c2ecf20Sopenharmony_ci} 8588c2ecf20Sopenharmony_ci 8598c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_VSYNC_PERIOD 0x000c0008 8608c2ecf20Sopenharmony_ci 8618c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_VSYNC_LEN 0x000c000c 8628c2ecf20Sopenharmony_ci 8638c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_DISPLAY_HCTRL 0x000c0010 8648c2ecf20Sopenharmony_ci#define MDP4_LCDC_DISPLAY_HCTRL_START__MASK 0x0000ffff 8658c2ecf20Sopenharmony_ci#define MDP4_LCDC_DISPLAY_HCTRL_START__SHIFT 0 8668c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_DISPLAY_HCTRL_START(uint32_t val) 8678c2ecf20Sopenharmony_ci{ 8688c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_DISPLAY_HCTRL_START__SHIFT) & MDP4_LCDC_DISPLAY_HCTRL_START__MASK; 8698c2ecf20Sopenharmony_ci} 8708c2ecf20Sopenharmony_ci#define MDP4_LCDC_DISPLAY_HCTRL_END__MASK 0xffff0000 8718c2ecf20Sopenharmony_ci#define MDP4_LCDC_DISPLAY_HCTRL_END__SHIFT 16 8728c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_DISPLAY_HCTRL_END(uint32_t val) 8738c2ecf20Sopenharmony_ci{ 8748c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_DISPLAY_HCTRL_END__SHIFT) & MDP4_LCDC_DISPLAY_HCTRL_END__MASK; 8758c2ecf20Sopenharmony_ci} 8768c2ecf20Sopenharmony_ci 8778c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_DISPLAY_VSTART 0x000c0014 8788c2ecf20Sopenharmony_ci 8798c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_DISPLAY_VEND 0x000c0018 8808c2ecf20Sopenharmony_ci 8818c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_ACTIVE_HCTL 0x000c001c 8828c2ecf20Sopenharmony_ci#define MDP4_LCDC_ACTIVE_HCTL_START__MASK 0x00007fff 8838c2ecf20Sopenharmony_ci#define MDP4_LCDC_ACTIVE_HCTL_START__SHIFT 0 8848c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_ACTIVE_HCTL_START(uint32_t val) 8858c2ecf20Sopenharmony_ci{ 8868c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_ACTIVE_HCTL_START__SHIFT) & MDP4_LCDC_ACTIVE_HCTL_START__MASK; 8878c2ecf20Sopenharmony_ci} 8888c2ecf20Sopenharmony_ci#define MDP4_LCDC_ACTIVE_HCTL_END__MASK 0x7fff0000 8898c2ecf20Sopenharmony_ci#define MDP4_LCDC_ACTIVE_HCTL_END__SHIFT 16 8908c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_ACTIVE_HCTL_END(uint32_t val) 8918c2ecf20Sopenharmony_ci{ 8928c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_ACTIVE_HCTL_END__SHIFT) & MDP4_LCDC_ACTIVE_HCTL_END__MASK; 8938c2ecf20Sopenharmony_ci} 8948c2ecf20Sopenharmony_ci#define MDP4_LCDC_ACTIVE_HCTL_ACTIVE_START_X 0x80000000 8958c2ecf20Sopenharmony_ci 8968c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_ACTIVE_VSTART 0x000c0020 8978c2ecf20Sopenharmony_ci 8988c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_ACTIVE_VEND 0x000c0024 8998c2ecf20Sopenharmony_ci 9008c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_BORDER_CLR 0x000c0028 9018c2ecf20Sopenharmony_ci 9028c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_UNDERFLOW_CLR 0x000c002c 9038c2ecf20Sopenharmony_ci#define MDP4_LCDC_UNDERFLOW_CLR_COLOR__MASK 0x00ffffff 9048c2ecf20Sopenharmony_ci#define MDP4_LCDC_UNDERFLOW_CLR_COLOR__SHIFT 0 9058c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_UNDERFLOW_CLR_COLOR(uint32_t val) 9068c2ecf20Sopenharmony_ci{ 9078c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_UNDERFLOW_CLR_COLOR__SHIFT) & MDP4_LCDC_UNDERFLOW_CLR_COLOR__MASK; 9088c2ecf20Sopenharmony_ci} 9098c2ecf20Sopenharmony_ci#define MDP4_LCDC_UNDERFLOW_CLR_ENABLE_RECOVERY 0x80000000 9108c2ecf20Sopenharmony_ci 9118c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_HSYNC_SKEW 0x000c0030 9128c2ecf20Sopenharmony_ci 9138c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_TEST_CNTL 0x000c0034 9148c2ecf20Sopenharmony_ci 9158c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_CTRL_POLARITY 0x000c0038 9168c2ecf20Sopenharmony_ci#define MDP4_LCDC_CTRL_POLARITY_HSYNC_LOW 0x00000001 9178c2ecf20Sopenharmony_ci#define MDP4_LCDC_CTRL_POLARITY_VSYNC_LOW 0x00000002 9188c2ecf20Sopenharmony_ci#define MDP4_LCDC_CTRL_POLARITY_DATA_EN_LOW 0x00000004 9198c2ecf20Sopenharmony_ci 9208c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_LVDS_INTF_CTL 0x000c2000 9218c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_MODE_SEL 0x00000004 9228c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_RGB_OUT 0x00000008 9238c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_CH_SWAP 0x00000010 9248c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_CH1_RES_BIT 0x00000020 9258c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_CH2_RES_BIT 0x00000040 9268c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_ENABLE 0x00000080 9278c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_CH1_DATA_LANE0_EN 0x00000100 9288c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_CH1_DATA_LANE1_EN 0x00000200 9298c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_CH1_DATA_LANE2_EN 0x00000400 9308c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_CH1_DATA_LANE3_EN 0x00000800 9318c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_CH2_DATA_LANE0_EN 0x00001000 9328c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_CH2_DATA_LANE1_EN 0x00002000 9338c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_CH2_DATA_LANE2_EN 0x00004000 9348c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_CH2_DATA_LANE3_EN 0x00008000 9358c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_CH1_CLK_LANE_EN 0x00010000 9368c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_INTF_CTL_CH2_CLK_LANE_EN 0x00020000 9378c2ecf20Sopenharmony_ci 9388c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_LCDC_LVDS_MUX_CTL(uint32_t i0) { return 0x000c2014 + 0x8*i0; } 9398c2ecf20Sopenharmony_ci 9408c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_LCDC_LVDS_MUX_CTL_3_TO_0(uint32_t i0) { return 0x000c2014 + 0x8*i0; } 9418c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT0__MASK 0x000000ff 9428c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT0__SHIFT 0 9438c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT0(uint32_t val) 9448c2ecf20Sopenharmony_ci{ 9458c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT0__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT0__MASK; 9468c2ecf20Sopenharmony_ci} 9478c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT1__MASK 0x0000ff00 9488c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT1__SHIFT 8 9498c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT1(uint32_t val) 9508c2ecf20Sopenharmony_ci{ 9518c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT1__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT1__MASK; 9528c2ecf20Sopenharmony_ci} 9538c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT2__MASK 0x00ff0000 9548c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT2__SHIFT 16 9558c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT2(uint32_t val) 9568c2ecf20Sopenharmony_ci{ 9578c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT2__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT2__MASK; 9588c2ecf20Sopenharmony_ci} 9598c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT3__MASK 0xff000000 9608c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT3__SHIFT 24 9618c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT3(uint32_t val) 9628c2ecf20Sopenharmony_ci{ 9638c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT3__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_3_TO_0_BIT3__MASK; 9648c2ecf20Sopenharmony_ci} 9658c2ecf20Sopenharmony_ci 9668c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP4_LCDC_LVDS_MUX_CTL_6_TO_4(uint32_t i0) { return 0x000c2018 + 0x8*i0; } 9678c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT4__MASK 0x000000ff 9688c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT4__SHIFT 0 9698c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT4(uint32_t val) 9708c2ecf20Sopenharmony_ci{ 9718c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT4__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT4__MASK; 9728c2ecf20Sopenharmony_ci} 9738c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT5__MASK 0x0000ff00 9748c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT5__SHIFT 8 9758c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT5(uint32_t val) 9768c2ecf20Sopenharmony_ci{ 9778c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT5__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT5__MASK; 9788c2ecf20Sopenharmony_ci} 9798c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT6__MASK 0x00ff0000 9808c2ecf20Sopenharmony_ci#define MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT6__SHIFT 16 9818c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT6(uint32_t val) 9828c2ecf20Sopenharmony_ci{ 9838c2ecf20Sopenharmony_ci return ((val) << MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT6__SHIFT) & MDP4_LCDC_LVDS_MUX_CTL_6_TO_4_BIT6__MASK; 9848c2ecf20Sopenharmony_ci} 9858c2ecf20Sopenharmony_ci 9868c2ecf20Sopenharmony_ci#define REG_MDP4_LCDC_LVDS_PHY_RESET 0x000c2034 9878c2ecf20Sopenharmony_ci 9888c2ecf20Sopenharmony_ci#define REG_MDP4_LVDS_PHY_PLL_CTRL_0 0x000c3000 9898c2ecf20Sopenharmony_ci 9908c2ecf20Sopenharmony_ci#define REG_MDP4_LVDS_PHY_PLL_CTRL_1 0x000c3004 9918c2ecf20Sopenharmony_ci 9928c2ecf20Sopenharmony_ci#define REG_MDP4_LVDS_PHY_PLL_CTRL_2 0x000c3008 9938c2ecf20Sopenharmony_ci 9948c2ecf20Sopenharmony_ci#define REG_MDP4_LVDS_PHY_PLL_CTRL_3 0x000c300c 9958c2ecf20Sopenharmony_ci 9968c2ecf20Sopenharmony_ci#define REG_MDP4_LVDS_PHY_PLL_CTRL_5 0x000c3014 9978c2ecf20Sopenharmony_ci 9988c2ecf20Sopenharmony_ci#define REG_MDP4_LVDS_PHY_PLL_CTRL_6 0x000c3018 9998c2ecf20Sopenharmony_ci 10008c2ecf20Sopenharmony_ci#define REG_MDP4_LVDS_PHY_PLL_CTRL_7 0x000c301c 10018c2ecf20Sopenharmony_ci 10028c2ecf20Sopenharmony_ci#define REG_MDP4_LVDS_PHY_PLL_CTRL_8 0x000c3020 10038c2ecf20Sopenharmony_ci 10048c2ecf20Sopenharmony_ci#define REG_MDP4_LVDS_PHY_PLL_CTRL_9 0x000c3024 10058c2ecf20Sopenharmony_ci 10068c2ecf20Sopenharmony_ci#define REG_MDP4_LVDS_PHY_PLL_LOCKED 0x000c3080 10078c2ecf20Sopenharmony_ci 10088c2ecf20Sopenharmony_ci#define REG_MDP4_LVDS_PHY_CFG2 0x000c3108 10098c2ecf20Sopenharmony_ci 10108c2ecf20Sopenharmony_ci#define REG_MDP4_LVDS_PHY_CFG0 0x000c3100 10118c2ecf20Sopenharmony_ci#define MDP4_LVDS_PHY_CFG0_SERIALIZATION_ENBLE 0x00000010 10128c2ecf20Sopenharmony_ci#define MDP4_LVDS_PHY_CFG0_CHANNEL0 0x00000040 10138c2ecf20Sopenharmony_ci#define MDP4_LVDS_PHY_CFG0_CHANNEL1 0x00000080 10148c2ecf20Sopenharmony_ci 10158c2ecf20Sopenharmony_ci#define REG_MDP4_DTV 0x000d0000 10168c2ecf20Sopenharmony_ci 10178c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_ENABLE 0x000d0000 10188c2ecf20Sopenharmony_ci 10198c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_HSYNC_CTRL 0x000d0004 10208c2ecf20Sopenharmony_ci#define MDP4_DTV_HSYNC_CTRL_PULSEW__MASK 0x0000ffff 10218c2ecf20Sopenharmony_ci#define MDP4_DTV_HSYNC_CTRL_PULSEW__SHIFT 0 10228c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DTV_HSYNC_CTRL_PULSEW(uint32_t val) 10238c2ecf20Sopenharmony_ci{ 10248c2ecf20Sopenharmony_ci return ((val) << MDP4_DTV_HSYNC_CTRL_PULSEW__SHIFT) & MDP4_DTV_HSYNC_CTRL_PULSEW__MASK; 10258c2ecf20Sopenharmony_ci} 10268c2ecf20Sopenharmony_ci#define MDP4_DTV_HSYNC_CTRL_PERIOD__MASK 0xffff0000 10278c2ecf20Sopenharmony_ci#define MDP4_DTV_HSYNC_CTRL_PERIOD__SHIFT 16 10288c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DTV_HSYNC_CTRL_PERIOD(uint32_t val) 10298c2ecf20Sopenharmony_ci{ 10308c2ecf20Sopenharmony_ci return ((val) << MDP4_DTV_HSYNC_CTRL_PERIOD__SHIFT) & MDP4_DTV_HSYNC_CTRL_PERIOD__MASK; 10318c2ecf20Sopenharmony_ci} 10328c2ecf20Sopenharmony_ci 10338c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_VSYNC_PERIOD 0x000d0008 10348c2ecf20Sopenharmony_ci 10358c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_VSYNC_LEN 0x000d000c 10368c2ecf20Sopenharmony_ci 10378c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_DISPLAY_HCTRL 0x000d0018 10388c2ecf20Sopenharmony_ci#define MDP4_DTV_DISPLAY_HCTRL_START__MASK 0x0000ffff 10398c2ecf20Sopenharmony_ci#define MDP4_DTV_DISPLAY_HCTRL_START__SHIFT 0 10408c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DTV_DISPLAY_HCTRL_START(uint32_t val) 10418c2ecf20Sopenharmony_ci{ 10428c2ecf20Sopenharmony_ci return ((val) << MDP4_DTV_DISPLAY_HCTRL_START__SHIFT) & MDP4_DTV_DISPLAY_HCTRL_START__MASK; 10438c2ecf20Sopenharmony_ci} 10448c2ecf20Sopenharmony_ci#define MDP4_DTV_DISPLAY_HCTRL_END__MASK 0xffff0000 10458c2ecf20Sopenharmony_ci#define MDP4_DTV_DISPLAY_HCTRL_END__SHIFT 16 10468c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DTV_DISPLAY_HCTRL_END(uint32_t val) 10478c2ecf20Sopenharmony_ci{ 10488c2ecf20Sopenharmony_ci return ((val) << MDP4_DTV_DISPLAY_HCTRL_END__SHIFT) & MDP4_DTV_DISPLAY_HCTRL_END__MASK; 10498c2ecf20Sopenharmony_ci} 10508c2ecf20Sopenharmony_ci 10518c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_DISPLAY_VSTART 0x000d001c 10528c2ecf20Sopenharmony_ci 10538c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_DISPLAY_VEND 0x000d0020 10548c2ecf20Sopenharmony_ci 10558c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_ACTIVE_HCTL 0x000d002c 10568c2ecf20Sopenharmony_ci#define MDP4_DTV_ACTIVE_HCTL_START__MASK 0x00007fff 10578c2ecf20Sopenharmony_ci#define MDP4_DTV_ACTIVE_HCTL_START__SHIFT 0 10588c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DTV_ACTIVE_HCTL_START(uint32_t val) 10598c2ecf20Sopenharmony_ci{ 10608c2ecf20Sopenharmony_ci return ((val) << MDP4_DTV_ACTIVE_HCTL_START__SHIFT) & MDP4_DTV_ACTIVE_HCTL_START__MASK; 10618c2ecf20Sopenharmony_ci} 10628c2ecf20Sopenharmony_ci#define MDP4_DTV_ACTIVE_HCTL_END__MASK 0x7fff0000 10638c2ecf20Sopenharmony_ci#define MDP4_DTV_ACTIVE_HCTL_END__SHIFT 16 10648c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DTV_ACTIVE_HCTL_END(uint32_t val) 10658c2ecf20Sopenharmony_ci{ 10668c2ecf20Sopenharmony_ci return ((val) << MDP4_DTV_ACTIVE_HCTL_END__SHIFT) & MDP4_DTV_ACTIVE_HCTL_END__MASK; 10678c2ecf20Sopenharmony_ci} 10688c2ecf20Sopenharmony_ci#define MDP4_DTV_ACTIVE_HCTL_ACTIVE_START_X 0x80000000 10698c2ecf20Sopenharmony_ci 10708c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_ACTIVE_VSTART 0x000d0030 10718c2ecf20Sopenharmony_ci 10728c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_ACTIVE_VEND 0x000d0038 10738c2ecf20Sopenharmony_ci 10748c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_BORDER_CLR 0x000d0040 10758c2ecf20Sopenharmony_ci 10768c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_UNDERFLOW_CLR 0x000d0044 10778c2ecf20Sopenharmony_ci#define MDP4_DTV_UNDERFLOW_CLR_COLOR__MASK 0x00ffffff 10788c2ecf20Sopenharmony_ci#define MDP4_DTV_UNDERFLOW_CLR_COLOR__SHIFT 0 10798c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DTV_UNDERFLOW_CLR_COLOR(uint32_t val) 10808c2ecf20Sopenharmony_ci{ 10818c2ecf20Sopenharmony_ci return ((val) << MDP4_DTV_UNDERFLOW_CLR_COLOR__SHIFT) & MDP4_DTV_UNDERFLOW_CLR_COLOR__MASK; 10828c2ecf20Sopenharmony_ci} 10838c2ecf20Sopenharmony_ci#define MDP4_DTV_UNDERFLOW_CLR_ENABLE_RECOVERY 0x80000000 10848c2ecf20Sopenharmony_ci 10858c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_HSYNC_SKEW 0x000d0048 10868c2ecf20Sopenharmony_ci 10878c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_TEST_CNTL 0x000d004c 10888c2ecf20Sopenharmony_ci 10898c2ecf20Sopenharmony_ci#define REG_MDP4_DTV_CTRL_POLARITY 0x000d0050 10908c2ecf20Sopenharmony_ci#define MDP4_DTV_CTRL_POLARITY_HSYNC_LOW 0x00000001 10918c2ecf20Sopenharmony_ci#define MDP4_DTV_CTRL_POLARITY_VSYNC_LOW 0x00000002 10928c2ecf20Sopenharmony_ci#define MDP4_DTV_CTRL_POLARITY_DATA_EN_LOW 0x00000004 10938c2ecf20Sopenharmony_ci 10948c2ecf20Sopenharmony_ci#define REG_MDP4_DSI 0x000e0000 10958c2ecf20Sopenharmony_ci 10968c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_ENABLE 0x000e0000 10978c2ecf20Sopenharmony_ci 10988c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_HSYNC_CTRL 0x000e0004 10998c2ecf20Sopenharmony_ci#define MDP4_DSI_HSYNC_CTRL_PULSEW__MASK 0x0000ffff 11008c2ecf20Sopenharmony_ci#define MDP4_DSI_HSYNC_CTRL_PULSEW__SHIFT 0 11018c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DSI_HSYNC_CTRL_PULSEW(uint32_t val) 11028c2ecf20Sopenharmony_ci{ 11038c2ecf20Sopenharmony_ci return ((val) << MDP4_DSI_HSYNC_CTRL_PULSEW__SHIFT) & MDP4_DSI_HSYNC_CTRL_PULSEW__MASK; 11048c2ecf20Sopenharmony_ci} 11058c2ecf20Sopenharmony_ci#define MDP4_DSI_HSYNC_CTRL_PERIOD__MASK 0xffff0000 11068c2ecf20Sopenharmony_ci#define MDP4_DSI_HSYNC_CTRL_PERIOD__SHIFT 16 11078c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DSI_HSYNC_CTRL_PERIOD(uint32_t val) 11088c2ecf20Sopenharmony_ci{ 11098c2ecf20Sopenharmony_ci return ((val) << MDP4_DSI_HSYNC_CTRL_PERIOD__SHIFT) & MDP4_DSI_HSYNC_CTRL_PERIOD__MASK; 11108c2ecf20Sopenharmony_ci} 11118c2ecf20Sopenharmony_ci 11128c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_VSYNC_PERIOD 0x000e0008 11138c2ecf20Sopenharmony_ci 11148c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_VSYNC_LEN 0x000e000c 11158c2ecf20Sopenharmony_ci 11168c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_DISPLAY_HCTRL 0x000e0010 11178c2ecf20Sopenharmony_ci#define MDP4_DSI_DISPLAY_HCTRL_START__MASK 0x0000ffff 11188c2ecf20Sopenharmony_ci#define MDP4_DSI_DISPLAY_HCTRL_START__SHIFT 0 11198c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DSI_DISPLAY_HCTRL_START(uint32_t val) 11208c2ecf20Sopenharmony_ci{ 11218c2ecf20Sopenharmony_ci return ((val) << MDP4_DSI_DISPLAY_HCTRL_START__SHIFT) & MDP4_DSI_DISPLAY_HCTRL_START__MASK; 11228c2ecf20Sopenharmony_ci} 11238c2ecf20Sopenharmony_ci#define MDP4_DSI_DISPLAY_HCTRL_END__MASK 0xffff0000 11248c2ecf20Sopenharmony_ci#define MDP4_DSI_DISPLAY_HCTRL_END__SHIFT 16 11258c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DSI_DISPLAY_HCTRL_END(uint32_t val) 11268c2ecf20Sopenharmony_ci{ 11278c2ecf20Sopenharmony_ci return ((val) << MDP4_DSI_DISPLAY_HCTRL_END__SHIFT) & MDP4_DSI_DISPLAY_HCTRL_END__MASK; 11288c2ecf20Sopenharmony_ci} 11298c2ecf20Sopenharmony_ci 11308c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_DISPLAY_VSTART 0x000e0014 11318c2ecf20Sopenharmony_ci 11328c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_DISPLAY_VEND 0x000e0018 11338c2ecf20Sopenharmony_ci 11348c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_ACTIVE_HCTL 0x000e001c 11358c2ecf20Sopenharmony_ci#define MDP4_DSI_ACTIVE_HCTL_START__MASK 0x00007fff 11368c2ecf20Sopenharmony_ci#define MDP4_DSI_ACTIVE_HCTL_START__SHIFT 0 11378c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DSI_ACTIVE_HCTL_START(uint32_t val) 11388c2ecf20Sopenharmony_ci{ 11398c2ecf20Sopenharmony_ci return ((val) << MDP4_DSI_ACTIVE_HCTL_START__SHIFT) & MDP4_DSI_ACTIVE_HCTL_START__MASK; 11408c2ecf20Sopenharmony_ci} 11418c2ecf20Sopenharmony_ci#define MDP4_DSI_ACTIVE_HCTL_END__MASK 0x7fff0000 11428c2ecf20Sopenharmony_ci#define MDP4_DSI_ACTIVE_HCTL_END__SHIFT 16 11438c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DSI_ACTIVE_HCTL_END(uint32_t val) 11448c2ecf20Sopenharmony_ci{ 11458c2ecf20Sopenharmony_ci return ((val) << MDP4_DSI_ACTIVE_HCTL_END__SHIFT) & MDP4_DSI_ACTIVE_HCTL_END__MASK; 11468c2ecf20Sopenharmony_ci} 11478c2ecf20Sopenharmony_ci#define MDP4_DSI_ACTIVE_HCTL_ACTIVE_START_X 0x80000000 11488c2ecf20Sopenharmony_ci 11498c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_ACTIVE_VSTART 0x000e0020 11508c2ecf20Sopenharmony_ci 11518c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_ACTIVE_VEND 0x000e0024 11528c2ecf20Sopenharmony_ci 11538c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_BORDER_CLR 0x000e0028 11548c2ecf20Sopenharmony_ci 11558c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_UNDERFLOW_CLR 0x000e002c 11568c2ecf20Sopenharmony_ci#define MDP4_DSI_UNDERFLOW_CLR_COLOR__MASK 0x00ffffff 11578c2ecf20Sopenharmony_ci#define MDP4_DSI_UNDERFLOW_CLR_COLOR__SHIFT 0 11588c2ecf20Sopenharmony_cistatic inline uint32_t MDP4_DSI_UNDERFLOW_CLR_COLOR(uint32_t val) 11598c2ecf20Sopenharmony_ci{ 11608c2ecf20Sopenharmony_ci return ((val) << MDP4_DSI_UNDERFLOW_CLR_COLOR__SHIFT) & MDP4_DSI_UNDERFLOW_CLR_COLOR__MASK; 11618c2ecf20Sopenharmony_ci} 11628c2ecf20Sopenharmony_ci#define MDP4_DSI_UNDERFLOW_CLR_ENABLE_RECOVERY 0x80000000 11638c2ecf20Sopenharmony_ci 11648c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_HSYNC_SKEW 0x000e0030 11658c2ecf20Sopenharmony_ci 11668c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_TEST_CNTL 0x000e0034 11678c2ecf20Sopenharmony_ci 11688c2ecf20Sopenharmony_ci#define REG_MDP4_DSI_CTRL_POLARITY 0x000e0038 11698c2ecf20Sopenharmony_ci#define MDP4_DSI_CTRL_POLARITY_HSYNC_LOW 0x00000001 11708c2ecf20Sopenharmony_ci#define MDP4_DSI_CTRL_POLARITY_VSYNC_LOW 0x00000002 11718c2ecf20Sopenharmony_ci#define MDP4_DSI_CTRL_POLARITY_DATA_EN_LOW 0x00000004 11728c2ecf20Sopenharmony_ci 11738c2ecf20Sopenharmony_ci 11748c2ecf20Sopenharmony_ci#endif /* MDP4_XML */ 1175