18c2ecf20Sopenharmony_ci#ifndef MDP5_XML 28c2ecf20Sopenharmony_ci#define MDP5_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 mdp5_intf_type { 508c2ecf20Sopenharmony_ci INTF_DISABLED = 0, 518c2ecf20Sopenharmony_ci INTF_DSI = 1, 528c2ecf20Sopenharmony_ci INTF_HDMI = 3, 538c2ecf20Sopenharmony_ci INTF_LCDC = 5, 548c2ecf20Sopenharmony_ci INTF_eDP = 9, 558c2ecf20Sopenharmony_ci INTF_VIRTUAL = 100, 568c2ecf20Sopenharmony_ci INTF_WB = 101, 578c2ecf20Sopenharmony_ci}; 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_cienum mdp5_intfnum { 608c2ecf20Sopenharmony_ci NO_INTF = 0, 618c2ecf20Sopenharmony_ci INTF0 = 1, 628c2ecf20Sopenharmony_ci INTF1 = 2, 638c2ecf20Sopenharmony_ci INTF2 = 3, 648c2ecf20Sopenharmony_ci INTF3 = 4, 658c2ecf20Sopenharmony_ci}; 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_cienum mdp5_pipe { 688c2ecf20Sopenharmony_ci SSPP_NONE = 0, 698c2ecf20Sopenharmony_ci SSPP_VIG0 = 1, 708c2ecf20Sopenharmony_ci SSPP_VIG1 = 2, 718c2ecf20Sopenharmony_ci SSPP_VIG2 = 3, 728c2ecf20Sopenharmony_ci SSPP_RGB0 = 4, 738c2ecf20Sopenharmony_ci SSPP_RGB1 = 5, 748c2ecf20Sopenharmony_ci SSPP_RGB2 = 6, 758c2ecf20Sopenharmony_ci SSPP_DMA0 = 7, 768c2ecf20Sopenharmony_ci SSPP_DMA1 = 8, 778c2ecf20Sopenharmony_ci SSPP_VIG3 = 9, 788c2ecf20Sopenharmony_ci SSPP_RGB3 = 10, 798c2ecf20Sopenharmony_ci SSPP_CURSOR0 = 11, 808c2ecf20Sopenharmony_ci SSPP_CURSOR1 = 12, 818c2ecf20Sopenharmony_ci}; 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_cienum mdp5_ctl_mode { 848c2ecf20Sopenharmony_ci MODE_NONE = 0, 858c2ecf20Sopenharmony_ci MODE_WB_0_BLOCK = 1, 868c2ecf20Sopenharmony_ci MODE_WB_1_BLOCK = 2, 878c2ecf20Sopenharmony_ci MODE_WB_0_LINE = 3, 888c2ecf20Sopenharmony_ci MODE_WB_1_LINE = 4, 898c2ecf20Sopenharmony_ci MODE_WB_2_LINE = 5, 908c2ecf20Sopenharmony_ci}; 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_cienum mdp5_pack_3d { 938c2ecf20Sopenharmony_ci PACK_3D_FRAME_INT = 0, 948c2ecf20Sopenharmony_ci PACK_3D_H_ROW_INT = 1, 958c2ecf20Sopenharmony_ci PACK_3D_V_ROW_INT = 2, 968c2ecf20Sopenharmony_ci PACK_3D_COL_INT = 3, 978c2ecf20Sopenharmony_ci}; 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_cienum mdp5_scale_filter { 1008c2ecf20Sopenharmony_ci SCALE_FILTER_NEAREST = 0, 1018c2ecf20Sopenharmony_ci SCALE_FILTER_BIL = 1, 1028c2ecf20Sopenharmony_ci SCALE_FILTER_PCMN = 2, 1038c2ecf20Sopenharmony_ci SCALE_FILTER_CA = 3, 1048c2ecf20Sopenharmony_ci}; 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_cienum mdp5_pipe_bwc { 1078c2ecf20Sopenharmony_ci BWC_LOSSLESS = 0, 1088c2ecf20Sopenharmony_ci BWC_Q_HIGH = 1, 1098c2ecf20Sopenharmony_ci BWC_Q_MED = 2, 1108c2ecf20Sopenharmony_ci}; 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_cienum mdp5_cursor_format { 1138c2ecf20Sopenharmony_ci CURSOR_FMT_ARGB8888 = 0, 1148c2ecf20Sopenharmony_ci CURSOR_FMT_ARGB1555 = 2, 1158c2ecf20Sopenharmony_ci CURSOR_FMT_ARGB4444 = 4, 1168c2ecf20Sopenharmony_ci}; 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_cienum mdp5_cursor_alpha { 1198c2ecf20Sopenharmony_ci CURSOR_ALPHA_CONST = 0, 1208c2ecf20Sopenharmony_ci CURSOR_ALPHA_PER_PIXEL = 2, 1218c2ecf20Sopenharmony_ci}; 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_cienum mdp5_igc_type { 1248c2ecf20Sopenharmony_ci IGC_VIG = 0, 1258c2ecf20Sopenharmony_ci IGC_RGB = 1, 1268c2ecf20Sopenharmony_ci IGC_DMA = 2, 1278c2ecf20Sopenharmony_ci IGC_DSPP = 3, 1288c2ecf20Sopenharmony_ci}; 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_cienum mdp5_data_format { 1318c2ecf20Sopenharmony_ci DATA_FORMAT_RGB = 0, 1328c2ecf20Sopenharmony_ci DATA_FORMAT_YUV = 1, 1338c2ecf20Sopenharmony_ci}; 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_cienum mdp5_block_size { 1368c2ecf20Sopenharmony_ci BLOCK_SIZE_64 = 0, 1378c2ecf20Sopenharmony_ci BLOCK_SIZE_128 = 1, 1388c2ecf20Sopenharmony_ci}; 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_cienum mdp5_rotate_mode { 1418c2ecf20Sopenharmony_ci ROTATE_0 = 0, 1428c2ecf20Sopenharmony_ci ROTATE_90 = 1, 1438c2ecf20Sopenharmony_ci}; 1448c2ecf20Sopenharmony_ci 1458c2ecf20Sopenharmony_cienum mdp5_chroma_downsample_method { 1468c2ecf20Sopenharmony_ci DS_MTHD_NO_PIXEL_DROP = 0, 1478c2ecf20Sopenharmony_ci DS_MTHD_PIXEL_DROP = 1, 1488c2ecf20Sopenharmony_ci}; 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ci#define MDP5_IRQ_WB_0_DONE 0x00000001 1518c2ecf20Sopenharmony_ci#define MDP5_IRQ_WB_1_DONE 0x00000002 1528c2ecf20Sopenharmony_ci#define MDP5_IRQ_WB_2_DONE 0x00000010 1538c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_0_DONE 0x00000100 1548c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_1_DONE 0x00000200 1558c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_2_DONE 0x00000400 1568c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_3_DONE 0x00000800 1578c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_0_RD_PTR 0x00001000 1588c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_1_RD_PTR 0x00002000 1598c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_2_RD_PTR 0x00004000 1608c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_3_RD_PTR 0x00008000 1618c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_0_WR_PTR 0x00010000 1628c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_1_WR_PTR 0x00020000 1638c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_2_WR_PTR 0x00040000 1648c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_3_WR_PTR 0x00080000 1658c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_0_AUTO_REF 0x00100000 1668c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_1_AUTO_REF 0x00200000 1678c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_2_AUTO_REF 0x00400000 1688c2ecf20Sopenharmony_ci#define MDP5_IRQ_PING_PONG_3_AUTO_REF 0x00800000 1698c2ecf20Sopenharmony_ci#define MDP5_IRQ_INTF0_UNDER_RUN 0x01000000 1708c2ecf20Sopenharmony_ci#define MDP5_IRQ_INTF0_VSYNC 0x02000000 1718c2ecf20Sopenharmony_ci#define MDP5_IRQ_INTF1_UNDER_RUN 0x04000000 1728c2ecf20Sopenharmony_ci#define MDP5_IRQ_INTF1_VSYNC 0x08000000 1738c2ecf20Sopenharmony_ci#define MDP5_IRQ_INTF2_UNDER_RUN 0x10000000 1748c2ecf20Sopenharmony_ci#define MDP5_IRQ_INTF2_VSYNC 0x20000000 1758c2ecf20Sopenharmony_ci#define MDP5_IRQ_INTF3_UNDER_RUN 0x40000000 1768c2ecf20Sopenharmony_ci#define MDP5_IRQ_INTF3_VSYNC 0x80000000 1778c2ecf20Sopenharmony_ci#define REG_MDSS_HW_VERSION 0x00000000 1788c2ecf20Sopenharmony_ci#define MDSS_HW_VERSION_STEP__MASK 0x0000ffff 1798c2ecf20Sopenharmony_ci#define MDSS_HW_VERSION_STEP__SHIFT 0 1808c2ecf20Sopenharmony_cistatic inline uint32_t MDSS_HW_VERSION_STEP(uint32_t val) 1818c2ecf20Sopenharmony_ci{ 1828c2ecf20Sopenharmony_ci return ((val) << MDSS_HW_VERSION_STEP__SHIFT) & MDSS_HW_VERSION_STEP__MASK; 1838c2ecf20Sopenharmony_ci} 1848c2ecf20Sopenharmony_ci#define MDSS_HW_VERSION_MINOR__MASK 0x0fff0000 1858c2ecf20Sopenharmony_ci#define MDSS_HW_VERSION_MINOR__SHIFT 16 1868c2ecf20Sopenharmony_cistatic inline uint32_t MDSS_HW_VERSION_MINOR(uint32_t val) 1878c2ecf20Sopenharmony_ci{ 1888c2ecf20Sopenharmony_ci return ((val) << MDSS_HW_VERSION_MINOR__SHIFT) & MDSS_HW_VERSION_MINOR__MASK; 1898c2ecf20Sopenharmony_ci} 1908c2ecf20Sopenharmony_ci#define MDSS_HW_VERSION_MAJOR__MASK 0xf0000000 1918c2ecf20Sopenharmony_ci#define MDSS_HW_VERSION_MAJOR__SHIFT 28 1928c2ecf20Sopenharmony_cistatic inline uint32_t MDSS_HW_VERSION_MAJOR(uint32_t val) 1938c2ecf20Sopenharmony_ci{ 1948c2ecf20Sopenharmony_ci return ((val) << MDSS_HW_VERSION_MAJOR__SHIFT) & MDSS_HW_VERSION_MAJOR__MASK; 1958c2ecf20Sopenharmony_ci} 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_ci#define REG_MDSS_HW_INTR_STATUS 0x00000010 1988c2ecf20Sopenharmony_ci#define MDSS_HW_INTR_STATUS_INTR_MDP 0x00000001 1998c2ecf20Sopenharmony_ci#define MDSS_HW_INTR_STATUS_INTR_DSI0 0x00000010 2008c2ecf20Sopenharmony_ci#define MDSS_HW_INTR_STATUS_INTR_DSI1 0x00000020 2018c2ecf20Sopenharmony_ci#define MDSS_HW_INTR_STATUS_INTR_HDMI 0x00000100 2028c2ecf20Sopenharmony_ci#define MDSS_HW_INTR_STATUS_INTR_EDP 0x00001000 2038c2ecf20Sopenharmony_ci 2048c2ecf20Sopenharmony_ci#define REG_MDP5_HW_VERSION 0x00000000 2058c2ecf20Sopenharmony_ci#define MDP5_HW_VERSION_STEP__MASK 0x0000ffff 2068c2ecf20Sopenharmony_ci#define MDP5_HW_VERSION_STEP__SHIFT 0 2078c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_HW_VERSION_STEP(uint32_t val) 2088c2ecf20Sopenharmony_ci{ 2098c2ecf20Sopenharmony_ci return ((val) << MDP5_HW_VERSION_STEP__SHIFT) & MDP5_HW_VERSION_STEP__MASK; 2108c2ecf20Sopenharmony_ci} 2118c2ecf20Sopenharmony_ci#define MDP5_HW_VERSION_MINOR__MASK 0x0fff0000 2128c2ecf20Sopenharmony_ci#define MDP5_HW_VERSION_MINOR__SHIFT 16 2138c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_HW_VERSION_MINOR(uint32_t val) 2148c2ecf20Sopenharmony_ci{ 2158c2ecf20Sopenharmony_ci return ((val) << MDP5_HW_VERSION_MINOR__SHIFT) & MDP5_HW_VERSION_MINOR__MASK; 2168c2ecf20Sopenharmony_ci} 2178c2ecf20Sopenharmony_ci#define MDP5_HW_VERSION_MAJOR__MASK 0xf0000000 2188c2ecf20Sopenharmony_ci#define MDP5_HW_VERSION_MAJOR__SHIFT 28 2198c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_HW_VERSION_MAJOR(uint32_t val) 2208c2ecf20Sopenharmony_ci{ 2218c2ecf20Sopenharmony_ci return ((val) << MDP5_HW_VERSION_MAJOR__SHIFT) & MDP5_HW_VERSION_MAJOR__MASK; 2228c2ecf20Sopenharmony_ci} 2238c2ecf20Sopenharmony_ci 2248c2ecf20Sopenharmony_ci#define REG_MDP5_DISP_INTF_SEL 0x00000004 2258c2ecf20Sopenharmony_ci#define MDP5_DISP_INTF_SEL_INTF0__MASK 0x000000ff 2268c2ecf20Sopenharmony_ci#define MDP5_DISP_INTF_SEL_INTF0__SHIFT 0 2278c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_DISP_INTF_SEL_INTF0(enum mdp5_intf_type val) 2288c2ecf20Sopenharmony_ci{ 2298c2ecf20Sopenharmony_ci return ((val) << MDP5_DISP_INTF_SEL_INTF0__SHIFT) & MDP5_DISP_INTF_SEL_INTF0__MASK; 2308c2ecf20Sopenharmony_ci} 2318c2ecf20Sopenharmony_ci#define MDP5_DISP_INTF_SEL_INTF1__MASK 0x0000ff00 2328c2ecf20Sopenharmony_ci#define MDP5_DISP_INTF_SEL_INTF1__SHIFT 8 2338c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_DISP_INTF_SEL_INTF1(enum mdp5_intf_type val) 2348c2ecf20Sopenharmony_ci{ 2358c2ecf20Sopenharmony_ci return ((val) << MDP5_DISP_INTF_SEL_INTF1__SHIFT) & MDP5_DISP_INTF_SEL_INTF1__MASK; 2368c2ecf20Sopenharmony_ci} 2378c2ecf20Sopenharmony_ci#define MDP5_DISP_INTF_SEL_INTF2__MASK 0x00ff0000 2388c2ecf20Sopenharmony_ci#define MDP5_DISP_INTF_SEL_INTF2__SHIFT 16 2398c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_DISP_INTF_SEL_INTF2(enum mdp5_intf_type val) 2408c2ecf20Sopenharmony_ci{ 2418c2ecf20Sopenharmony_ci return ((val) << MDP5_DISP_INTF_SEL_INTF2__SHIFT) & MDP5_DISP_INTF_SEL_INTF2__MASK; 2428c2ecf20Sopenharmony_ci} 2438c2ecf20Sopenharmony_ci#define MDP5_DISP_INTF_SEL_INTF3__MASK 0xff000000 2448c2ecf20Sopenharmony_ci#define MDP5_DISP_INTF_SEL_INTF3__SHIFT 24 2458c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_DISP_INTF_SEL_INTF3(enum mdp5_intf_type val) 2468c2ecf20Sopenharmony_ci{ 2478c2ecf20Sopenharmony_ci return ((val) << MDP5_DISP_INTF_SEL_INTF3__SHIFT) & MDP5_DISP_INTF_SEL_INTF3__MASK; 2488c2ecf20Sopenharmony_ci} 2498c2ecf20Sopenharmony_ci 2508c2ecf20Sopenharmony_ci#define REG_MDP5_INTR_EN 0x00000010 2518c2ecf20Sopenharmony_ci 2528c2ecf20Sopenharmony_ci#define REG_MDP5_INTR_STATUS 0x00000014 2538c2ecf20Sopenharmony_ci 2548c2ecf20Sopenharmony_ci#define REG_MDP5_INTR_CLEAR 0x00000018 2558c2ecf20Sopenharmony_ci 2568c2ecf20Sopenharmony_ci#define REG_MDP5_HIST_INTR_EN 0x0000001c 2578c2ecf20Sopenharmony_ci 2588c2ecf20Sopenharmony_ci#define REG_MDP5_HIST_INTR_STATUS 0x00000020 2598c2ecf20Sopenharmony_ci 2608c2ecf20Sopenharmony_ci#define REG_MDP5_HIST_INTR_CLEAR 0x00000024 2618c2ecf20Sopenharmony_ci 2628c2ecf20Sopenharmony_ci#define REG_MDP5_SPARE_0 0x00000028 2638c2ecf20Sopenharmony_ci#define MDP5_SPARE_0_SPLIT_DPL_SINGLE_FLUSH_EN 0x00000001 2648c2ecf20Sopenharmony_ci 2658c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_SMP_ALLOC_W(uint32_t i0) { return 0x00000080 + 0x4*i0; } 2668c2ecf20Sopenharmony_ci 2678c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_SMP_ALLOC_W_REG(uint32_t i0) { return 0x00000080 + 0x4*i0; } 2688c2ecf20Sopenharmony_ci#define MDP5_SMP_ALLOC_W_REG_CLIENT0__MASK 0x000000ff 2698c2ecf20Sopenharmony_ci#define MDP5_SMP_ALLOC_W_REG_CLIENT0__SHIFT 0 2708c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_SMP_ALLOC_W_REG_CLIENT0(uint32_t val) 2718c2ecf20Sopenharmony_ci{ 2728c2ecf20Sopenharmony_ci return ((val) << MDP5_SMP_ALLOC_W_REG_CLIENT0__SHIFT) & MDP5_SMP_ALLOC_W_REG_CLIENT0__MASK; 2738c2ecf20Sopenharmony_ci} 2748c2ecf20Sopenharmony_ci#define MDP5_SMP_ALLOC_W_REG_CLIENT1__MASK 0x0000ff00 2758c2ecf20Sopenharmony_ci#define MDP5_SMP_ALLOC_W_REG_CLIENT1__SHIFT 8 2768c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_SMP_ALLOC_W_REG_CLIENT1(uint32_t val) 2778c2ecf20Sopenharmony_ci{ 2788c2ecf20Sopenharmony_ci return ((val) << MDP5_SMP_ALLOC_W_REG_CLIENT1__SHIFT) & MDP5_SMP_ALLOC_W_REG_CLIENT1__MASK; 2798c2ecf20Sopenharmony_ci} 2808c2ecf20Sopenharmony_ci#define MDP5_SMP_ALLOC_W_REG_CLIENT2__MASK 0x00ff0000 2818c2ecf20Sopenharmony_ci#define MDP5_SMP_ALLOC_W_REG_CLIENT2__SHIFT 16 2828c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_SMP_ALLOC_W_REG_CLIENT2(uint32_t val) 2838c2ecf20Sopenharmony_ci{ 2848c2ecf20Sopenharmony_ci return ((val) << MDP5_SMP_ALLOC_W_REG_CLIENT2__SHIFT) & MDP5_SMP_ALLOC_W_REG_CLIENT2__MASK; 2858c2ecf20Sopenharmony_ci} 2868c2ecf20Sopenharmony_ci 2878c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_SMP_ALLOC_R(uint32_t i0) { return 0x00000130 + 0x4*i0; } 2888c2ecf20Sopenharmony_ci 2898c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_SMP_ALLOC_R_REG(uint32_t i0) { return 0x00000130 + 0x4*i0; } 2908c2ecf20Sopenharmony_ci#define MDP5_SMP_ALLOC_R_REG_CLIENT0__MASK 0x000000ff 2918c2ecf20Sopenharmony_ci#define MDP5_SMP_ALLOC_R_REG_CLIENT0__SHIFT 0 2928c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_SMP_ALLOC_R_REG_CLIENT0(uint32_t val) 2938c2ecf20Sopenharmony_ci{ 2948c2ecf20Sopenharmony_ci return ((val) << MDP5_SMP_ALLOC_R_REG_CLIENT0__SHIFT) & MDP5_SMP_ALLOC_R_REG_CLIENT0__MASK; 2958c2ecf20Sopenharmony_ci} 2968c2ecf20Sopenharmony_ci#define MDP5_SMP_ALLOC_R_REG_CLIENT1__MASK 0x0000ff00 2978c2ecf20Sopenharmony_ci#define MDP5_SMP_ALLOC_R_REG_CLIENT1__SHIFT 8 2988c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_SMP_ALLOC_R_REG_CLIENT1(uint32_t val) 2998c2ecf20Sopenharmony_ci{ 3008c2ecf20Sopenharmony_ci return ((val) << MDP5_SMP_ALLOC_R_REG_CLIENT1__SHIFT) & MDP5_SMP_ALLOC_R_REG_CLIENT1__MASK; 3018c2ecf20Sopenharmony_ci} 3028c2ecf20Sopenharmony_ci#define MDP5_SMP_ALLOC_R_REG_CLIENT2__MASK 0x00ff0000 3038c2ecf20Sopenharmony_ci#define MDP5_SMP_ALLOC_R_REG_CLIENT2__SHIFT 16 3048c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_SMP_ALLOC_R_REG_CLIENT2(uint32_t val) 3058c2ecf20Sopenharmony_ci{ 3068c2ecf20Sopenharmony_ci return ((val) << MDP5_SMP_ALLOC_R_REG_CLIENT2__SHIFT) & MDP5_SMP_ALLOC_R_REG_CLIENT2__MASK; 3078c2ecf20Sopenharmony_ci} 3088c2ecf20Sopenharmony_ci 3098c2ecf20Sopenharmony_cistatic inline uint32_t __offset_IGC(enum mdp5_igc_type idx) 3108c2ecf20Sopenharmony_ci{ 3118c2ecf20Sopenharmony_ci switch (idx) { 3128c2ecf20Sopenharmony_ci case IGC_VIG: return 0x00000200; 3138c2ecf20Sopenharmony_ci case IGC_RGB: return 0x00000210; 3148c2ecf20Sopenharmony_ci case IGC_DMA: return 0x00000220; 3158c2ecf20Sopenharmony_ci case IGC_DSPP: return 0x00000300; 3168c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 3178c2ecf20Sopenharmony_ci } 3188c2ecf20Sopenharmony_ci} 3198c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_IGC(enum mdp5_igc_type i0) { return 0x00000000 + __offset_IGC(i0); } 3208c2ecf20Sopenharmony_ci 3218c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_IGC_LUT(enum mdp5_igc_type i0, uint32_t i1) { return 0x00000000 + __offset_IGC(i0) + 0x4*i1; } 3228c2ecf20Sopenharmony_ci 3238c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_IGC_LUT_REG(enum mdp5_igc_type i0, uint32_t i1) { return 0x00000000 + __offset_IGC(i0) + 0x4*i1; } 3248c2ecf20Sopenharmony_ci#define MDP5_IGC_LUT_REG_VAL__MASK 0x00000fff 3258c2ecf20Sopenharmony_ci#define MDP5_IGC_LUT_REG_VAL__SHIFT 0 3268c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_IGC_LUT_REG_VAL(uint32_t val) 3278c2ecf20Sopenharmony_ci{ 3288c2ecf20Sopenharmony_ci return ((val) << MDP5_IGC_LUT_REG_VAL__SHIFT) & MDP5_IGC_LUT_REG_VAL__MASK; 3298c2ecf20Sopenharmony_ci} 3308c2ecf20Sopenharmony_ci#define MDP5_IGC_LUT_REG_INDEX_UPDATE 0x02000000 3318c2ecf20Sopenharmony_ci#define MDP5_IGC_LUT_REG_DISABLE_PIPE_0 0x10000000 3328c2ecf20Sopenharmony_ci#define MDP5_IGC_LUT_REG_DISABLE_PIPE_1 0x20000000 3338c2ecf20Sopenharmony_ci#define MDP5_IGC_LUT_REG_DISABLE_PIPE_2 0x40000000 3348c2ecf20Sopenharmony_ci 3358c2ecf20Sopenharmony_ci#define REG_MDP5_SPLIT_DPL_EN 0x000002f4 3368c2ecf20Sopenharmony_ci 3378c2ecf20Sopenharmony_ci#define REG_MDP5_SPLIT_DPL_UPPER 0x000002f8 3388c2ecf20Sopenharmony_ci#define MDP5_SPLIT_DPL_UPPER_SMART_PANEL 0x00000002 3398c2ecf20Sopenharmony_ci#define MDP5_SPLIT_DPL_UPPER_SMART_PANEL_FREE_RUN 0x00000004 3408c2ecf20Sopenharmony_ci#define MDP5_SPLIT_DPL_UPPER_INTF1_SW_TRG_MUX 0x00000010 3418c2ecf20Sopenharmony_ci#define MDP5_SPLIT_DPL_UPPER_INTF2_SW_TRG_MUX 0x00000100 3428c2ecf20Sopenharmony_ci 3438c2ecf20Sopenharmony_ci#define REG_MDP5_SPLIT_DPL_LOWER 0x000003f0 3448c2ecf20Sopenharmony_ci#define MDP5_SPLIT_DPL_LOWER_SMART_PANEL 0x00000002 3458c2ecf20Sopenharmony_ci#define MDP5_SPLIT_DPL_LOWER_SMART_PANEL_FREE_RUN 0x00000004 3468c2ecf20Sopenharmony_ci#define MDP5_SPLIT_DPL_LOWER_INTF1_TG_SYNC 0x00000010 3478c2ecf20Sopenharmony_ci#define MDP5_SPLIT_DPL_LOWER_INTF2_TG_SYNC 0x00000100 3488c2ecf20Sopenharmony_ci 3498c2ecf20Sopenharmony_cistatic inline uint32_t __offset_CTL(uint32_t idx) 3508c2ecf20Sopenharmony_ci{ 3518c2ecf20Sopenharmony_ci switch (idx) { 3528c2ecf20Sopenharmony_ci case 0: return (mdp5_cfg->ctl.base[0]); 3538c2ecf20Sopenharmony_ci case 1: return (mdp5_cfg->ctl.base[1]); 3548c2ecf20Sopenharmony_ci case 2: return (mdp5_cfg->ctl.base[2]); 3558c2ecf20Sopenharmony_ci case 3: return (mdp5_cfg->ctl.base[3]); 3568c2ecf20Sopenharmony_ci case 4: return (mdp5_cfg->ctl.base[4]); 3578c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 3588c2ecf20Sopenharmony_ci } 3598c2ecf20Sopenharmony_ci} 3608c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_CTL(uint32_t i0) { return 0x00000000 + __offset_CTL(i0); } 3618c2ecf20Sopenharmony_ci 3628c2ecf20Sopenharmony_cistatic inline uint32_t __offset_LAYER(uint32_t idx) 3638c2ecf20Sopenharmony_ci{ 3648c2ecf20Sopenharmony_ci switch (idx) { 3658c2ecf20Sopenharmony_ci case 0: return 0x00000000; 3668c2ecf20Sopenharmony_ci case 1: return 0x00000004; 3678c2ecf20Sopenharmony_ci case 2: return 0x00000008; 3688c2ecf20Sopenharmony_ci case 3: return 0x0000000c; 3698c2ecf20Sopenharmony_ci case 4: return 0x00000010; 3708c2ecf20Sopenharmony_ci case 5: return 0x00000024; 3718c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 3728c2ecf20Sopenharmony_ci } 3738c2ecf20Sopenharmony_ci} 3748c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_CTL_LAYER(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_CTL(i0) + __offset_LAYER(i1); } 3758c2ecf20Sopenharmony_ci 3768c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_CTL_LAYER_REG(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_CTL(i0) + __offset_LAYER(i1); } 3778c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_VIG0__MASK 0x00000007 3788c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_VIG0__SHIFT 0 3798c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_LAYER_REG_VIG0(uint32_t val) 3808c2ecf20Sopenharmony_ci{ 3818c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_LAYER_REG_VIG0__SHIFT) & MDP5_CTL_LAYER_REG_VIG0__MASK; 3828c2ecf20Sopenharmony_ci} 3838c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_VIG1__MASK 0x00000038 3848c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_VIG1__SHIFT 3 3858c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_LAYER_REG_VIG1(uint32_t val) 3868c2ecf20Sopenharmony_ci{ 3878c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_LAYER_REG_VIG1__SHIFT) & MDP5_CTL_LAYER_REG_VIG1__MASK; 3888c2ecf20Sopenharmony_ci} 3898c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_VIG2__MASK 0x000001c0 3908c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_VIG2__SHIFT 6 3918c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_LAYER_REG_VIG2(uint32_t val) 3928c2ecf20Sopenharmony_ci{ 3938c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_LAYER_REG_VIG2__SHIFT) & MDP5_CTL_LAYER_REG_VIG2__MASK; 3948c2ecf20Sopenharmony_ci} 3958c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_RGB0__MASK 0x00000e00 3968c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_RGB0__SHIFT 9 3978c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_LAYER_REG_RGB0(uint32_t val) 3988c2ecf20Sopenharmony_ci{ 3998c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_LAYER_REG_RGB0__SHIFT) & MDP5_CTL_LAYER_REG_RGB0__MASK; 4008c2ecf20Sopenharmony_ci} 4018c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_RGB1__MASK 0x00007000 4028c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_RGB1__SHIFT 12 4038c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_LAYER_REG_RGB1(uint32_t val) 4048c2ecf20Sopenharmony_ci{ 4058c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_LAYER_REG_RGB1__SHIFT) & MDP5_CTL_LAYER_REG_RGB1__MASK; 4068c2ecf20Sopenharmony_ci} 4078c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_RGB2__MASK 0x00038000 4088c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_RGB2__SHIFT 15 4098c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_LAYER_REG_RGB2(uint32_t val) 4108c2ecf20Sopenharmony_ci{ 4118c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_LAYER_REG_RGB2__SHIFT) & MDP5_CTL_LAYER_REG_RGB2__MASK; 4128c2ecf20Sopenharmony_ci} 4138c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_DMA0__MASK 0x001c0000 4148c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_DMA0__SHIFT 18 4158c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_LAYER_REG_DMA0(uint32_t val) 4168c2ecf20Sopenharmony_ci{ 4178c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_LAYER_REG_DMA0__SHIFT) & MDP5_CTL_LAYER_REG_DMA0__MASK; 4188c2ecf20Sopenharmony_ci} 4198c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_DMA1__MASK 0x00e00000 4208c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_DMA1__SHIFT 21 4218c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_LAYER_REG_DMA1(uint32_t val) 4228c2ecf20Sopenharmony_ci{ 4238c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_LAYER_REG_DMA1__SHIFT) & MDP5_CTL_LAYER_REG_DMA1__MASK; 4248c2ecf20Sopenharmony_ci} 4258c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_BORDER_COLOR 0x01000000 4268c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_CURSOR_OUT 0x02000000 4278c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_VIG3__MASK 0x1c000000 4288c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_VIG3__SHIFT 26 4298c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_LAYER_REG_VIG3(uint32_t val) 4308c2ecf20Sopenharmony_ci{ 4318c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_LAYER_REG_VIG3__SHIFT) & MDP5_CTL_LAYER_REG_VIG3__MASK; 4328c2ecf20Sopenharmony_ci} 4338c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_RGB3__MASK 0xe0000000 4348c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_REG_RGB3__SHIFT 29 4358c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_LAYER_REG_RGB3(uint32_t val) 4368c2ecf20Sopenharmony_ci{ 4378c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_LAYER_REG_RGB3__SHIFT) & MDP5_CTL_LAYER_REG_RGB3__MASK; 4388c2ecf20Sopenharmony_ci} 4398c2ecf20Sopenharmony_ci 4408c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_CTL_OP(uint32_t i0) { return 0x00000014 + __offset_CTL(i0); } 4418c2ecf20Sopenharmony_ci#define MDP5_CTL_OP_MODE__MASK 0x0000000f 4428c2ecf20Sopenharmony_ci#define MDP5_CTL_OP_MODE__SHIFT 0 4438c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_OP_MODE(enum mdp5_ctl_mode val) 4448c2ecf20Sopenharmony_ci{ 4458c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_OP_MODE__SHIFT) & MDP5_CTL_OP_MODE__MASK; 4468c2ecf20Sopenharmony_ci} 4478c2ecf20Sopenharmony_ci#define MDP5_CTL_OP_INTF_NUM__MASK 0x00000070 4488c2ecf20Sopenharmony_ci#define MDP5_CTL_OP_INTF_NUM__SHIFT 4 4498c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_OP_INTF_NUM(enum mdp5_intfnum val) 4508c2ecf20Sopenharmony_ci{ 4518c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_OP_INTF_NUM__SHIFT) & MDP5_CTL_OP_INTF_NUM__MASK; 4528c2ecf20Sopenharmony_ci} 4538c2ecf20Sopenharmony_ci#define MDP5_CTL_OP_CMD_MODE 0x00020000 4548c2ecf20Sopenharmony_ci#define MDP5_CTL_OP_PACK_3D_ENABLE 0x00080000 4558c2ecf20Sopenharmony_ci#define MDP5_CTL_OP_PACK_3D__MASK 0x00300000 4568c2ecf20Sopenharmony_ci#define MDP5_CTL_OP_PACK_3D__SHIFT 20 4578c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_OP_PACK_3D(enum mdp5_pack_3d val) 4588c2ecf20Sopenharmony_ci{ 4598c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_OP_PACK_3D__SHIFT) & MDP5_CTL_OP_PACK_3D__MASK; 4608c2ecf20Sopenharmony_ci} 4618c2ecf20Sopenharmony_ci 4628c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_CTL_FLUSH(uint32_t i0) { return 0x00000018 + __offset_CTL(i0); } 4638c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_VIG0 0x00000001 4648c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_VIG1 0x00000002 4658c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_VIG2 0x00000004 4668c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_RGB0 0x00000008 4678c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_RGB1 0x00000010 4688c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_RGB2 0x00000020 4698c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_LM0 0x00000040 4708c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_LM1 0x00000080 4718c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_LM2 0x00000100 4728c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_LM3 0x00000200 4738c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_LM4 0x00000400 4748c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_DMA0 0x00000800 4758c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_DMA1 0x00001000 4768c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_DSPP0 0x00002000 4778c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_DSPP1 0x00004000 4788c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_DSPP2 0x00008000 4798c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_WB 0x00010000 4808c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_CTL 0x00020000 4818c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_VIG3 0x00040000 4828c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_RGB3 0x00080000 4838c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_LM5 0x00100000 4848c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_DSPP3 0x00200000 4858c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_CURSOR_0 0x00400000 4868c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_CURSOR_1 0x00800000 4878c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_CHROMADOWN_0 0x04000000 4888c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_TIMING_3 0x10000000 4898c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_TIMING_2 0x20000000 4908c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_TIMING_1 0x40000000 4918c2ecf20Sopenharmony_ci#define MDP5_CTL_FLUSH_TIMING_0 0x80000000 4928c2ecf20Sopenharmony_ci 4938c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_CTL_START(uint32_t i0) { return 0x0000001c + __offset_CTL(i0); } 4948c2ecf20Sopenharmony_ci 4958c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_CTL_PACK_3D(uint32_t i0) { return 0x00000020 + __offset_CTL(i0); } 4968c2ecf20Sopenharmony_ci 4978c2ecf20Sopenharmony_cistatic inline uint32_t __offset_LAYER_EXT(uint32_t idx) 4988c2ecf20Sopenharmony_ci{ 4998c2ecf20Sopenharmony_ci switch (idx) { 5008c2ecf20Sopenharmony_ci case 0: return 0x00000040; 5018c2ecf20Sopenharmony_ci case 1: return 0x00000044; 5028c2ecf20Sopenharmony_ci case 2: return 0x00000048; 5038c2ecf20Sopenharmony_ci case 3: return 0x0000004c; 5048c2ecf20Sopenharmony_ci case 4: return 0x00000050; 5058c2ecf20Sopenharmony_ci case 5: return 0x00000054; 5068c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 5078c2ecf20Sopenharmony_ci } 5088c2ecf20Sopenharmony_ci} 5098c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_CTL_LAYER_EXT(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_CTL(i0) + __offset_LAYER_EXT(i1); } 5108c2ecf20Sopenharmony_ci 5118c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_CTL_LAYER_EXT_REG(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_CTL(i0) + __offset_LAYER_EXT(i1); } 5128c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_VIG0_BIT3 0x00000001 5138c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_VIG1_BIT3 0x00000004 5148c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_VIG2_BIT3 0x00000010 5158c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_VIG3_BIT3 0x00000040 5168c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_RGB0_BIT3 0x00000100 5178c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_RGB1_BIT3 0x00000400 5188c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_RGB2_BIT3 0x00001000 5198c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_RGB3_BIT3 0x00004000 5208c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_DMA0_BIT3 0x00010000 5218c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_DMA1_BIT3 0x00040000 5228c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_CURSOR0__MASK 0x00f00000 5238c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_CURSOR0__SHIFT 20 5248c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_LAYER_EXT_REG_CURSOR0(enum mdp_mixer_stage_id val) 5258c2ecf20Sopenharmony_ci{ 5268c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_LAYER_EXT_REG_CURSOR0__SHIFT) & MDP5_CTL_LAYER_EXT_REG_CURSOR0__MASK; 5278c2ecf20Sopenharmony_ci} 5288c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_CURSOR1__MASK 0x3c000000 5298c2ecf20Sopenharmony_ci#define MDP5_CTL_LAYER_EXT_REG_CURSOR1__SHIFT 26 5308c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_CTL_LAYER_EXT_REG_CURSOR1(enum mdp_mixer_stage_id val) 5318c2ecf20Sopenharmony_ci{ 5328c2ecf20Sopenharmony_ci return ((val) << MDP5_CTL_LAYER_EXT_REG_CURSOR1__SHIFT) & MDP5_CTL_LAYER_EXT_REG_CURSOR1__MASK; 5338c2ecf20Sopenharmony_ci} 5348c2ecf20Sopenharmony_ci 5358c2ecf20Sopenharmony_cistatic inline uint32_t __offset_PIPE(enum mdp5_pipe idx) 5368c2ecf20Sopenharmony_ci{ 5378c2ecf20Sopenharmony_ci switch (idx) { 5388c2ecf20Sopenharmony_ci case SSPP_NONE: return (INVALID_IDX(idx)); 5398c2ecf20Sopenharmony_ci case SSPP_VIG0: return (mdp5_cfg->pipe_vig.base[0]); 5408c2ecf20Sopenharmony_ci case SSPP_VIG1: return (mdp5_cfg->pipe_vig.base[1]); 5418c2ecf20Sopenharmony_ci case SSPP_VIG2: return (mdp5_cfg->pipe_vig.base[2]); 5428c2ecf20Sopenharmony_ci case SSPP_RGB0: return (mdp5_cfg->pipe_rgb.base[0]); 5438c2ecf20Sopenharmony_ci case SSPP_RGB1: return (mdp5_cfg->pipe_rgb.base[1]); 5448c2ecf20Sopenharmony_ci case SSPP_RGB2: return (mdp5_cfg->pipe_rgb.base[2]); 5458c2ecf20Sopenharmony_ci case SSPP_DMA0: return (mdp5_cfg->pipe_dma.base[0]); 5468c2ecf20Sopenharmony_ci case SSPP_DMA1: return (mdp5_cfg->pipe_dma.base[1]); 5478c2ecf20Sopenharmony_ci case SSPP_VIG3: return (mdp5_cfg->pipe_vig.base[3]); 5488c2ecf20Sopenharmony_ci case SSPP_RGB3: return (mdp5_cfg->pipe_rgb.base[3]); 5498c2ecf20Sopenharmony_ci case SSPP_CURSOR0: return (mdp5_cfg->pipe_cursor.base[0]); 5508c2ecf20Sopenharmony_ci case SSPP_CURSOR1: return (mdp5_cfg->pipe_cursor.base[1]); 5518c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 5528c2ecf20Sopenharmony_ci } 5538c2ecf20Sopenharmony_ci} 5548c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE(enum mdp5_pipe i0) { return 0x00000000 + __offset_PIPE(i0); } 5558c2ecf20Sopenharmony_ci 5568c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_OP_MODE(enum mdp5_pipe i0) { return 0x00000200 + __offset_PIPE(i0); } 5578c2ecf20Sopenharmony_ci#define MDP5_PIPE_OP_MODE_CSC_DST_DATA_FORMAT__MASK 0x00080000 5588c2ecf20Sopenharmony_ci#define MDP5_PIPE_OP_MODE_CSC_DST_DATA_FORMAT__SHIFT 19 5598c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_OP_MODE_CSC_DST_DATA_FORMAT(enum mdp5_data_format val) 5608c2ecf20Sopenharmony_ci{ 5618c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_OP_MODE_CSC_DST_DATA_FORMAT__SHIFT) & MDP5_PIPE_OP_MODE_CSC_DST_DATA_FORMAT__MASK; 5628c2ecf20Sopenharmony_ci} 5638c2ecf20Sopenharmony_ci#define MDP5_PIPE_OP_MODE_CSC_SRC_DATA_FORMAT__MASK 0x00040000 5648c2ecf20Sopenharmony_ci#define MDP5_PIPE_OP_MODE_CSC_SRC_DATA_FORMAT__SHIFT 18 5658c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_OP_MODE_CSC_SRC_DATA_FORMAT(enum mdp5_data_format val) 5668c2ecf20Sopenharmony_ci{ 5678c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_OP_MODE_CSC_SRC_DATA_FORMAT__SHIFT) & MDP5_PIPE_OP_MODE_CSC_SRC_DATA_FORMAT__MASK; 5688c2ecf20Sopenharmony_ci} 5698c2ecf20Sopenharmony_ci#define MDP5_PIPE_OP_MODE_CSC_1_EN 0x00020000 5708c2ecf20Sopenharmony_ci 5718c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_HIST_CTL_BASE(enum mdp5_pipe i0) { return 0x000002c4 + __offset_PIPE(i0); } 5728c2ecf20Sopenharmony_ci 5738c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_HIST_LUT_BASE(enum mdp5_pipe i0) { return 0x000002f0 + __offset_PIPE(i0); } 5748c2ecf20Sopenharmony_ci 5758c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_HIST_LUT_SWAP(enum mdp5_pipe i0) { return 0x00000300 + __offset_PIPE(i0); } 5768c2ecf20Sopenharmony_ci 5778c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CSC_1_MATRIX_COEFF_0(enum mdp5_pipe i0) { return 0x00000320 + __offset_PIPE(i0); } 5788c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_0_COEFF_11__MASK 0x00001fff 5798c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_0_COEFF_11__SHIFT 0 5808c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_MATRIX_COEFF_0_COEFF_11(uint32_t val) 5818c2ecf20Sopenharmony_ci{ 5828c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_MATRIX_COEFF_0_COEFF_11__SHIFT) & MDP5_PIPE_CSC_1_MATRIX_COEFF_0_COEFF_11__MASK; 5838c2ecf20Sopenharmony_ci} 5848c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_0_COEFF_12__MASK 0x1fff0000 5858c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_0_COEFF_12__SHIFT 16 5868c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_MATRIX_COEFF_0_COEFF_12(uint32_t val) 5878c2ecf20Sopenharmony_ci{ 5888c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_MATRIX_COEFF_0_COEFF_12__SHIFT) & MDP5_PIPE_CSC_1_MATRIX_COEFF_0_COEFF_12__MASK; 5898c2ecf20Sopenharmony_ci} 5908c2ecf20Sopenharmony_ci 5918c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CSC_1_MATRIX_COEFF_1(enum mdp5_pipe i0) { return 0x00000324 + __offset_PIPE(i0); } 5928c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_1_COEFF_13__MASK 0x00001fff 5938c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_1_COEFF_13__SHIFT 0 5948c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_MATRIX_COEFF_1_COEFF_13(uint32_t val) 5958c2ecf20Sopenharmony_ci{ 5968c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_MATRIX_COEFF_1_COEFF_13__SHIFT) & MDP5_PIPE_CSC_1_MATRIX_COEFF_1_COEFF_13__MASK; 5978c2ecf20Sopenharmony_ci} 5988c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_1_COEFF_21__MASK 0x1fff0000 5998c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_1_COEFF_21__SHIFT 16 6008c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_MATRIX_COEFF_1_COEFF_21(uint32_t val) 6018c2ecf20Sopenharmony_ci{ 6028c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_MATRIX_COEFF_1_COEFF_21__SHIFT) & MDP5_PIPE_CSC_1_MATRIX_COEFF_1_COEFF_21__MASK; 6038c2ecf20Sopenharmony_ci} 6048c2ecf20Sopenharmony_ci 6058c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CSC_1_MATRIX_COEFF_2(enum mdp5_pipe i0) { return 0x00000328 + __offset_PIPE(i0); } 6068c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_2_COEFF_22__MASK 0x00001fff 6078c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_2_COEFF_22__SHIFT 0 6088c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_MATRIX_COEFF_2_COEFF_22(uint32_t val) 6098c2ecf20Sopenharmony_ci{ 6108c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_MATRIX_COEFF_2_COEFF_22__SHIFT) & MDP5_PIPE_CSC_1_MATRIX_COEFF_2_COEFF_22__MASK; 6118c2ecf20Sopenharmony_ci} 6128c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_2_COEFF_23__MASK 0x1fff0000 6138c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_2_COEFF_23__SHIFT 16 6148c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_MATRIX_COEFF_2_COEFF_23(uint32_t val) 6158c2ecf20Sopenharmony_ci{ 6168c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_MATRIX_COEFF_2_COEFF_23__SHIFT) & MDP5_PIPE_CSC_1_MATRIX_COEFF_2_COEFF_23__MASK; 6178c2ecf20Sopenharmony_ci} 6188c2ecf20Sopenharmony_ci 6198c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CSC_1_MATRIX_COEFF_3(enum mdp5_pipe i0) { return 0x0000032c + __offset_PIPE(i0); } 6208c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_3_COEFF_31__MASK 0x00001fff 6218c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_3_COEFF_31__SHIFT 0 6228c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_MATRIX_COEFF_3_COEFF_31(uint32_t val) 6238c2ecf20Sopenharmony_ci{ 6248c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_MATRIX_COEFF_3_COEFF_31__SHIFT) & MDP5_PIPE_CSC_1_MATRIX_COEFF_3_COEFF_31__MASK; 6258c2ecf20Sopenharmony_ci} 6268c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_3_COEFF_32__MASK 0x1fff0000 6278c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_3_COEFF_32__SHIFT 16 6288c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_MATRIX_COEFF_3_COEFF_32(uint32_t val) 6298c2ecf20Sopenharmony_ci{ 6308c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_MATRIX_COEFF_3_COEFF_32__SHIFT) & MDP5_PIPE_CSC_1_MATRIX_COEFF_3_COEFF_32__MASK; 6318c2ecf20Sopenharmony_ci} 6328c2ecf20Sopenharmony_ci 6338c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CSC_1_MATRIX_COEFF_4(enum mdp5_pipe i0) { return 0x00000330 + __offset_PIPE(i0); } 6348c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_4_COEFF_33__MASK 0x00001fff 6358c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_MATRIX_COEFF_4_COEFF_33__SHIFT 0 6368c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_MATRIX_COEFF_4_COEFF_33(uint32_t val) 6378c2ecf20Sopenharmony_ci{ 6388c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_MATRIX_COEFF_4_COEFF_33__SHIFT) & MDP5_PIPE_CSC_1_MATRIX_COEFF_4_COEFF_33__MASK; 6398c2ecf20Sopenharmony_ci} 6408c2ecf20Sopenharmony_ci 6418c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CSC_1_PRE_CLAMP(enum mdp5_pipe i0, uint32_t i1) { return 0x00000334 + __offset_PIPE(i0) + 0x4*i1; } 6428c2ecf20Sopenharmony_ci 6438c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CSC_1_PRE_CLAMP_REG(enum mdp5_pipe i0, uint32_t i1) { return 0x00000334 + __offset_PIPE(i0) + 0x4*i1; } 6448c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_PRE_CLAMP_REG_HIGH__MASK 0x000000ff 6458c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_PRE_CLAMP_REG_HIGH__SHIFT 0 6468c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_PRE_CLAMP_REG_HIGH(uint32_t val) 6478c2ecf20Sopenharmony_ci{ 6488c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_PRE_CLAMP_REG_HIGH__SHIFT) & MDP5_PIPE_CSC_1_PRE_CLAMP_REG_HIGH__MASK; 6498c2ecf20Sopenharmony_ci} 6508c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_PRE_CLAMP_REG_LOW__MASK 0x0000ff00 6518c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_PRE_CLAMP_REG_LOW__SHIFT 8 6528c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_PRE_CLAMP_REG_LOW(uint32_t val) 6538c2ecf20Sopenharmony_ci{ 6548c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_PRE_CLAMP_REG_LOW__SHIFT) & MDP5_PIPE_CSC_1_PRE_CLAMP_REG_LOW__MASK; 6558c2ecf20Sopenharmony_ci} 6568c2ecf20Sopenharmony_ci 6578c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CSC_1_POST_CLAMP(enum mdp5_pipe i0, uint32_t i1) { return 0x00000340 + __offset_PIPE(i0) + 0x4*i1; } 6588c2ecf20Sopenharmony_ci 6598c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CSC_1_POST_CLAMP_REG(enum mdp5_pipe i0, uint32_t i1) { return 0x00000340 + __offset_PIPE(i0) + 0x4*i1; } 6608c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_POST_CLAMP_REG_HIGH__MASK 0x000000ff 6618c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_POST_CLAMP_REG_HIGH__SHIFT 0 6628c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_POST_CLAMP_REG_HIGH(uint32_t val) 6638c2ecf20Sopenharmony_ci{ 6648c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_POST_CLAMP_REG_HIGH__SHIFT) & MDP5_PIPE_CSC_1_POST_CLAMP_REG_HIGH__MASK; 6658c2ecf20Sopenharmony_ci} 6668c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_POST_CLAMP_REG_LOW__MASK 0x0000ff00 6678c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_POST_CLAMP_REG_LOW__SHIFT 8 6688c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_POST_CLAMP_REG_LOW(uint32_t val) 6698c2ecf20Sopenharmony_ci{ 6708c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_POST_CLAMP_REG_LOW__SHIFT) & MDP5_PIPE_CSC_1_POST_CLAMP_REG_LOW__MASK; 6718c2ecf20Sopenharmony_ci} 6728c2ecf20Sopenharmony_ci 6738c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CSC_1_PRE_BIAS(enum mdp5_pipe i0, uint32_t i1) { return 0x0000034c + __offset_PIPE(i0) + 0x4*i1; } 6748c2ecf20Sopenharmony_ci 6758c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CSC_1_PRE_BIAS_REG(enum mdp5_pipe i0, uint32_t i1) { return 0x0000034c + __offset_PIPE(i0) + 0x4*i1; } 6768c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_PRE_BIAS_REG_VALUE__MASK 0x000001ff 6778c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_PRE_BIAS_REG_VALUE__SHIFT 0 6788c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_PRE_BIAS_REG_VALUE(uint32_t val) 6798c2ecf20Sopenharmony_ci{ 6808c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_PRE_BIAS_REG_VALUE__SHIFT) & MDP5_PIPE_CSC_1_PRE_BIAS_REG_VALUE__MASK; 6818c2ecf20Sopenharmony_ci} 6828c2ecf20Sopenharmony_ci 6838c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CSC_1_POST_BIAS(enum mdp5_pipe i0, uint32_t i1) { return 0x00000358 + __offset_PIPE(i0) + 0x4*i1; } 6848c2ecf20Sopenharmony_ci 6858c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CSC_1_POST_BIAS_REG(enum mdp5_pipe i0, uint32_t i1) { return 0x00000358 + __offset_PIPE(i0) + 0x4*i1; } 6868c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_POST_BIAS_REG_VALUE__MASK 0x000001ff 6878c2ecf20Sopenharmony_ci#define MDP5_PIPE_CSC_1_POST_BIAS_REG_VALUE__SHIFT 0 6888c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_CSC_1_POST_BIAS_REG_VALUE(uint32_t val) 6898c2ecf20Sopenharmony_ci{ 6908c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_CSC_1_POST_BIAS_REG_VALUE__SHIFT) & MDP5_PIPE_CSC_1_POST_BIAS_REG_VALUE__MASK; 6918c2ecf20Sopenharmony_ci} 6928c2ecf20Sopenharmony_ci 6938c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC_SIZE(enum mdp5_pipe i0) { return 0x00000000 + __offset_PIPE(i0); } 6948c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_SIZE_HEIGHT__MASK 0xffff0000 6958c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_SIZE_HEIGHT__SHIFT 16 6968c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_SIZE_HEIGHT(uint32_t val) 6978c2ecf20Sopenharmony_ci{ 6988c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_SIZE_HEIGHT__SHIFT) & MDP5_PIPE_SRC_SIZE_HEIGHT__MASK; 6998c2ecf20Sopenharmony_ci} 7008c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_SIZE_WIDTH__MASK 0x0000ffff 7018c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_SIZE_WIDTH__SHIFT 0 7028c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_SIZE_WIDTH(uint32_t val) 7038c2ecf20Sopenharmony_ci{ 7048c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_SIZE_WIDTH__SHIFT) & MDP5_PIPE_SRC_SIZE_WIDTH__MASK; 7058c2ecf20Sopenharmony_ci} 7068c2ecf20Sopenharmony_ci 7078c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC_IMG_SIZE(enum mdp5_pipe i0) { return 0x00000004 + __offset_PIPE(i0); } 7088c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_IMG_SIZE_HEIGHT__MASK 0xffff0000 7098c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_IMG_SIZE_HEIGHT__SHIFT 16 7108c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_IMG_SIZE_HEIGHT(uint32_t val) 7118c2ecf20Sopenharmony_ci{ 7128c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_IMG_SIZE_HEIGHT__SHIFT) & MDP5_PIPE_SRC_IMG_SIZE_HEIGHT__MASK; 7138c2ecf20Sopenharmony_ci} 7148c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_IMG_SIZE_WIDTH__MASK 0x0000ffff 7158c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_IMG_SIZE_WIDTH__SHIFT 0 7168c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_IMG_SIZE_WIDTH(uint32_t val) 7178c2ecf20Sopenharmony_ci{ 7188c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_IMG_SIZE_WIDTH__SHIFT) & MDP5_PIPE_SRC_IMG_SIZE_WIDTH__MASK; 7198c2ecf20Sopenharmony_ci} 7208c2ecf20Sopenharmony_ci 7218c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC_XY(enum mdp5_pipe i0) { return 0x00000008 + __offset_PIPE(i0); } 7228c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_XY_Y__MASK 0xffff0000 7238c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_XY_Y__SHIFT 16 7248c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_XY_Y(uint32_t val) 7258c2ecf20Sopenharmony_ci{ 7268c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_XY_Y__SHIFT) & MDP5_PIPE_SRC_XY_Y__MASK; 7278c2ecf20Sopenharmony_ci} 7288c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_XY_X__MASK 0x0000ffff 7298c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_XY_X__SHIFT 0 7308c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_XY_X(uint32_t val) 7318c2ecf20Sopenharmony_ci{ 7328c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_XY_X__SHIFT) & MDP5_PIPE_SRC_XY_X__MASK; 7338c2ecf20Sopenharmony_ci} 7348c2ecf20Sopenharmony_ci 7358c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_OUT_SIZE(enum mdp5_pipe i0) { return 0x0000000c + __offset_PIPE(i0); } 7368c2ecf20Sopenharmony_ci#define MDP5_PIPE_OUT_SIZE_HEIGHT__MASK 0xffff0000 7378c2ecf20Sopenharmony_ci#define MDP5_PIPE_OUT_SIZE_HEIGHT__SHIFT 16 7388c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_OUT_SIZE_HEIGHT(uint32_t val) 7398c2ecf20Sopenharmony_ci{ 7408c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_OUT_SIZE_HEIGHT__SHIFT) & MDP5_PIPE_OUT_SIZE_HEIGHT__MASK; 7418c2ecf20Sopenharmony_ci} 7428c2ecf20Sopenharmony_ci#define MDP5_PIPE_OUT_SIZE_WIDTH__MASK 0x0000ffff 7438c2ecf20Sopenharmony_ci#define MDP5_PIPE_OUT_SIZE_WIDTH__SHIFT 0 7448c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_OUT_SIZE_WIDTH(uint32_t val) 7458c2ecf20Sopenharmony_ci{ 7468c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_OUT_SIZE_WIDTH__SHIFT) & MDP5_PIPE_OUT_SIZE_WIDTH__MASK; 7478c2ecf20Sopenharmony_ci} 7488c2ecf20Sopenharmony_ci 7498c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_OUT_XY(enum mdp5_pipe i0) { return 0x00000010 + __offset_PIPE(i0); } 7508c2ecf20Sopenharmony_ci#define MDP5_PIPE_OUT_XY_Y__MASK 0xffff0000 7518c2ecf20Sopenharmony_ci#define MDP5_PIPE_OUT_XY_Y__SHIFT 16 7528c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_OUT_XY_Y(uint32_t val) 7538c2ecf20Sopenharmony_ci{ 7548c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_OUT_XY_Y__SHIFT) & MDP5_PIPE_OUT_XY_Y__MASK; 7558c2ecf20Sopenharmony_ci} 7568c2ecf20Sopenharmony_ci#define MDP5_PIPE_OUT_XY_X__MASK 0x0000ffff 7578c2ecf20Sopenharmony_ci#define MDP5_PIPE_OUT_XY_X__SHIFT 0 7588c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_OUT_XY_X(uint32_t val) 7598c2ecf20Sopenharmony_ci{ 7608c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_OUT_XY_X__SHIFT) & MDP5_PIPE_OUT_XY_X__MASK; 7618c2ecf20Sopenharmony_ci} 7628c2ecf20Sopenharmony_ci 7638c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC0_ADDR(enum mdp5_pipe i0) { return 0x00000014 + __offset_PIPE(i0); } 7648c2ecf20Sopenharmony_ci 7658c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC1_ADDR(enum mdp5_pipe i0) { return 0x00000018 + __offset_PIPE(i0); } 7668c2ecf20Sopenharmony_ci 7678c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC2_ADDR(enum mdp5_pipe i0) { return 0x0000001c + __offset_PIPE(i0); } 7688c2ecf20Sopenharmony_ci 7698c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC3_ADDR(enum mdp5_pipe i0) { return 0x00000020 + __offset_PIPE(i0); } 7708c2ecf20Sopenharmony_ci 7718c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC_STRIDE_A(enum mdp5_pipe i0) { return 0x00000024 + __offset_PIPE(i0); } 7728c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_STRIDE_A_P0__MASK 0x0000ffff 7738c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_STRIDE_A_P0__SHIFT 0 7748c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_STRIDE_A_P0(uint32_t val) 7758c2ecf20Sopenharmony_ci{ 7768c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_STRIDE_A_P0__SHIFT) & MDP5_PIPE_SRC_STRIDE_A_P0__MASK; 7778c2ecf20Sopenharmony_ci} 7788c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_STRIDE_A_P1__MASK 0xffff0000 7798c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_STRIDE_A_P1__SHIFT 16 7808c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_STRIDE_A_P1(uint32_t val) 7818c2ecf20Sopenharmony_ci{ 7828c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_STRIDE_A_P1__SHIFT) & MDP5_PIPE_SRC_STRIDE_A_P1__MASK; 7838c2ecf20Sopenharmony_ci} 7848c2ecf20Sopenharmony_ci 7858c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC_STRIDE_B(enum mdp5_pipe i0) { return 0x00000028 + __offset_PIPE(i0); } 7868c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_STRIDE_B_P2__MASK 0x0000ffff 7878c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_STRIDE_B_P2__SHIFT 0 7888c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_STRIDE_B_P2(uint32_t val) 7898c2ecf20Sopenharmony_ci{ 7908c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_STRIDE_B_P2__SHIFT) & MDP5_PIPE_SRC_STRIDE_B_P2__MASK; 7918c2ecf20Sopenharmony_ci} 7928c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_STRIDE_B_P3__MASK 0xffff0000 7938c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_STRIDE_B_P3__SHIFT 16 7948c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_STRIDE_B_P3(uint32_t val) 7958c2ecf20Sopenharmony_ci{ 7968c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_STRIDE_B_P3__SHIFT) & MDP5_PIPE_SRC_STRIDE_B_P3__MASK; 7978c2ecf20Sopenharmony_ci} 7988c2ecf20Sopenharmony_ci 7998c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_STILE_FRAME_SIZE(enum mdp5_pipe i0) { return 0x0000002c + __offset_PIPE(i0); } 8008c2ecf20Sopenharmony_ci 8018c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC_FORMAT(enum mdp5_pipe i0) { return 0x00000030 + __offset_PIPE(i0); } 8028c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_G_BPC__MASK 0x00000003 8038c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_G_BPC__SHIFT 0 8048c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_FORMAT_G_BPC(enum mdp_bpc val) 8058c2ecf20Sopenharmony_ci{ 8068c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_FORMAT_G_BPC__SHIFT) & MDP5_PIPE_SRC_FORMAT_G_BPC__MASK; 8078c2ecf20Sopenharmony_ci} 8088c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_B_BPC__MASK 0x0000000c 8098c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_B_BPC__SHIFT 2 8108c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_FORMAT_B_BPC(enum mdp_bpc val) 8118c2ecf20Sopenharmony_ci{ 8128c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_FORMAT_B_BPC__SHIFT) & MDP5_PIPE_SRC_FORMAT_B_BPC__MASK; 8138c2ecf20Sopenharmony_ci} 8148c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_R_BPC__MASK 0x00000030 8158c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_R_BPC__SHIFT 4 8168c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_FORMAT_R_BPC(enum mdp_bpc val) 8178c2ecf20Sopenharmony_ci{ 8188c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_FORMAT_R_BPC__SHIFT) & MDP5_PIPE_SRC_FORMAT_R_BPC__MASK; 8198c2ecf20Sopenharmony_ci} 8208c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_A_BPC__MASK 0x000000c0 8218c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_A_BPC__SHIFT 6 8228c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_FORMAT_A_BPC(enum mdp_bpc_alpha val) 8238c2ecf20Sopenharmony_ci{ 8248c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_FORMAT_A_BPC__SHIFT) & MDP5_PIPE_SRC_FORMAT_A_BPC__MASK; 8258c2ecf20Sopenharmony_ci} 8268c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_ALPHA_ENABLE 0x00000100 8278c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_CPP__MASK 0x00000600 8288c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_CPP__SHIFT 9 8298c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_FORMAT_CPP(uint32_t val) 8308c2ecf20Sopenharmony_ci{ 8318c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_FORMAT_CPP__SHIFT) & MDP5_PIPE_SRC_FORMAT_CPP__MASK; 8328c2ecf20Sopenharmony_ci} 8338c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_ROT90 0x00000800 8348c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_UNPACK_COUNT__MASK 0x00003000 8358c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_UNPACK_COUNT__SHIFT 12 8368c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_FORMAT_UNPACK_COUNT(uint32_t val) 8378c2ecf20Sopenharmony_ci{ 8388c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_FORMAT_UNPACK_COUNT__SHIFT) & MDP5_PIPE_SRC_FORMAT_UNPACK_COUNT__MASK; 8398c2ecf20Sopenharmony_ci} 8408c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_UNPACK_TIGHT 0x00020000 8418c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_UNPACK_ALIGN_MSB 0x00040000 8428c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_FETCH_TYPE__MASK 0x00180000 8438c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_FETCH_TYPE__SHIFT 19 8448c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_FORMAT_FETCH_TYPE(enum mdp_fetch_type val) 8458c2ecf20Sopenharmony_ci{ 8468c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_FORMAT_FETCH_TYPE__SHIFT) & MDP5_PIPE_SRC_FORMAT_FETCH_TYPE__MASK; 8478c2ecf20Sopenharmony_ci} 8488c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_CHROMA_SAMP__MASK 0x01800000 8498c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_FORMAT_CHROMA_SAMP__SHIFT 23 8508c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_FORMAT_CHROMA_SAMP(enum mdp_chroma_samp_type val) 8518c2ecf20Sopenharmony_ci{ 8528c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_FORMAT_CHROMA_SAMP__SHIFT) & MDP5_PIPE_SRC_FORMAT_CHROMA_SAMP__MASK; 8538c2ecf20Sopenharmony_ci} 8548c2ecf20Sopenharmony_ci 8558c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC_UNPACK(enum mdp5_pipe i0) { return 0x00000034 + __offset_PIPE(i0); } 8568c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_UNPACK_ELEM0__MASK 0x000000ff 8578c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_UNPACK_ELEM0__SHIFT 0 8588c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_UNPACK_ELEM0(uint32_t val) 8598c2ecf20Sopenharmony_ci{ 8608c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_UNPACK_ELEM0__SHIFT) & MDP5_PIPE_SRC_UNPACK_ELEM0__MASK; 8618c2ecf20Sopenharmony_ci} 8628c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_UNPACK_ELEM1__MASK 0x0000ff00 8638c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_UNPACK_ELEM1__SHIFT 8 8648c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_UNPACK_ELEM1(uint32_t val) 8658c2ecf20Sopenharmony_ci{ 8668c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_UNPACK_ELEM1__SHIFT) & MDP5_PIPE_SRC_UNPACK_ELEM1__MASK; 8678c2ecf20Sopenharmony_ci} 8688c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_UNPACK_ELEM2__MASK 0x00ff0000 8698c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_UNPACK_ELEM2__SHIFT 16 8708c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_UNPACK_ELEM2(uint32_t val) 8718c2ecf20Sopenharmony_ci{ 8728c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_UNPACK_ELEM2__SHIFT) & MDP5_PIPE_SRC_UNPACK_ELEM2__MASK; 8738c2ecf20Sopenharmony_ci} 8748c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_UNPACK_ELEM3__MASK 0xff000000 8758c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_UNPACK_ELEM3__SHIFT 24 8768c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_UNPACK_ELEM3(uint32_t val) 8778c2ecf20Sopenharmony_ci{ 8788c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_UNPACK_ELEM3__SHIFT) & MDP5_PIPE_SRC_UNPACK_ELEM3__MASK; 8798c2ecf20Sopenharmony_ci} 8808c2ecf20Sopenharmony_ci 8818c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC_OP_MODE(enum mdp5_pipe i0) { return 0x00000038 + __offset_PIPE(i0); } 8828c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_OP_MODE_BWC_EN 0x00000001 8838c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_OP_MODE_BWC__MASK 0x00000006 8848c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_OP_MODE_BWC__SHIFT 1 8858c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SRC_OP_MODE_BWC(enum mdp5_pipe_bwc val) 8868c2ecf20Sopenharmony_ci{ 8878c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SRC_OP_MODE_BWC__SHIFT) & MDP5_PIPE_SRC_OP_MODE_BWC__MASK; 8888c2ecf20Sopenharmony_ci} 8898c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_OP_MODE_FLIP_LR 0x00002000 8908c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_OP_MODE_FLIP_UD 0x00004000 8918c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_OP_MODE_IGC_EN 0x00010000 8928c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_OP_MODE_IGC_ROM_0 0x00020000 8938c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_OP_MODE_IGC_ROM_1 0x00040000 8948c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_OP_MODE_DEINTERLACE 0x00400000 8958c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_OP_MODE_DEINTERLACE_ODD 0x00800000 8968c2ecf20Sopenharmony_ci#define MDP5_PIPE_SRC_OP_MODE_SW_PIX_EXT_OVERRIDE 0x80000000 8978c2ecf20Sopenharmony_ci 8988c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC_CONSTANT_COLOR(enum mdp5_pipe i0) { return 0x0000003c + __offset_PIPE(i0); } 8998c2ecf20Sopenharmony_ci 9008c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_FETCH_CONFIG(enum mdp5_pipe i0) { return 0x00000048 + __offset_PIPE(i0); } 9018c2ecf20Sopenharmony_ci 9028c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_VC1_RANGE(enum mdp5_pipe i0) { return 0x0000004c + __offset_PIPE(i0); } 9038c2ecf20Sopenharmony_ci 9048c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_REQPRIO_FIFO_WM_0(enum mdp5_pipe i0) { return 0x00000050 + __offset_PIPE(i0); } 9058c2ecf20Sopenharmony_ci 9068c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_REQPRIO_FIFO_WM_1(enum mdp5_pipe i0) { return 0x00000054 + __offset_PIPE(i0); } 9078c2ecf20Sopenharmony_ci 9088c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_REQPRIO_FIFO_WM_2(enum mdp5_pipe i0) { return 0x00000058 + __offset_PIPE(i0); } 9098c2ecf20Sopenharmony_ci 9108c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SRC_ADDR_SW_STATUS(enum mdp5_pipe i0) { return 0x00000070 + __offset_PIPE(i0); } 9118c2ecf20Sopenharmony_ci 9128c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CURRENT_SRC0_ADDR(enum mdp5_pipe i0) { return 0x000000a4 + __offset_PIPE(i0); } 9138c2ecf20Sopenharmony_ci 9148c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CURRENT_SRC1_ADDR(enum mdp5_pipe i0) { return 0x000000a8 + __offset_PIPE(i0); } 9158c2ecf20Sopenharmony_ci 9168c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CURRENT_SRC2_ADDR(enum mdp5_pipe i0) { return 0x000000ac + __offset_PIPE(i0); } 9178c2ecf20Sopenharmony_ci 9188c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_CURRENT_SRC3_ADDR(enum mdp5_pipe i0) { return 0x000000b0 + __offset_PIPE(i0); } 9198c2ecf20Sopenharmony_ci 9208c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_DECIMATION(enum mdp5_pipe i0) { return 0x000000b4 + __offset_PIPE(i0); } 9218c2ecf20Sopenharmony_ci#define MDP5_PIPE_DECIMATION_VERT__MASK 0x000000ff 9228c2ecf20Sopenharmony_ci#define MDP5_PIPE_DECIMATION_VERT__SHIFT 0 9238c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_DECIMATION_VERT(uint32_t val) 9248c2ecf20Sopenharmony_ci{ 9258c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_DECIMATION_VERT__SHIFT) & MDP5_PIPE_DECIMATION_VERT__MASK; 9268c2ecf20Sopenharmony_ci} 9278c2ecf20Sopenharmony_ci#define MDP5_PIPE_DECIMATION_HORZ__MASK 0x0000ff00 9288c2ecf20Sopenharmony_ci#define MDP5_PIPE_DECIMATION_HORZ__SHIFT 8 9298c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_DECIMATION_HORZ(uint32_t val) 9308c2ecf20Sopenharmony_ci{ 9318c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_DECIMATION_HORZ__SHIFT) & MDP5_PIPE_DECIMATION_HORZ__MASK; 9328c2ecf20Sopenharmony_ci} 9338c2ecf20Sopenharmony_ci 9348c2ecf20Sopenharmony_cistatic inline uint32_t __offset_SW_PIX_EXT(enum mdp_component_type idx) 9358c2ecf20Sopenharmony_ci{ 9368c2ecf20Sopenharmony_ci switch (idx) { 9378c2ecf20Sopenharmony_ci case COMP_0: return 0x00000100; 9388c2ecf20Sopenharmony_ci case COMP_1_2: return 0x00000110; 9398c2ecf20Sopenharmony_ci case COMP_3: return 0x00000120; 9408c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 9418c2ecf20Sopenharmony_ci } 9428c2ecf20Sopenharmony_ci} 9438c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SW_PIX_EXT(enum mdp5_pipe i0, enum mdp_component_type i1) { return 0x00000000 + __offset_PIPE(i0) + __offset_SW_PIX_EXT(i1); } 9448c2ecf20Sopenharmony_ci 9458c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SW_PIX_EXT_LR(enum mdp5_pipe i0, enum mdp_component_type i1) { return 0x00000000 + __offset_PIPE(i0) + __offset_SW_PIX_EXT(i1); } 9468c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_LR_LEFT_RPT__MASK 0x000000ff 9478c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_LR_LEFT_RPT__SHIFT 0 9488c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SW_PIX_EXT_LR_LEFT_RPT(uint32_t val) 9498c2ecf20Sopenharmony_ci{ 9508c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SW_PIX_EXT_LR_LEFT_RPT__SHIFT) & MDP5_PIPE_SW_PIX_EXT_LR_LEFT_RPT__MASK; 9518c2ecf20Sopenharmony_ci} 9528c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_LR_LEFT_OVF__MASK 0x0000ff00 9538c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_LR_LEFT_OVF__SHIFT 8 9548c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SW_PIX_EXT_LR_LEFT_OVF(int32_t val) 9558c2ecf20Sopenharmony_ci{ 9568c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SW_PIX_EXT_LR_LEFT_OVF__SHIFT) & MDP5_PIPE_SW_PIX_EXT_LR_LEFT_OVF__MASK; 9578c2ecf20Sopenharmony_ci} 9588c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_LR_RIGHT_RPT__MASK 0x00ff0000 9598c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_LR_RIGHT_RPT__SHIFT 16 9608c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SW_PIX_EXT_LR_RIGHT_RPT(uint32_t val) 9618c2ecf20Sopenharmony_ci{ 9628c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SW_PIX_EXT_LR_RIGHT_RPT__SHIFT) & MDP5_PIPE_SW_PIX_EXT_LR_RIGHT_RPT__MASK; 9638c2ecf20Sopenharmony_ci} 9648c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_LR_RIGHT_OVF__MASK 0xff000000 9658c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_LR_RIGHT_OVF__SHIFT 24 9668c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SW_PIX_EXT_LR_RIGHT_OVF(int32_t val) 9678c2ecf20Sopenharmony_ci{ 9688c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SW_PIX_EXT_LR_RIGHT_OVF__SHIFT) & MDP5_PIPE_SW_PIX_EXT_LR_RIGHT_OVF__MASK; 9698c2ecf20Sopenharmony_ci} 9708c2ecf20Sopenharmony_ci 9718c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SW_PIX_EXT_TB(enum mdp5_pipe i0, enum mdp_component_type i1) { return 0x00000004 + __offset_PIPE(i0) + __offset_SW_PIX_EXT(i1); } 9728c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_TB_TOP_RPT__MASK 0x000000ff 9738c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_TB_TOP_RPT__SHIFT 0 9748c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SW_PIX_EXT_TB_TOP_RPT(uint32_t val) 9758c2ecf20Sopenharmony_ci{ 9768c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SW_PIX_EXT_TB_TOP_RPT__SHIFT) & MDP5_PIPE_SW_PIX_EXT_TB_TOP_RPT__MASK; 9778c2ecf20Sopenharmony_ci} 9788c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_TB_TOP_OVF__MASK 0x0000ff00 9798c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_TB_TOP_OVF__SHIFT 8 9808c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SW_PIX_EXT_TB_TOP_OVF(int32_t val) 9818c2ecf20Sopenharmony_ci{ 9828c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SW_PIX_EXT_TB_TOP_OVF__SHIFT) & MDP5_PIPE_SW_PIX_EXT_TB_TOP_OVF__MASK; 9838c2ecf20Sopenharmony_ci} 9848c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_TB_BOTTOM_RPT__MASK 0x00ff0000 9858c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_TB_BOTTOM_RPT__SHIFT 16 9868c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SW_PIX_EXT_TB_BOTTOM_RPT(uint32_t val) 9878c2ecf20Sopenharmony_ci{ 9888c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SW_PIX_EXT_TB_BOTTOM_RPT__SHIFT) & MDP5_PIPE_SW_PIX_EXT_TB_BOTTOM_RPT__MASK; 9898c2ecf20Sopenharmony_ci} 9908c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_TB_BOTTOM_OVF__MASK 0xff000000 9918c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_TB_BOTTOM_OVF__SHIFT 24 9928c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SW_PIX_EXT_TB_BOTTOM_OVF(int32_t val) 9938c2ecf20Sopenharmony_ci{ 9948c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SW_PIX_EXT_TB_BOTTOM_OVF__SHIFT) & MDP5_PIPE_SW_PIX_EXT_TB_BOTTOM_OVF__MASK; 9958c2ecf20Sopenharmony_ci} 9968c2ecf20Sopenharmony_ci 9978c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SW_PIX_EXT_REQ_PIXELS(enum mdp5_pipe i0, enum mdp_component_type i1) { return 0x00000008 + __offset_PIPE(i0) + __offset_SW_PIX_EXT(i1); } 9988c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_REQ_PIXELS_LEFT_RIGHT__MASK 0x0000ffff 9998c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_REQ_PIXELS_LEFT_RIGHT__SHIFT 0 10008c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SW_PIX_EXT_REQ_PIXELS_LEFT_RIGHT(uint32_t val) 10018c2ecf20Sopenharmony_ci{ 10028c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SW_PIX_EXT_REQ_PIXELS_LEFT_RIGHT__SHIFT) & MDP5_PIPE_SW_PIX_EXT_REQ_PIXELS_LEFT_RIGHT__MASK; 10038c2ecf20Sopenharmony_ci} 10048c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_REQ_PIXELS_TOP_BOTTOM__MASK 0xffff0000 10058c2ecf20Sopenharmony_ci#define MDP5_PIPE_SW_PIX_EXT_REQ_PIXELS_TOP_BOTTOM__SHIFT 16 10068c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SW_PIX_EXT_REQ_PIXELS_TOP_BOTTOM(uint32_t val) 10078c2ecf20Sopenharmony_ci{ 10088c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SW_PIX_EXT_REQ_PIXELS_TOP_BOTTOM__SHIFT) & MDP5_PIPE_SW_PIX_EXT_REQ_PIXELS_TOP_BOTTOM__MASK; 10098c2ecf20Sopenharmony_ci} 10108c2ecf20Sopenharmony_ci 10118c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SCALE_CONFIG(enum mdp5_pipe i0) { return 0x00000204 + __offset_PIPE(i0); } 10128c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEX_EN 0x00000001 10138c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEY_EN 0x00000002 10148c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_0__MASK 0x00000300 10158c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_0__SHIFT 8 10168c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_0(enum mdp5_scale_filter val) 10178c2ecf20Sopenharmony_ci{ 10188c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_0__SHIFT) & MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_0__MASK; 10198c2ecf20Sopenharmony_ci} 10208c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_0__MASK 0x00000c00 10218c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_0__SHIFT 10 10228c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_0(enum mdp5_scale_filter val) 10238c2ecf20Sopenharmony_ci{ 10248c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_0__SHIFT) & MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_0__MASK; 10258c2ecf20Sopenharmony_ci} 10268c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_1_2__MASK 0x00003000 10278c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_1_2__SHIFT 12 10288c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_1_2(enum mdp5_scale_filter val) 10298c2ecf20Sopenharmony_ci{ 10308c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_1_2__SHIFT) & MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_1_2__MASK; 10318c2ecf20Sopenharmony_ci} 10328c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_1_2__MASK 0x0000c000 10338c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_1_2__SHIFT 14 10348c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_1_2(enum mdp5_scale_filter val) 10358c2ecf20Sopenharmony_ci{ 10368c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_1_2__SHIFT) & MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_1_2__MASK; 10378c2ecf20Sopenharmony_ci} 10388c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_3__MASK 0x00030000 10398c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_3__SHIFT 16 10408c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_3(enum mdp5_scale_filter val) 10418c2ecf20Sopenharmony_ci{ 10428c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_3__SHIFT) & MDP5_PIPE_SCALE_CONFIG_SCALEX_FILTER_COMP_3__MASK; 10438c2ecf20Sopenharmony_ci} 10448c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_3__MASK 0x000c0000 10458c2ecf20Sopenharmony_ci#define MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_3__SHIFT 18 10468c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_3(enum mdp5_scale_filter val) 10478c2ecf20Sopenharmony_ci{ 10488c2ecf20Sopenharmony_ci return ((val) << MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_3__SHIFT) & MDP5_PIPE_SCALE_CONFIG_SCALEY_FILTER_COMP_3__MASK; 10498c2ecf20Sopenharmony_ci} 10508c2ecf20Sopenharmony_ci 10518c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SCALE_PHASE_STEP_X(enum mdp5_pipe i0) { return 0x00000210 + __offset_PIPE(i0); } 10528c2ecf20Sopenharmony_ci 10538c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SCALE_PHASE_STEP_Y(enum mdp5_pipe i0) { return 0x00000214 + __offset_PIPE(i0); } 10548c2ecf20Sopenharmony_ci 10558c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SCALE_CR_PHASE_STEP_X(enum mdp5_pipe i0) { return 0x00000218 + __offset_PIPE(i0); } 10568c2ecf20Sopenharmony_ci 10578c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SCALE_CR_PHASE_STEP_Y(enum mdp5_pipe i0) { return 0x0000021c + __offset_PIPE(i0); } 10588c2ecf20Sopenharmony_ci 10598c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SCALE_INIT_PHASE_X(enum mdp5_pipe i0) { return 0x00000220 + __offset_PIPE(i0); } 10608c2ecf20Sopenharmony_ci 10618c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PIPE_SCALE_INIT_PHASE_Y(enum mdp5_pipe i0) { return 0x00000224 + __offset_PIPE(i0); } 10628c2ecf20Sopenharmony_ci 10638c2ecf20Sopenharmony_cistatic inline uint32_t __offset_LM(uint32_t idx) 10648c2ecf20Sopenharmony_ci{ 10658c2ecf20Sopenharmony_ci switch (idx) { 10668c2ecf20Sopenharmony_ci case 0: return (mdp5_cfg->lm.base[0]); 10678c2ecf20Sopenharmony_ci case 1: return (mdp5_cfg->lm.base[1]); 10688c2ecf20Sopenharmony_ci case 2: return (mdp5_cfg->lm.base[2]); 10698c2ecf20Sopenharmony_ci case 3: return (mdp5_cfg->lm.base[3]); 10708c2ecf20Sopenharmony_ci case 4: return (mdp5_cfg->lm.base[4]); 10718c2ecf20Sopenharmony_ci case 5: return (mdp5_cfg->lm.base[5]); 10728c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 10738c2ecf20Sopenharmony_ci } 10748c2ecf20Sopenharmony_ci} 10758c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM(uint32_t i0) { return 0x00000000 + __offset_LM(i0); } 10768c2ecf20Sopenharmony_ci 10778c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BLEND_COLOR_OUT(uint32_t i0) { return 0x00000000 + __offset_LM(i0); } 10788c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_COLOR_OUT_STAGE0_FG_ALPHA 0x00000002 10798c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_COLOR_OUT_STAGE1_FG_ALPHA 0x00000004 10808c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_COLOR_OUT_STAGE2_FG_ALPHA 0x00000008 10818c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_COLOR_OUT_STAGE3_FG_ALPHA 0x00000010 10828c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_COLOR_OUT_STAGE4_FG_ALPHA 0x00000020 10838c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_COLOR_OUT_STAGE5_FG_ALPHA 0x00000040 10848c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_COLOR_OUT_STAGE6_FG_ALPHA 0x00000080 10858c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_COLOR_OUT_SPLIT_LEFT_RIGHT 0x80000000 10868c2ecf20Sopenharmony_ci 10878c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_OUT_SIZE(uint32_t i0) { return 0x00000004 + __offset_LM(i0); } 10888c2ecf20Sopenharmony_ci#define MDP5_LM_OUT_SIZE_HEIGHT__MASK 0xffff0000 10898c2ecf20Sopenharmony_ci#define MDP5_LM_OUT_SIZE_HEIGHT__SHIFT 16 10908c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_OUT_SIZE_HEIGHT(uint32_t val) 10918c2ecf20Sopenharmony_ci{ 10928c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_OUT_SIZE_HEIGHT__SHIFT) & MDP5_LM_OUT_SIZE_HEIGHT__MASK; 10938c2ecf20Sopenharmony_ci} 10948c2ecf20Sopenharmony_ci#define MDP5_LM_OUT_SIZE_WIDTH__MASK 0x0000ffff 10958c2ecf20Sopenharmony_ci#define MDP5_LM_OUT_SIZE_WIDTH__SHIFT 0 10968c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_OUT_SIZE_WIDTH(uint32_t val) 10978c2ecf20Sopenharmony_ci{ 10988c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_OUT_SIZE_WIDTH__SHIFT) & MDP5_LM_OUT_SIZE_WIDTH__MASK; 10998c2ecf20Sopenharmony_ci} 11008c2ecf20Sopenharmony_ci 11018c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BORDER_COLOR_0(uint32_t i0) { return 0x00000008 + __offset_LM(i0); } 11028c2ecf20Sopenharmony_ci 11038c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BORDER_COLOR_1(uint32_t i0) { return 0x00000010 + __offset_LM(i0); } 11048c2ecf20Sopenharmony_ci 11058c2ecf20Sopenharmony_cistatic inline uint32_t __offset_BLEND(uint32_t idx) 11068c2ecf20Sopenharmony_ci{ 11078c2ecf20Sopenharmony_ci switch (idx) { 11088c2ecf20Sopenharmony_ci case 0: return 0x00000020; 11098c2ecf20Sopenharmony_ci case 1: return 0x00000050; 11108c2ecf20Sopenharmony_ci case 2: return 0x00000080; 11118c2ecf20Sopenharmony_ci case 3: return 0x000000b0; 11128c2ecf20Sopenharmony_ci case 4: return 0x00000230; 11138c2ecf20Sopenharmony_ci case 5: return 0x00000260; 11148c2ecf20Sopenharmony_ci case 6: return 0x00000290; 11158c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 11168c2ecf20Sopenharmony_ci } 11178c2ecf20Sopenharmony_ci} 11188c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BLEND(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_LM(i0) + __offset_BLEND(i1); } 11198c2ecf20Sopenharmony_ci 11208c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BLEND_OP_MODE(uint32_t i0, uint32_t i1) { return 0x00000000 + __offset_LM(i0) + __offset_BLEND(i1); } 11218c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_OP_MODE_FG_ALPHA__MASK 0x00000003 11228c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_OP_MODE_FG_ALPHA__SHIFT 0 11238c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_BLEND_OP_MODE_FG_ALPHA(enum mdp_alpha_type val) 11248c2ecf20Sopenharmony_ci{ 11258c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_BLEND_OP_MODE_FG_ALPHA__SHIFT) & MDP5_LM_BLEND_OP_MODE_FG_ALPHA__MASK; 11268c2ecf20Sopenharmony_ci} 11278c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_OP_MODE_FG_INV_ALPHA 0x00000004 11288c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_OP_MODE_FG_MOD_ALPHA 0x00000008 11298c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_OP_MODE_FG_INV_MOD_ALPHA 0x00000010 11308c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_OP_MODE_FG_TRANSP_EN 0x00000020 11318c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_OP_MODE_BG_ALPHA__MASK 0x00000300 11328c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_OP_MODE_BG_ALPHA__SHIFT 8 11338c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_BLEND_OP_MODE_BG_ALPHA(enum mdp_alpha_type val) 11348c2ecf20Sopenharmony_ci{ 11358c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_BLEND_OP_MODE_BG_ALPHA__SHIFT) & MDP5_LM_BLEND_OP_MODE_BG_ALPHA__MASK; 11368c2ecf20Sopenharmony_ci} 11378c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_OP_MODE_BG_INV_ALPHA 0x00000400 11388c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_OP_MODE_BG_MOD_ALPHA 0x00000800 11398c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_OP_MODE_BG_INV_MOD_ALPHA 0x00001000 11408c2ecf20Sopenharmony_ci#define MDP5_LM_BLEND_OP_MODE_BG_TRANSP_EN 0x00002000 11418c2ecf20Sopenharmony_ci 11428c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BLEND_FG_ALPHA(uint32_t i0, uint32_t i1) { return 0x00000004 + __offset_LM(i0) + __offset_BLEND(i1); } 11438c2ecf20Sopenharmony_ci 11448c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BLEND_BG_ALPHA(uint32_t i0, uint32_t i1) { return 0x00000008 + __offset_LM(i0) + __offset_BLEND(i1); } 11458c2ecf20Sopenharmony_ci 11468c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BLEND_FG_TRANSP_LOW0(uint32_t i0, uint32_t i1) { return 0x0000000c + __offset_LM(i0) + __offset_BLEND(i1); } 11478c2ecf20Sopenharmony_ci 11488c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BLEND_FG_TRANSP_LOW1(uint32_t i0, uint32_t i1) { return 0x00000010 + __offset_LM(i0) + __offset_BLEND(i1); } 11498c2ecf20Sopenharmony_ci 11508c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BLEND_FG_TRANSP_HIGH0(uint32_t i0, uint32_t i1) { return 0x00000014 + __offset_LM(i0) + __offset_BLEND(i1); } 11518c2ecf20Sopenharmony_ci 11528c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BLEND_FG_TRANSP_HIGH1(uint32_t i0, uint32_t i1) { return 0x00000018 + __offset_LM(i0) + __offset_BLEND(i1); } 11538c2ecf20Sopenharmony_ci 11548c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BLEND_BG_TRANSP_LOW0(uint32_t i0, uint32_t i1) { return 0x0000001c + __offset_LM(i0) + __offset_BLEND(i1); } 11558c2ecf20Sopenharmony_ci 11568c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BLEND_BG_TRANSP_LOW1(uint32_t i0, uint32_t i1) { return 0x00000020 + __offset_LM(i0) + __offset_BLEND(i1); } 11578c2ecf20Sopenharmony_ci 11588c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BLEND_BG_TRANSP_HIGH0(uint32_t i0, uint32_t i1) { return 0x00000024 + __offset_LM(i0) + __offset_BLEND(i1); } 11598c2ecf20Sopenharmony_ci 11608c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_BLEND_BG_TRANSP_HIGH1(uint32_t i0, uint32_t i1) { return 0x00000028 + __offset_LM(i0) + __offset_BLEND(i1); } 11618c2ecf20Sopenharmony_ci 11628c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_CURSOR_IMG_SIZE(uint32_t i0) { return 0x000000e0 + __offset_LM(i0); } 11638c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_IMG_SIZE_SRC_W__MASK 0x0000ffff 11648c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_IMG_SIZE_SRC_W__SHIFT 0 11658c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_CURSOR_IMG_SIZE_SRC_W(uint32_t val) 11668c2ecf20Sopenharmony_ci{ 11678c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_CURSOR_IMG_SIZE_SRC_W__SHIFT) & MDP5_LM_CURSOR_IMG_SIZE_SRC_W__MASK; 11688c2ecf20Sopenharmony_ci} 11698c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_IMG_SIZE_SRC_H__MASK 0xffff0000 11708c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_IMG_SIZE_SRC_H__SHIFT 16 11718c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_CURSOR_IMG_SIZE_SRC_H(uint32_t val) 11728c2ecf20Sopenharmony_ci{ 11738c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_CURSOR_IMG_SIZE_SRC_H__SHIFT) & MDP5_LM_CURSOR_IMG_SIZE_SRC_H__MASK; 11748c2ecf20Sopenharmony_ci} 11758c2ecf20Sopenharmony_ci 11768c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_CURSOR_SIZE(uint32_t i0) { return 0x000000e4 + __offset_LM(i0); } 11778c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_SIZE_ROI_W__MASK 0x0000ffff 11788c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_SIZE_ROI_W__SHIFT 0 11798c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_CURSOR_SIZE_ROI_W(uint32_t val) 11808c2ecf20Sopenharmony_ci{ 11818c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_CURSOR_SIZE_ROI_W__SHIFT) & MDP5_LM_CURSOR_SIZE_ROI_W__MASK; 11828c2ecf20Sopenharmony_ci} 11838c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_SIZE_ROI_H__MASK 0xffff0000 11848c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_SIZE_ROI_H__SHIFT 16 11858c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_CURSOR_SIZE_ROI_H(uint32_t val) 11868c2ecf20Sopenharmony_ci{ 11878c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_CURSOR_SIZE_ROI_H__SHIFT) & MDP5_LM_CURSOR_SIZE_ROI_H__MASK; 11888c2ecf20Sopenharmony_ci} 11898c2ecf20Sopenharmony_ci 11908c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_CURSOR_XY(uint32_t i0) { return 0x000000e8 + __offset_LM(i0); } 11918c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_XY_SRC_X__MASK 0x0000ffff 11928c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_XY_SRC_X__SHIFT 0 11938c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_CURSOR_XY_SRC_X(uint32_t val) 11948c2ecf20Sopenharmony_ci{ 11958c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_CURSOR_XY_SRC_X__SHIFT) & MDP5_LM_CURSOR_XY_SRC_X__MASK; 11968c2ecf20Sopenharmony_ci} 11978c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_XY_SRC_Y__MASK 0xffff0000 11988c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_XY_SRC_Y__SHIFT 16 11998c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_CURSOR_XY_SRC_Y(uint32_t val) 12008c2ecf20Sopenharmony_ci{ 12018c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_CURSOR_XY_SRC_Y__SHIFT) & MDP5_LM_CURSOR_XY_SRC_Y__MASK; 12028c2ecf20Sopenharmony_ci} 12038c2ecf20Sopenharmony_ci 12048c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_CURSOR_STRIDE(uint32_t i0) { return 0x000000dc + __offset_LM(i0); } 12058c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_STRIDE_STRIDE__MASK 0x0000ffff 12068c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_STRIDE_STRIDE__SHIFT 0 12078c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_CURSOR_STRIDE_STRIDE(uint32_t val) 12088c2ecf20Sopenharmony_ci{ 12098c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_CURSOR_STRIDE_STRIDE__SHIFT) & MDP5_LM_CURSOR_STRIDE_STRIDE__MASK; 12108c2ecf20Sopenharmony_ci} 12118c2ecf20Sopenharmony_ci 12128c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_CURSOR_FORMAT(uint32_t i0) { return 0x000000ec + __offset_LM(i0); } 12138c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_FORMAT_FORMAT__MASK 0x00000007 12148c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_FORMAT_FORMAT__SHIFT 0 12158c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_CURSOR_FORMAT_FORMAT(enum mdp5_cursor_format val) 12168c2ecf20Sopenharmony_ci{ 12178c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_CURSOR_FORMAT_FORMAT__SHIFT) & MDP5_LM_CURSOR_FORMAT_FORMAT__MASK; 12188c2ecf20Sopenharmony_ci} 12198c2ecf20Sopenharmony_ci 12208c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_CURSOR_BASE_ADDR(uint32_t i0) { return 0x000000f0 + __offset_LM(i0); } 12218c2ecf20Sopenharmony_ci 12228c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_CURSOR_START_XY(uint32_t i0) { return 0x000000f4 + __offset_LM(i0); } 12238c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_START_XY_X_START__MASK 0x0000ffff 12248c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_START_XY_X_START__SHIFT 0 12258c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_CURSOR_START_XY_X_START(uint32_t val) 12268c2ecf20Sopenharmony_ci{ 12278c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_CURSOR_START_XY_X_START__SHIFT) & MDP5_LM_CURSOR_START_XY_X_START__MASK; 12288c2ecf20Sopenharmony_ci} 12298c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_START_XY_Y_START__MASK 0xffff0000 12308c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_START_XY_Y_START__SHIFT 16 12318c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_CURSOR_START_XY_Y_START(uint32_t val) 12328c2ecf20Sopenharmony_ci{ 12338c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_CURSOR_START_XY_Y_START__SHIFT) & MDP5_LM_CURSOR_START_XY_Y_START__MASK; 12348c2ecf20Sopenharmony_ci} 12358c2ecf20Sopenharmony_ci 12368c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_CURSOR_BLEND_CONFIG(uint32_t i0) { return 0x000000f8 + __offset_LM(i0); } 12378c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_BLEND_CONFIG_BLEND_EN 0x00000001 12388c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_BLEND_CONFIG_BLEND_ALPHA_SEL__MASK 0x00000006 12398c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_BLEND_CONFIG_BLEND_ALPHA_SEL__SHIFT 1 12408c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_LM_CURSOR_BLEND_CONFIG_BLEND_ALPHA_SEL(enum mdp5_cursor_alpha val) 12418c2ecf20Sopenharmony_ci{ 12428c2ecf20Sopenharmony_ci return ((val) << MDP5_LM_CURSOR_BLEND_CONFIG_BLEND_ALPHA_SEL__SHIFT) & MDP5_LM_CURSOR_BLEND_CONFIG_BLEND_ALPHA_SEL__MASK; 12438c2ecf20Sopenharmony_ci} 12448c2ecf20Sopenharmony_ci#define MDP5_LM_CURSOR_BLEND_CONFIG_BLEND_TRANSP_EN 0x00000008 12458c2ecf20Sopenharmony_ci 12468c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_CURSOR_BLEND_PARAM(uint32_t i0) { return 0x000000fc + __offset_LM(i0); } 12478c2ecf20Sopenharmony_ci 12488c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_CURSOR_BLEND_TRANSP_LOW0(uint32_t i0) { return 0x00000100 + __offset_LM(i0); } 12498c2ecf20Sopenharmony_ci 12508c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_CURSOR_BLEND_TRANSP_LOW1(uint32_t i0) { return 0x00000104 + __offset_LM(i0); } 12518c2ecf20Sopenharmony_ci 12528c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_CURSOR_BLEND_TRANSP_HIGH0(uint32_t i0) { return 0x00000108 + __offset_LM(i0); } 12538c2ecf20Sopenharmony_ci 12548c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_CURSOR_BLEND_TRANSP_HIGH1(uint32_t i0) { return 0x0000010c + __offset_LM(i0); } 12558c2ecf20Sopenharmony_ci 12568c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_LM_GC_LUT_BASE(uint32_t i0) { return 0x00000110 + __offset_LM(i0); } 12578c2ecf20Sopenharmony_ci 12588c2ecf20Sopenharmony_cistatic inline uint32_t __offset_DSPP(uint32_t idx) 12598c2ecf20Sopenharmony_ci{ 12608c2ecf20Sopenharmony_ci switch (idx) { 12618c2ecf20Sopenharmony_ci case 0: return (mdp5_cfg->dspp.base[0]); 12628c2ecf20Sopenharmony_ci case 1: return (mdp5_cfg->dspp.base[1]); 12638c2ecf20Sopenharmony_ci case 2: return (mdp5_cfg->dspp.base[2]); 12648c2ecf20Sopenharmony_ci case 3: return (mdp5_cfg->dspp.base[3]); 12658c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 12668c2ecf20Sopenharmony_ci } 12678c2ecf20Sopenharmony_ci} 12688c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_DSPP(uint32_t i0) { return 0x00000000 + __offset_DSPP(i0); } 12698c2ecf20Sopenharmony_ci 12708c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_DSPP_OP_MODE(uint32_t i0) { return 0x00000000 + __offset_DSPP(i0); } 12718c2ecf20Sopenharmony_ci#define MDP5_DSPP_OP_MODE_IGC_LUT_EN 0x00000001 12728c2ecf20Sopenharmony_ci#define MDP5_DSPP_OP_MODE_IGC_TBL_IDX__MASK 0x0000000e 12738c2ecf20Sopenharmony_ci#define MDP5_DSPP_OP_MODE_IGC_TBL_IDX__SHIFT 1 12748c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_DSPP_OP_MODE_IGC_TBL_IDX(uint32_t val) 12758c2ecf20Sopenharmony_ci{ 12768c2ecf20Sopenharmony_ci return ((val) << MDP5_DSPP_OP_MODE_IGC_TBL_IDX__SHIFT) & MDP5_DSPP_OP_MODE_IGC_TBL_IDX__MASK; 12778c2ecf20Sopenharmony_ci} 12788c2ecf20Sopenharmony_ci#define MDP5_DSPP_OP_MODE_PCC_EN 0x00000010 12798c2ecf20Sopenharmony_ci#define MDP5_DSPP_OP_MODE_DITHER_EN 0x00000100 12808c2ecf20Sopenharmony_ci#define MDP5_DSPP_OP_MODE_HIST_EN 0x00010000 12818c2ecf20Sopenharmony_ci#define MDP5_DSPP_OP_MODE_AUTO_CLEAR 0x00020000 12828c2ecf20Sopenharmony_ci#define MDP5_DSPP_OP_MODE_HIST_LUT_EN 0x00080000 12838c2ecf20Sopenharmony_ci#define MDP5_DSPP_OP_MODE_PA_EN 0x00100000 12848c2ecf20Sopenharmony_ci#define MDP5_DSPP_OP_MODE_GAMUT_EN 0x00800000 12858c2ecf20Sopenharmony_ci#define MDP5_DSPP_OP_MODE_GAMUT_ORDER 0x01000000 12868c2ecf20Sopenharmony_ci 12878c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_DSPP_PCC_BASE(uint32_t i0) { return 0x00000030 + __offset_DSPP(i0); } 12888c2ecf20Sopenharmony_ci 12898c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_DSPP_DITHER_DEPTH(uint32_t i0) { return 0x00000150 + __offset_DSPP(i0); } 12908c2ecf20Sopenharmony_ci 12918c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_DSPP_HIST_CTL_BASE(uint32_t i0) { return 0x00000210 + __offset_DSPP(i0); } 12928c2ecf20Sopenharmony_ci 12938c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_DSPP_HIST_LUT_BASE(uint32_t i0) { return 0x00000230 + __offset_DSPP(i0); } 12948c2ecf20Sopenharmony_ci 12958c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_DSPP_HIST_LUT_SWAP(uint32_t i0) { return 0x00000234 + __offset_DSPP(i0); } 12968c2ecf20Sopenharmony_ci 12978c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_DSPP_PA_BASE(uint32_t i0) { return 0x00000238 + __offset_DSPP(i0); } 12988c2ecf20Sopenharmony_ci 12998c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_DSPP_GAMUT_BASE(uint32_t i0) { return 0x000002dc + __offset_DSPP(i0); } 13008c2ecf20Sopenharmony_ci 13018c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_DSPP_GC_BASE(uint32_t i0) { return 0x000002b0 + __offset_DSPP(i0); } 13028c2ecf20Sopenharmony_ci 13038c2ecf20Sopenharmony_cistatic inline uint32_t __offset_PP(uint32_t idx) 13048c2ecf20Sopenharmony_ci{ 13058c2ecf20Sopenharmony_ci switch (idx) { 13068c2ecf20Sopenharmony_ci case 0: return (mdp5_cfg->pp.base[0]); 13078c2ecf20Sopenharmony_ci case 1: return (mdp5_cfg->pp.base[1]); 13088c2ecf20Sopenharmony_ci case 2: return (mdp5_cfg->pp.base[2]); 13098c2ecf20Sopenharmony_ci case 3: return (mdp5_cfg->pp.base[3]); 13108c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 13118c2ecf20Sopenharmony_ci } 13128c2ecf20Sopenharmony_ci} 13138c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP(uint32_t i0) { return 0x00000000 + __offset_PP(i0); } 13148c2ecf20Sopenharmony_ci 13158c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_TEAR_CHECK_EN(uint32_t i0) { return 0x00000000 + __offset_PP(i0); } 13168c2ecf20Sopenharmony_ci 13178c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_SYNC_CONFIG_VSYNC(uint32_t i0) { return 0x00000004 + __offset_PP(i0); } 13188c2ecf20Sopenharmony_ci#define MDP5_PP_SYNC_CONFIG_VSYNC_COUNT__MASK 0x0007ffff 13198c2ecf20Sopenharmony_ci#define MDP5_PP_SYNC_CONFIG_VSYNC_COUNT__SHIFT 0 13208c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PP_SYNC_CONFIG_VSYNC_COUNT(uint32_t val) 13218c2ecf20Sopenharmony_ci{ 13228c2ecf20Sopenharmony_ci return ((val) << MDP5_PP_SYNC_CONFIG_VSYNC_COUNT__SHIFT) & MDP5_PP_SYNC_CONFIG_VSYNC_COUNT__MASK; 13238c2ecf20Sopenharmony_ci} 13248c2ecf20Sopenharmony_ci#define MDP5_PP_SYNC_CONFIG_VSYNC_COUNTER_EN 0x00080000 13258c2ecf20Sopenharmony_ci#define MDP5_PP_SYNC_CONFIG_VSYNC_IN_EN 0x00100000 13268c2ecf20Sopenharmony_ci 13278c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_SYNC_CONFIG_HEIGHT(uint32_t i0) { return 0x00000008 + __offset_PP(i0); } 13288c2ecf20Sopenharmony_ci 13298c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_SYNC_WRCOUNT(uint32_t i0) { return 0x0000000c + __offset_PP(i0); } 13308c2ecf20Sopenharmony_ci#define MDP5_PP_SYNC_WRCOUNT_LINE_COUNT__MASK 0x0000ffff 13318c2ecf20Sopenharmony_ci#define MDP5_PP_SYNC_WRCOUNT_LINE_COUNT__SHIFT 0 13328c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PP_SYNC_WRCOUNT_LINE_COUNT(uint32_t val) 13338c2ecf20Sopenharmony_ci{ 13348c2ecf20Sopenharmony_ci return ((val) << MDP5_PP_SYNC_WRCOUNT_LINE_COUNT__SHIFT) & MDP5_PP_SYNC_WRCOUNT_LINE_COUNT__MASK; 13358c2ecf20Sopenharmony_ci} 13368c2ecf20Sopenharmony_ci#define MDP5_PP_SYNC_WRCOUNT_FRAME_COUNT__MASK 0xffff0000 13378c2ecf20Sopenharmony_ci#define MDP5_PP_SYNC_WRCOUNT_FRAME_COUNT__SHIFT 16 13388c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PP_SYNC_WRCOUNT_FRAME_COUNT(uint32_t val) 13398c2ecf20Sopenharmony_ci{ 13408c2ecf20Sopenharmony_ci return ((val) << MDP5_PP_SYNC_WRCOUNT_FRAME_COUNT__SHIFT) & MDP5_PP_SYNC_WRCOUNT_FRAME_COUNT__MASK; 13418c2ecf20Sopenharmony_ci} 13428c2ecf20Sopenharmony_ci 13438c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_VSYNC_INIT_VAL(uint32_t i0) { return 0x00000010 + __offset_PP(i0); } 13448c2ecf20Sopenharmony_ci 13458c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_INT_COUNT_VAL(uint32_t i0) { return 0x00000014 + __offset_PP(i0); } 13468c2ecf20Sopenharmony_ci#define MDP5_PP_INT_COUNT_VAL_LINE_COUNT__MASK 0x0000ffff 13478c2ecf20Sopenharmony_ci#define MDP5_PP_INT_COUNT_VAL_LINE_COUNT__SHIFT 0 13488c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PP_INT_COUNT_VAL_LINE_COUNT(uint32_t val) 13498c2ecf20Sopenharmony_ci{ 13508c2ecf20Sopenharmony_ci return ((val) << MDP5_PP_INT_COUNT_VAL_LINE_COUNT__SHIFT) & MDP5_PP_INT_COUNT_VAL_LINE_COUNT__MASK; 13518c2ecf20Sopenharmony_ci} 13528c2ecf20Sopenharmony_ci#define MDP5_PP_INT_COUNT_VAL_FRAME_COUNT__MASK 0xffff0000 13538c2ecf20Sopenharmony_ci#define MDP5_PP_INT_COUNT_VAL_FRAME_COUNT__SHIFT 16 13548c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PP_INT_COUNT_VAL_FRAME_COUNT(uint32_t val) 13558c2ecf20Sopenharmony_ci{ 13568c2ecf20Sopenharmony_ci return ((val) << MDP5_PP_INT_COUNT_VAL_FRAME_COUNT__SHIFT) & MDP5_PP_INT_COUNT_VAL_FRAME_COUNT__MASK; 13578c2ecf20Sopenharmony_ci} 13588c2ecf20Sopenharmony_ci 13598c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_SYNC_THRESH(uint32_t i0) { return 0x00000018 + __offset_PP(i0); } 13608c2ecf20Sopenharmony_ci#define MDP5_PP_SYNC_THRESH_START__MASK 0x0000ffff 13618c2ecf20Sopenharmony_ci#define MDP5_PP_SYNC_THRESH_START__SHIFT 0 13628c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PP_SYNC_THRESH_START(uint32_t val) 13638c2ecf20Sopenharmony_ci{ 13648c2ecf20Sopenharmony_ci return ((val) << MDP5_PP_SYNC_THRESH_START__SHIFT) & MDP5_PP_SYNC_THRESH_START__MASK; 13658c2ecf20Sopenharmony_ci} 13668c2ecf20Sopenharmony_ci#define MDP5_PP_SYNC_THRESH_CONTINUE__MASK 0xffff0000 13678c2ecf20Sopenharmony_ci#define MDP5_PP_SYNC_THRESH_CONTINUE__SHIFT 16 13688c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_PP_SYNC_THRESH_CONTINUE(uint32_t val) 13698c2ecf20Sopenharmony_ci{ 13708c2ecf20Sopenharmony_ci return ((val) << MDP5_PP_SYNC_THRESH_CONTINUE__SHIFT) & MDP5_PP_SYNC_THRESH_CONTINUE__MASK; 13718c2ecf20Sopenharmony_ci} 13728c2ecf20Sopenharmony_ci 13738c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_START_POS(uint32_t i0) { return 0x0000001c + __offset_PP(i0); } 13748c2ecf20Sopenharmony_ci 13758c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_RD_PTR_IRQ(uint32_t i0) { return 0x00000020 + __offset_PP(i0); } 13768c2ecf20Sopenharmony_ci 13778c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_WR_PTR_IRQ(uint32_t i0) { return 0x00000024 + __offset_PP(i0); } 13788c2ecf20Sopenharmony_ci 13798c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_OUT_LINE_COUNT(uint32_t i0) { return 0x00000028 + __offset_PP(i0); } 13808c2ecf20Sopenharmony_ci 13818c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_PP_LINE_COUNT(uint32_t i0) { return 0x0000002c + __offset_PP(i0); } 13828c2ecf20Sopenharmony_ci 13838c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_AUTOREFRESH_CONFIG(uint32_t i0) { return 0x00000030 + __offset_PP(i0); } 13848c2ecf20Sopenharmony_ci 13858c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_FBC_MODE(uint32_t i0) { return 0x00000034 + __offset_PP(i0); } 13868c2ecf20Sopenharmony_ci 13878c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_FBC_BUDGET_CTL(uint32_t i0) { return 0x00000038 + __offset_PP(i0); } 13888c2ecf20Sopenharmony_ci 13898c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_PP_FBC_LOSSY_MODE(uint32_t i0) { return 0x0000003c + __offset_PP(i0); } 13908c2ecf20Sopenharmony_ci 13918c2ecf20Sopenharmony_cistatic inline uint32_t __offset_WB(uint32_t idx) 13928c2ecf20Sopenharmony_ci{ 13938c2ecf20Sopenharmony_ci switch (idx) { 13948c2ecf20Sopenharmony_ci#if 0 /* TEMPORARY until patch that adds wb.base[] is merged */ 13958c2ecf20Sopenharmony_ci case 0: return (mdp5_cfg->wb.base[0]); 13968c2ecf20Sopenharmony_ci case 1: return (mdp5_cfg->wb.base[1]); 13978c2ecf20Sopenharmony_ci case 2: return (mdp5_cfg->wb.base[2]); 13988c2ecf20Sopenharmony_ci case 3: return (mdp5_cfg->wb.base[3]); 13998c2ecf20Sopenharmony_ci case 4: return (mdp5_cfg->wb.base[4]); 14008c2ecf20Sopenharmony_ci#endif 14018c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 14028c2ecf20Sopenharmony_ci } 14038c2ecf20Sopenharmony_ci} 14048c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB(uint32_t i0) { return 0x00000000 + __offset_WB(i0); } 14058c2ecf20Sopenharmony_ci 14068c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DST_FORMAT(uint32_t i0) { return 0x00000000 + __offset_WB(i0); } 14078c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DSTC0_OUT__MASK 0x00000003 14088c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DSTC0_OUT__SHIFT 0 14098c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_FORMAT_DSTC0_OUT(uint32_t val) 14108c2ecf20Sopenharmony_ci{ 14118c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_FORMAT_DSTC0_OUT__SHIFT) & MDP5_WB_DST_FORMAT_DSTC0_OUT__MASK; 14128c2ecf20Sopenharmony_ci} 14138c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DSTC1_OUT__MASK 0x0000000c 14148c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DSTC1_OUT__SHIFT 2 14158c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_FORMAT_DSTC1_OUT(uint32_t val) 14168c2ecf20Sopenharmony_ci{ 14178c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_FORMAT_DSTC1_OUT__SHIFT) & MDP5_WB_DST_FORMAT_DSTC1_OUT__MASK; 14188c2ecf20Sopenharmony_ci} 14198c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DSTC2_OUT__MASK 0x00000030 14208c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DSTC2_OUT__SHIFT 4 14218c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_FORMAT_DSTC2_OUT(uint32_t val) 14228c2ecf20Sopenharmony_ci{ 14238c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_FORMAT_DSTC2_OUT__SHIFT) & MDP5_WB_DST_FORMAT_DSTC2_OUT__MASK; 14248c2ecf20Sopenharmony_ci} 14258c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DSTC3_OUT__MASK 0x000000c0 14268c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DSTC3_OUT__SHIFT 6 14278c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_FORMAT_DSTC3_OUT(uint32_t val) 14288c2ecf20Sopenharmony_ci{ 14298c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_FORMAT_DSTC3_OUT__SHIFT) & MDP5_WB_DST_FORMAT_DSTC3_OUT__MASK; 14308c2ecf20Sopenharmony_ci} 14318c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DSTC3_EN 0x00000100 14328c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DST_BPP__MASK 0x00000600 14338c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DST_BPP__SHIFT 9 14348c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_FORMAT_DST_BPP(uint32_t val) 14358c2ecf20Sopenharmony_ci{ 14368c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_FORMAT_DST_BPP__SHIFT) & MDP5_WB_DST_FORMAT_DST_BPP__MASK; 14378c2ecf20Sopenharmony_ci} 14388c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_PACK_COUNT__MASK 0x00003000 14398c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_PACK_COUNT__SHIFT 12 14408c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_FORMAT_PACK_COUNT(uint32_t val) 14418c2ecf20Sopenharmony_ci{ 14428c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_FORMAT_PACK_COUNT__SHIFT) & MDP5_WB_DST_FORMAT_PACK_COUNT__MASK; 14438c2ecf20Sopenharmony_ci} 14448c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DST_ALPHA_X 0x00004000 14458c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_PACK_TIGHT 0x00020000 14468c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_PACK_ALIGN_MSB 0x00040000 14478c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_WRITE_PLANES__MASK 0x00180000 14488c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_WRITE_PLANES__SHIFT 19 14498c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_FORMAT_WRITE_PLANES(uint32_t val) 14508c2ecf20Sopenharmony_ci{ 14518c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_FORMAT_WRITE_PLANES__SHIFT) & MDP5_WB_DST_FORMAT_WRITE_PLANES__MASK; 14528c2ecf20Sopenharmony_ci} 14538c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DST_DITHER_EN 0x00400000 14548c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DST_CHROMA_SAMP__MASK 0x03800000 14558c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DST_CHROMA_SAMP__SHIFT 23 14568c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_FORMAT_DST_CHROMA_SAMP(uint32_t val) 14578c2ecf20Sopenharmony_ci{ 14588c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_FORMAT_DST_CHROMA_SAMP__SHIFT) & MDP5_WB_DST_FORMAT_DST_CHROMA_SAMP__MASK; 14598c2ecf20Sopenharmony_ci} 14608c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DST_CHROMA_SITE__MASK 0x3c000000 14618c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_DST_CHROMA_SITE__SHIFT 26 14628c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_FORMAT_DST_CHROMA_SITE(uint32_t val) 14638c2ecf20Sopenharmony_ci{ 14648c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_FORMAT_DST_CHROMA_SITE__SHIFT) & MDP5_WB_DST_FORMAT_DST_CHROMA_SITE__MASK; 14658c2ecf20Sopenharmony_ci} 14668c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_FRAME_FORMAT__MASK 0xc0000000 14678c2ecf20Sopenharmony_ci#define MDP5_WB_DST_FORMAT_FRAME_FORMAT__SHIFT 30 14688c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_FORMAT_FRAME_FORMAT(uint32_t val) 14698c2ecf20Sopenharmony_ci{ 14708c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_FORMAT_FRAME_FORMAT__SHIFT) & MDP5_WB_DST_FORMAT_FRAME_FORMAT__MASK; 14718c2ecf20Sopenharmony_ci} 14728c2ecf20Sopenharmony_ci 14738c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DST_OP_MODE(uint32_t i0) { return 0x00000004 + __offset_WB(i0); } 14748c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_BWC_ENC_EN 0x00000001 14758c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_BWC_ENC_OP__MASK 0x00000006 14768c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_BWC_ENC_OP__SHIFT 1 14778c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_OP_MODE_BWC_ENC_OP(uint32_t val) 14788c2ecf20Sopenharmony_ci{ 14798c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_OP_MODE_BWC_ENC_OP__SHIFT) & MDP5_WB_DST_OP_MODE_BWC_ENC_OP__MASK; 14808c2ecf20Sopenharmony_ci} 14818c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_BLOCK_SIZE__MASK 0x00000010 14828c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_BLOCK_SIZE__SHIFT 4 14838c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_OP_MODE_BLOCK_SIZE(uint32_t val) 14848c2ecf20Sopenharmony_ci{ 14858c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_OP_MODE_BLOCK_SIZE__SHIFT) & MDP5_WB_DST_OP_MODE_BLOCK_SIZE__MASK; 14868c2ecf20Sopenharmony_ci} 14878c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_ROT_MODE__MASK 0x00000020 14888c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_ROT_MODE__SHIFT 5 14898c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_OP_MODE_ROT_MODE(uint32_t val) 14908c2ecf20Sopenharmony_ci{ 14918c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_OP_MODE_ROT_MODE__SHIFT) & MDP5_WB_DST_OP_MODE_ROT_MODE__MASK; 14928c2ecf20Sopenharmony_ci} 14938c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_ROT_EN 0x00000040 14948c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_CSC_EN 0x00000100 14958c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_CSC_SRC_DATA_FORMAT__MASK 0x00000200 14968c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_CSC_SRC_DATA_FORMAT__SHIFT 9 14978c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_OP_MODE_CSC_SRC_DATA_FORMAT(uint32_t val) 14988c2ecf20Sopenharmony_ci{ 14998c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_OP_MODE_CSC_SRC_DATA_FORMAT__SHIFT) & MDP5_WB_DST_OP_MODE_CSC_SRC_DATA_FORMAT__MASK; 15008c2ecf20Sopenharmony_ci} 15018c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_CSC_DST_DATA_FORMAT__MASK 0x00000400 15028c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_CSC_DST_DATA_FORMAT__SHIFT 10 15038c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_OP_MODE_CSC_DST_DATA_FORMAT(uint32_t val) 15048c2ecf20Sopenharmony_ci{ 15058c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_OP_MODE_CSC_DST_DATA_FORMAT__SHIFT) & MDP5_WB_DST_OP_MODE_CSC_DST_DATA_FORMAT__MASK; 15068c2ecf20Sopenharmony_ci} 15078c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_EN 0x00000800 15088c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_FORMAT__MASK 0x00001000 15098c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_FORMAT__SHIFT 12 15108c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_FORMAT(uint32_t val) 15118c2ecf20Sopenharmony_ci{ 15128c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_FORMAT__SHIFT) & MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_FORMAT__MASK; 15138c2ecf20Sopenharmony_ci} 15148c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_H_MTHD__MASK 0x00002000 15158c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_H_MTHD__SHIFT 13 15168c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_H_MTHD(uint32_t val) 15178c2ecf20Sopenharmony_ci{ 15188c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_H_MTHD__SHIFT) & MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_H_MTHD__MASK; 15198c2ecf20Sopenharmony_ci} 15208c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_V_MTHD__MASK 0x00004000 15218c2ecf20Sopenharmony_ci#define MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_V_MTHD__SHIFT 14 15228c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_V_MTHD(uint32_t val) 15238c2ecf20Sopenharmony_ci{ 15248c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_V_MTHD__SHIFT) & MDP5_WB_DST_OP_MODE_CHROMA_DWN_SAMPLE_V_MTHD__MASK; 15258c2ecf20Sopenharmony_ci} 15268c2ecf20Sopenharmony_ci 15278c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DST_PACK_PATTERN(uint32_t i0) { return 0x00000008 + __offset_WB(i0); } 15288c2ecf20Sopenharmony_ci#define MDP5_WB_DST_PACK_PATTERN_ELEMENT0__MASK 0x00000003 15298c2ecf20Sopenharmony_ci#define MDP5_WB_DST_PACK_PATTERN_ELEMENT0__SHIFT 0 15308c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_PACK_PATTERN_ELEMENT0(uint32_t val) 15318c2ecf20Sopenharmony_ci{ 15328c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_PACK_PATTERN_ELEMENT0__SHIFT) & MDP5_WB_DST_PACK_PATTERN_ELEMENT0__MASK; 15338c2ecf20Sopenharmony_ci} 15348c2ecf20Sopenharmony_ci#define MDP5_WB_DST_PACK_PATTERN_ELEMENT1__MASK 0x00000300 15358c2ecf20Sopenharmony_ci#define MDP5_WB_DST_PACK_PATTERN_ELEMENT1__SHIFT 8 15368c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_PACK_PATTERN_ELEMENT1(uint32_t val) 15378c2ecf20Sopenharmony_ci{ 15388c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_PACK_PATTERN_ELEMENT1__SHIFT) & MDP5_WB_DST_PACK_PATTERN_ELEMENT1__MASK; 15398c2ecf20Sopenharmony_ci} 15408c2ecf20Sopenharmony_ci#define MDP5_WB_DST_PACK_PATTERN_ELEMENT2__MASK 0x00030000 15418c2ecf20Sopenharmony_ci#define MDP5_WB_DST_PACK_PATTERN_ELEMENT2__SHIFT 16 15428c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_PACK_PATTERN_ELEMENT2(uint32_t val) 15438c2ecf20Sopenharmony_ci{ 15448c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_PACK_PATTERN_ELEMENT2__SHIFT) & MDP5_WB_DST_PACK_PATTERN_ELEMENT2__MASK; 15458c2ecf20Sopenharmony_ci} 15468c2ecf20Sopenharmony_ci#define MDP5_WB_DST_PACK_PATTERN_ELEMENT3__MASK 0x03000000 15478c2ecf20Sopenharmony_ci#define MDP5_WB_DST_PACK_PATTERN_ELEMENT3__SHIFT 24 15488c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_PACK_PATTERN_ELEMENT3(uint32_t val) 15498c2ecf20Sopenharmony_ci{ 15508c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_PACK_PATTERN_ELEMENT3__SHIFT) & MDP5_WB_DST_PACK_PATTERN_ELEMENT3__MASK; 15518c2ecf20Sopenharmony_ci} 15528c2ecf20Sopenharmony_ci 15538c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DST0_ADDR(uint32_t i0) { return 0x0000000c + __offset_WB(i0); } 15548c2ecf20Sopenharmony_ci 15558c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DST1_ADDR(uint32_t i0) { return 0x00000010 + __offset_WB(i0); } 15568c2ecf20Sopenharmony_ci 15578c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DST2_ADDR(uint32_t i0) { return 0x00000014 + __offset_WB(i0); } 15588c2ecf20Sopenharmony_ci 15598c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DST3_ADDR(uint32_t i0) { return 0x00000018 + __offset_WB(i0); } 15608c2ecf20Sopenharmony_ci 15618c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DST_YSTRIDE0(uint32_t i0) { return 0x0000001c + __offset_WB(i0); } 15628c2ecf20Sopenharmony_ci#define MDP5_WB_DST_YSTRIDE0_DST0_YSTRIDE__MASK 0x0000ffff 15638c2ecf20Sopenharmony_ci#define MDP5_WB_DST_YSTRIDE0_DST0_YSTRIDE__SHIFT 0 15648c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_YSTRIDE0_DST0_YSTRIDE(uint32_t val) 15658c2ecf20Sopenharmony_ci{ 15668c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_YSTRIDE0_DST0_YSTRIDE__SHIFT) & MDP5_WB_DST_YSTRIDE0_DST0_YSTRIDE__MASK; 15678c2ecf20Sopenharmony_ci} 15688c2ecf20Sopenharmony_ci#define MDP5_WB_DST_YSTRIDE0_DST1_YSTRIDE__MASK 0xffff0000 15698c2ecf20Sopenharmony_ci#define MDP5_WB_DST_YSTRIDE0_DST1_YSTRIDE__SHIFT 16 15708c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_YSTRIDE0_DST1_YSTRIDE(uint32_t val) 15718c2ecf20Sopenharmony_ci{ 15728c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_YSTRIDE0_DST1_YSTRIDE__SHIFT) & MDP5_WB_DST_YSTRIDE0_DST1_YSTRIDE__MASK; 15738c2ecf20Sopenharmony_ci} 15748c2ecf20Sopenharmony_ci 15758c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DST_YSTRIDE1(uint32_t i0) { return 0x00000020 + __offset_WB(i0); } 15768c2ecf20Sopenharmony_ci#define MDP5_WB_DST_YSTRIDE1_DST2_YSTRIDE__MASK 0x0000ffff 15778c2ecf20Sopenharmony_ci#define MDP5_WB_DST_YSTRIDE1_DST2_YSTRIDE__SHIFT 0 15788c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_YSTRIDE1_DST2_YSTRIDE(uint32_t val) 15798c2ecf20Sopenharmony_ci{ 15808c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_YSTRIDE1_DST2_YSTRIDE__SHIFT) & MDP5_WB_DST_YSTRIDE1_DST2_YSTRIDE__MASK; 15818c2ecf20Sopenharmony_ci} 15828c2ecf20Sopenharmony_ci#define MDP5_WB_DST_YSTRIDE1_DST3_YSTRIDE__MASK 0xffff0000 15838c2ecf20Sopenharmony_ci#define MDP5_WB_DST_YSTRIDE1_DST3_YSTRIDE__SHIFT 16 15848c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_DST_YSTRIDE1_DST3_YSTRIDE(uint32_t val) 15858c2ecf20Sopenharmony_ci{ 15868c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_DST_YSTRIDE1_DST3_YSTRIDE__SHIFT) & MDP5_WB_DST_YSTRIDE1_DST3_YSTRIDE__MASK; 15878c2ecf20Sopenharmony_ci} 15888c2ecf20Sopenharmony_ci 15898c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DST_DITHER_BITDEPTH(uint32_t i0) { return 0x00000024 + __offset_WB(i0); } 15908c2ecf20Sopenharmony_ci 15918c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DITHER_MATRIX_ROW0(uint32_t i0) { return 0x00000030 + __offset_WB(i0); } 15928c2ecf20Sopenharmony_ci 15938c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DITHER_MATRIX_ROW1(uint32_t i0) { return 0x00000034 + __offset_WB(i0); } 15948c2ecf20Sopenharmony_ci 15958c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DITHER_MATRIX_ROW2(uint32_t i0) { return 0x00000038 + __offset_WB(i0); } 15968c2ecf20Sopenharmony_ci 15978c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DITHER_MATRIX_ROW3(uint32_t i0) { return 0x0000003c + __offset_WB(i0); } 15988c2ecf20Sopenharmony_ci 15998c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_DST_WRITE_CONFIG(uint32_t i0) { return 0x00000048 + __offset_WB(i0); } 16008c2ecf20Sopenharmony_ci 16018c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_ROTATION_DNSCALER(uint32_t i0) { return 0x00000050 + __offset_WB(i0); } 16028c2ecf20Sopenharmony_ci 16038c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_N16_INIT_PHASE_X_0_3(uint32_t i0) { return 0x00000060 + __offset_WB(i0); } 16048c2ecf20Sopenharmony_ci 16058c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_N16_INIT_PHASE_X_1_2(uint32_t i0) { return 0x00000064 + __offset_WB(i0); } 16068c2ecf20Sopenharmony_ci 16078c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_N16_INIT_PHASE_Y_0_3(uint32_t i0) { return 0x00000068 + __offset_WB(i0); } 16088c2ecf20Sopenharmony_ci 16098c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_N16_INIT_PHASE_Y_1_2(uint32_t i0) { return 0x0000006c + __offset_WB(i0); } 16108c2ecf20Sopenharmony_ci 16118c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_OUT_SIZE(uint32_t i0) { return 0x00000074 + __offset_WB(i0); } 16128c2ecf20Sopenharmony_ci#define MDP5_WB_OUT_SIZE_DST_W__MASK 0x0000ffff 16138c2ecf20Sopenharmony_ci#define MDP5_WB_OUT_SIZE_DST_W__SHIFT 0 16148c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_OUT_SIZE_DST_W(uint32_t val) 16158c2ecf20Sopenharmony_ci{ 16168c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_OUT_SIZE_DST_W__SHIFT) & MDP5_WB_OUT_SIZE_DST_W__MASK; 16178c2ecf20Sopenharmony_ci} 16188c2ecf20Sopenharmony_ci#define MDP5_WB_OUT_SIZE_DST_H__MASK 0xffff0000 16198c2ecf20Sopenharmony_ci#define MDP5_WB_OUT_SIZE_DST_H__SHIFT 16 16208c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_OUT_SIZE_DST_H(uint32_t val) 16218c2ecf20Sopenharmony_ci{ 16228c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_OUT_SIZE_DST_H__SHIFT) & MDP5_WB_OUT_SIZE_DST_H__MASK; 16238c2ecf20Sopenharmony_ci} 16248c2ecf20Sopenharmony_ci 16258c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_ALPHA_X_VALUE(uint32_t i0) { return 0x00000078 + __offset_WB(i0); } 16268c2ecf20Sopenharmony_ci 16278c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_CSC_MATRIX_COEFF_0(uint32_t i0) { return 0x00000260 + __offset_WB(i0); } 16288c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_0_COEFF_11__MASK 0x00001fff 16298c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_0_COEFF_11__SHIFT 0 16308c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_MATRIX_COEFF_0_COEFF_11(uint32_t val) 16318c2ecf20Sopenharmony_ci{ 16328c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_MATRIX_COEFF_0_COEFF_11__SHIFT) & MDP5_WB_CSC_MATRIX_COEFF_0_COEFF_11__MASK; 16338c2ecf20Sopenharmony_ci} 16348c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_0_COEFF_12__MASK 0x1fff0000 16358c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_0_COEFF_12__SHIFT 16 16368c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_MATRIX_COEFF_0_COEFF_12(uint32_t val) 16378c2ecf20Sopenharmony_ci{ 16388c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_MATRIX_COEFF_0_COEFF_12__SHIFT) & MDP5_WB_CSC_MATRIX_COEFF_0_COEFF_12__MASK; 16398c2ecf20Sopenharmony_ci} 16408c2ecf20Sopenharmony_ci 16418c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_CSC_MATRIX_COEFF_1(uint32_t i0) { return 0x00000264 + __offset_WB(i0); } 16428c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_1_COEFF_13__MASK 0x00001fff 16438c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_1_COEFF_13__SHIFT 0 16448c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_MATRIX_COEFF_1_COEFF_13(uint32_t val) 16458c2ecf20Sopenharmony_ci{ 16468c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_MATRIX_COEFF_1_COEFF_13__SHIFT) & MDP5_WB_CSC_MATRIX_COEFF_1_COEFF_13__MASK; 16478c2ecf20Sopenharmony_ci} 16488c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_1_COEFF_21__MASK 0x1fff0000 16498c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_1_COEFF_21__SHIFT 16 16508c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_MATRIX_COEFF_1_COEFF_21(uint32_t val) 16518c2ecf20Sopenharmony_ci{ 16528c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_MATRIX_COEFF_1_COEFF_21__SHIFT) & MDP5_WB_CSC_MATRIX_COEFF_1_COEFF_21__MASK; 16538c2ecf20Sopenharmony_ci} 16548c2ecf20Sopenharmony_ci 16558c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_CSC_MATRIX_COEFF_2(uint32_t i0) { return 0x00000268 + __offset_WB(i0); } 16568c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_2_COEFF_22__MASK 0x00001fff 16578c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_2_COEFF_22__SHIFT 0 16588c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_MATRIX_COEFF_2_COEFF_22(uint32_t val) 16598c2ecf20Sopenharmony_ci{ 16608c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_MATRIX_COEFF_2_COEFF_22__SHIFT) & MDP5_WB_CSC_MATRIX_COEFF_2_COEFF_22__MASK; 16618c2ecf20Sopenharmony_ci} 16628c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_2_COEFF_23__MASK 0x1fff0000 16638c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_2_COEFF_23__SHIFT 16 16648c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_MATRIX_COEFF_2_COEFF_23(uint32_t val) 16658c2ecf20Sopenharmony_ci{ 16668c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_MATRIX_COEFF_2_COEFF_23__SHIFT) & MDP5_WB_CSC_MATRIX_COEFF_2_COEFF_23__MASK; 16678c2ecf20Sopenharmony_ci} 16688c2ecf20Sopenharmony_ci 16698c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_CSC_MATRIX_COEFF_3(uint32_t i0) { return 0x0000026c + __offset_WB(i0); } 16708c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_3_COEFF_31__MASK 0x00001fff 16718c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_3_COEFF_31__SHIFT 0 16728c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_MATRIX_COEFF_3_COEFF_31(uint32_t val) 16738c2ecf20Sopenharmony_ci{ 16748c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_MATRIX_COEFF_3_COEFF_31__SHIFT) & MDP5_WB_CSC_MATRIX_COEFF_3_COEFF_31__MASK; 16758c2ecf20Sopenharmony_ci} 16768c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_3_COEFF_32__MASK 0x1fff0000 16778c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_3_COEFF_32__SHIFT 16 16788c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_MATRIX_COEFF_3_COEFF_32(uint32_t val) 16798c2ecf20Sopenharmony_ci{ 16808c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_MATRIX_COEFF_3_COEFF_32__SHIFT) & MDP5_WB_CSC_MATRIX_COEFF_3_COEFF_32__MASK; 16818c2ecf20Sopenharmony_ci} 16828c2ecf20Sopenharmony_ci 16838c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_CSC_MATRIX_COEFF_4(uint32_t i0) { return 0x00000270 + __offset_WB(i0); } 16848c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_4_COEFF_33__MASK 0x00001fff 16858c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_MATRIX_COEFF_4_COEFF_33__SHIFT 0 16868c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_MATRIX_COEFF_4_COEFF_33(uint32_t val) 16878c2ecf20Sopenharmony_ci{ 16888c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_MATRIX_COEFF_4_COEFF_33__SHIFT) & MDP5_WB_CSC_MATRIX_COEFF_4_COEFF_33__MASK; 16898c2ecf20Sopenharmony_ci} 16908c2ecf20Sopenharmony_ci 16918c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_CSC_COMP_PRECLAMP(uint32_t i0, uint32_t i1) { return 0x00000274 + __offset_WB(i0) + 0x4*i1; } 16928c2ecf20Sopenharmony_ci 16938c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_CSC_COMP_PRECLAMP_REG(uint32_t i0, uint32_t i1) { return 0x00000274 + __offset_WB(i0) + 0x4*i1; } 16948c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_COMP_PRECLAMP_REG_HIGH__MASK 0x000000ff 16958c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_COMP_PRECLAMP_REG_HIGH__SHIFT 0 16968c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_COMP_PRECLAMP_REG_HIGH(uint32_t val) 16978c2ecf20Sopenharmony_ci{ 16988c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_COMP_PRECLAMP_REG_HIGH__SHIFT) & MDP5_WB_CSC_COMP_PRECLAMP_REG_HIGH__MASK; 16998c2ecf20Sopenharmony_ci} 17008c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_COMP_PRECLAMP_REG_LOW__MASK 0x0000ff00 17018c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_COMP_PRECLAMP_REG_LOW__SHIFT 8 17028c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_COMP_PRECLAMP_REG_LOW(uint32_t val) 17038c2ecf20Sopenharmony_ci{ 17048c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_COMP_PRECLAMP_REG_LOW__SHIFT) & MDP5_WB_CSC_COMP_PRECLAMP_REG_LOW__MASK; 17058c2ecf20Sopenharmony_ci} 17068c2ecf20Sopenharmony_ci 17078c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_CSC_COMP_POSTCLAMP(uint32_t i0, uint32_t i1) { return 0x00000280 + __offset_WB(i0) + 0x4*i1; } 17088c2ecf20Sopenharmony_ci 17098c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_CSC_COMP_POSTCLAMP_REG(uint32_t i0, uint32_t i1) { return 0x00000280 + __offset_WB(i0) + 0x4*i1; } 17108c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_COMP_POSTCLAMP_REG_HIGH__MASK 0x000000ff 17118c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_COMP_POSTCLAMP_REG_HIGH__SHIFT 0 17128c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_COMP_POSTCLAMP_REG_HIGH(uint32_t val) 17138c2ecf20Sopenharmony_ci{ 17148c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_COMP_POSTCLAMP_REG_HIGH__SHIFT) & MDP5_WB_CSC_COMP_POSTCLAMP_REG_HIGH__MASK; 17158c2ecf20Sopenharmony_ci} 17168c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_COMP_POSTCLAMP_REG_LOW__MASK 0x0000ff00 17178c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_COMP_POSTCLAMP_REG_LOW__SHIFT 8 17188c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_COMP_POSTCLAMP_REG_LOW(uint32_t val) 17198c2ecf20Sopenharmony_ci{ 17208c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_COMP_POSTCLAMP_REG_LOW__SHIFT) & MDP5_WB_CSC_COMP_POSTCLAMP_REG_LOW__MASK; 17218c2ecf20Sopenharmony_ci} 17228c2ecf20Sopenharmony_ci 17238c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_CSC_COMP_PREBIAS(uint32_t i0, uint32_t i1) { return 0x0000028c + __offset_WB(i0) + 0x4*i1; } 17248c2ecf20Sopenharmony_ci 17258c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_CSC_COMP_PREBIAS_REG(uint32_t i0, uint32_t i1) { return 0x0000028c + __offset_WB(i0) + 0x4*i1; } 17268c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_COMP_PREBIAS_REG_VALUE__MASK 0x000001ff 17278c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_COMP_PREBIAS_REG_VALUE__SHIFT 0 17288c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_COMP_PREBIAS_REG_VALUE(uint32_t val) 17298c2ecf20Sopenharmony_ci{ 17308c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_COMP_PREBIAS_REG_VALUE__SHIFT) & MDP5_WB_CSC_COMP_PREBIAS_REG_VALUE__MASK; 17318c2ecf20Sopenharmony_ci} 17328c2ecf20Sopenharmony_ci 17338c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_CSC_COMP_POSTBIAS(uint32_t i0, uint32_t i1) { return 0x00000298 + __offset_WB(i0) + 0x4*i1; } 17348c2ecf20Sopenharmony_ci 17358c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_WB_CSC_COMP_POSTBIAS_REG(uint32_t i0, uint32_t i1) { return 0x00000298 + __offset_WB(i0) + 0x4*i1; } 17368c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_COMP_POSTBIAS_REG_VALUE__MASK 0x000001ff 17378c2ecf20Sopenharmony_ci#define MDP5_WB_CSC_COMP_POSTBIAS_REG_VALUE__SHIFT 0 17388c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_WB_CSC_COMP_POSTBIAS_REG_VALUE(uint32_t val) 17398c2ecf20Sopenharmony_ci{ 17408c2ecf20Sopenharmony_ci return ((val) << MDP5_WB_CSC_COMP_POSTBIAS_REG_VALUE__SHIFT) & MDP5_WB_CSC_COMP_POSTBIAS_REG_VALUE__MASK; 17418c2ecf20Sopenharmony_ci} 17428c2ecf20Sopenharmony_ci 17438c2ecf20Sopenharmony_cistatic inline uint32_t __offset_INTF(uint32_t idx) 17448c2ecf20Sopenharmony_ci{ 17458c2ecf20Sopenharmony_ci switch (idx) { 17468c2ecf20Sopenharmony_ci case 0: return (mdp5_cfg->intf.base[0]); 17478c2ecf20Sopenharmony_ci case 1: return (mdp5_cfg->intf.base[1]); 17488c2ecf20Sopenharmony_ci case 2: return (mdp5_cfg->intf.base[2]); 17498c2ecf20Sopenharmony_ci case 3: return (mdp5_cfg->intf.base[3]); 17508c2ecf20Sopenharmony_ci case 4: return (mdp5_cfg->intf.base[4]); 17518c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 17528c2ecf20Sopenharmony_ci } 17538c2ecf20Sopenharmony_ci} 17548c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF(uint32_t i0) { return 0x00000000 + __offset_INTF(i0); } 17558c2ecf20Sopenharmony_ci 17568c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_TIMING_ENGINE_EN(uint32_t i0) { return 0x00000000 + __offset_INTF(i0); } 17578c2ecf20Sopenharmony_ci 17588c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_CONFIG(uint32_t i0) { return 0x00000004 + __offset_INTF(i0); } 17598c2ecf20Sopenharmony_ci 17608c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_HSYNC_CTL(uint32_t i0) { return 0x00000008 + __offset_INTF(i0); } 17618c2ecf20Sopenharmony_ci#define MDP5_INTF_HSYNC_CTL_PULSEW__MASK 0x0000ffff 17628c2ecf20Sopenharmony_ci#define MDP5_INTF_HSYNC_CTL_PULSEW__SHIFT 0 17638c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_INTF_HSYNC_CTL_PULSEW(uint32_t val) 17648c2ecf20Sopenharmony_ci{ 17658c2ecf20Sopenharmony_ci return ((val) << MDP5_INTF_HSYNC_CTL_PULSEW__SHIFT) & MDP5_INTF_HSYNC_CTL_PULSEW__MASK; 17668c2ecf20Sopenharmony_ci} 17678c2ecf20Sopenharmony_ci#define MDP5_INTF_HSYNC_CTL_PERIOD__MASK 0xffff0000 17688c2ecf20Sopenharmony_ci#define MDP5_INTF_HSYNC_CTL_PERIOD__SHIFT 16 17698c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_INTF_HSYNC_CTL_PERIOD(uint32_t val) 17708c2ecf20Sopenharmony_ci{ 17718c2ecf20Sopenharmony_ci return ((val) << MDP5_INTF_HSYNC_CTL_PERIOD__SHIFT) & MDP5_INTF_HSYNC_CTL_PERIOD__MASK; 17728c2ecf20Sopenharmony_ci} 17738c2ecf20Sopenharmony_ci 17748c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_VSYNC_PERIOD_F0(uint32_t i0) { return 0x0000000c + __offset_INTF(i0); } 17758c2ecf20Sopenharmony_ci 17768c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_VSYNC_PERIOD_F1(uint32_t i0) { return 0x00000010 + __offset_INTF(i0); } 17778c2ecf20Sopenharmony_ci 17788c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_VSYNC_LEN_F0(uint32_t i0) { return 0x00000014 + __offset_INTF(i0); } 17798c2ecf20Sopenharmony_ci 17808c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_VSYNC_LEN_F1(uint32_t i0) { return 0x00000018 + __offset_INTF(i0); } 17818c2ecf20Sopenharmony_ci 17828c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_DISPLAY_VSTART_F0(uint32_t i0) { return 0x0000001c + __offset_INTF(i0); } 17838c2ecf20Sopenharmony_ci 17848c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_DISPLAY_VSTART_F1(uint32_t i0) { return 0x00000020 + __offset_INTF(i0); } 17858c2ecf20Sopenharmony_ci 17868c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_DISPLAY_VEND_F0(uint32_t i0) { return 0x00000024 + __offset_INTF(i0); } 17878c2ecf20Sopenharmony_ci 17888c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_DISPLAY_VEND_F1(uint32_t i0) { return 0x00000028 + __offset_INTF(i0); } 17898c2ecf20Sopenharmony_ci 17908c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_ACTIVE_VSTART_F0(uint32_t i0) { return 0x0000002c + __offset_INTF(i0); } 17918c2ecf20Sopenharmony_ci#define MDP5_INTF_ACTIVE_VSTART_F0_VAL__MASK 0x7fffffff 17928c2ecf20Sopenharmony_ci#define MDP5_INTF_ACTIVE_VSTART_F0_VAL__SHIFT 0 17938c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_INTF_ACTIVE_VSTART_F0_VAL(uint32_t val) 17948c2ecf20Sopenharmony_ci{ 17958c2ecf20Sopenharmony_ci return ((val) << MDP5_INTF_ACTIVE_VSTART_F0_VAL__SHIFT) & MDP5_INTF_ACTIVE_VSTART_F0_VAL__MASK; 17968c2ecf20Sopenharmony_ci} 17978c2ecf20Sopenharmony_ci#define MDP5_INTF_ACTIVE_VSTART_F0_ACTIVE_V_ENABLE 0x80000000 17988c2ecf20Sopenharmony_ci 17998c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_ACTIVE_VSTART_F1(uint32_t i0) { return 0x00000030 + __offset_INTF(i0); } 18008c2ecf20Sopenharmony_ci#define MDP5_INTF_ACTIVE_VSTART_F1_VAL__MASK 0x7fffffff 18018c2ecf20Sopenharmony_ci#define MDP5_INTF_ACTIVE_VSTART_F1_VAL__SHIFT 0 18028c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_INTF_ACTIVE_VSTART_F1_VAL(uint32_t val) 18038c2ecf20Sopenharmony_ci{ 18048c2ecf20Sopenharmony_ci return ((val) << MDP5_INTF_ACTIVE_VSTART_F1_VAL__SHIFT) & MDP5_INTF_ACTIVE_VSTART_F1_VAL__MASK; 18058c2ecf20Sopenharmony_ci} 18068c2ecf20Sopenharmony_ci 18078c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_ACTIVE_VEND_F0(uint32_t i0) { return 0x00000034 + __offset_INTF(i0); } 18088c2ecf20Sopenharmony_ci 18098c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_ACTIVE_VEND_F1(uint32_t i0) { return 0x00000038 + __offset_INTF(i0); } 18108c2ecf20Sopenharmony_ci 18118c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_DISPLAY_HCTL(uint32_t i0) { return 0x0000003c + __offset_INTF(i0); } 18128c2ecf20Sopenharmony_ci#define MDP5_INTF_DISPLAY_HCTL_START__MASK 0x0000ffff 18138c2ecf20Sopenharmony_ci#define MDP5_INTF_DISPLAY_HCTL_START__SHIFT 0 18148c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_INTF_DISPLAY_HCTL_START(uint32_t val) 18158c2ecf20Sopenharmony_ci{ 18168c2ecf20Sopenharmony_ci return ((val) << MDP5_INTF_DISPLAY_HCTL_START__SHIFT) & MDP5_INTF_DISPLAY_HCTL_START__MASK; 18178c2ecf20Sopenharmony_ci} 18188c2ecf20Sopenharmony_ci#define MDP5_INTF_DISPLAY_HCTL_END__MASK 0xffff0000 18198c2ecf20Sopenharmony_ci#define MDP5_INTF_DISPLAY_HCTL_END__SHIFT 16 18208c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_INTF_DISPLAY_HCTL_END(uint32_t val) 18218c2ecf20Sopenharmony_ci{ 18228c2ecf20Sopenharmony_ci return ((val) << MDP5_INTF_DISPLAY_HCTL_END__SHIFT) & MDP5_INTF_DISPLAY_HCTL_END__MASK; 18238c2ecf20Sopenharmony_ci} 18248c2ecf20Sopenharmony_ci 18258c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_ACTIVE_HCTL(uint32_t i0) { return 0x00000040 + __offset_INTF(i0); } 18268c2ecf20Sopenharmony_ci#define MDP5_INTF_ACTIVE_HCTL_START__MASK 0x00007fff 18278c2ecf20Sopenharmony_ci#define MDP5_INTF_ACTIVE_HCTL_START__SHIFT 0 18288c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_INTF_ACTIVE_HCTL_START(uint32_t val) 18298c2ecf20Sopenharmony_ci{ 18308c2ecf20Sopenharmony_ci return ((val) << MDP5_INTF_ACTIVE_HCTL_START__SHIFT) & MDP5_INTF_ACTIVE_HCTL_START__MASK; 18318c2ecf20Sopenharmony_ci} 18328c2ecf20Sopenharmony_ci#define MDP5_INTF_ACTIVE_HCTL_END__MASK 0x7fff0000 18338c2ecf20Sopenharmony_ci#define MDP5_INTF_ACTIVE_HCTL_END__SHIFT 16 18348c2ecf20Sopenharmony_cistatic inline uint32_t MDP5_INTF_ACTIVE_HCTL_END(uint32_t val) 18358c2ecf20Sopenharmony_ci{ 18368c2ecf20Sopenharmony_ci return ((val) << MDP5_INTF_ACTIVE_HCTL_END__SHIFT) & MDP5_INTF_ACTIVE_HCTL_END__MASK; 18378c2ecf20Sopenharmony_ci} 18388c2ecf20Sopenharmony_ci#define MDP5_INTF_ACTIVE_HCTL_ACTIVE_H_ENABLE 0x80000000 18398c2ecf20Sopenharmony_ci 18408c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_BORDER_COLOR(uint32_t i0) { return 0x00000044 + __offset_INTF(i0); } 18418c2ecf20Sopenharmony_ci 18428c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_UNDERFLOW_COLOR(uint32_t i0) { return 0x00000048 + __offset_INTF(i0); } 18438c2ecf20Sopenharmony_ci 18448c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_HSYNC_SKEW(uint32_t i0) { return 0x0000004c + __offset_INTF(i0); } 18458c2ecf20Sopenharmony_ci 18468c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_POLARITY_CTL(uint32_t i0) { return 0x00000050 + __offset_INTF(i0); } 18478c2ecf20Sopenharmony_ci#define MDP5_INTF_POLARITY_CTL_HSYNC_LOW 0x00000001 18488c2ecf20Sopenharmony_ci#define MDP5_INTF_POLARITY_CTL_VSYNC_LOW 0x00000002 18498c2ecf20Sopenharmony_ci#define MDP5_INTF_POLARITY_CTL_DATA_EN_LOW 0x00000004 18508c2ecf20Sopenharmony_ci 18518c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_TEST_CTL(uint32_t i0) { return 0x00000054 + __offset_INTF(i0); } 18528c2ecf20Sopenharmony_ci 18538c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_TP_COLOR0(uint32_t i0) { return 0x00000058 + __offset_INTF(i0); } 18548c2ecf20Sopenharmony_ci 18558c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_TP_COLOR1(uint32_t i0) { return 0x0000005c + __offset_INTF(i0); } 18568c2ecf20Sopenharmony_ci 18578c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_DSI_CMD_MODE_TRIGGER_EN(uint32_t i0) { return 0x00000084 + __offset_INTF(i0); } 18588c2ecf20Sopenharmony_ci 18598c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_PANEL_FORMAT(uint32_t i0) { return 0x00000090 + __offset_INTF(i0); } 18608c2ecf20Sopenharmony_ci 18618c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_FRAME_LINE_COUNT_EN(uint32_t i0) { return 0x000000a8 + __offset_INTF(i0); } 18628c2ecf20Sopenharmony_ci 18638c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_FRAME_COUNT(uint32_t i0) { return 0x000000ac + __offset_INTF(i0); } 18648c2ecf20Sopenharmony_ci 18658c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_LINE_COUNT(uint32_t i0) { return 0x000000b0 + __offset_INTF(i0); } 18668c2ecf20Sopenharmony_ci 18678c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_DEFLICKER_CONFIG(uint32_t i0) { return 0x000000f0 + __offset_INTF(i0); } 18688c2ecf20Sopenharmony_ci 18698c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_DEFLICKER_STRNG_COEFF(uint32_t i0) { return 0x000000f4 + __offset_INTF(i0); } 18708c2ecf20Sopenharmony_ci 18718c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_DEFLICKER_WEAK_COEFF(uint32_t i0) { return 0x000000f8 + __offset_INTF(i0); } 18728c2ecf20Sopenharmony_ci 18738c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_TPG_ENABLE(uint32_t i0) { return 0x00000100 + __offset_INTF(i0); } 18748c2ecf20Sopenharmony_ci 18758c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_TPG_MAIN_CONTROL(uint32_t i0) { return 0x00000104 + __offset_INTF(i0); } 18768c2ecf20Sopenharmony_ci 18778c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_TPG_VIDEO_CONFIG(uint32_t i0) { return 0x00000108 + __offset_INTF(i0); } 18788c2ecf20Sopenharmony_ci 18798c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_TPG_COMPONENT_LIMITS(uint32_t i0) { return 0x0000010c + __offset_INTF(i0); } 18808c2ecf20Sopenharmony_ci 18818c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_TPG_RECTANGLE(uint32_t i0) { return 0x00000110 + __offset_INTF(i0); } 18828c2ecf20Sopenharmony_ci 18838c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_TPG_INITIAL_VALUE(uint32_t i0) { return 0x00000114 + __offset_INTF(i0); } 18848c2ecf20Sopenharmony_ci 18858c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_TPG_BLK_WHITE_PATTERN_FRAME(uint32_t i0) { return 0x00000118 + __offset_INTF(i0); } 18868c2ecf20Sopenharmony_ci 18878c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_INTF_TPG_RGB_MAPPING(uint32_t i0) { return 0x0000011c + __offset_INTF(i0); } 18888c2ecf20Sopenharmony_ci 18898c2ecf20Sopenharmony_cistatic inline uint32_t __offset_AD(uint32_t idx) 18908c2ecf20Sopenharmony_ci{ 18918c2ecf20Sopenharmony_ci switch (idx) { 18928c2ecf20Sopenharmony_ci case 0: return (mdp5_cfg->ad.base[0]); 18938c2ecf20Sopenharmony_ci case 1: return (mdp5_cfg->ad.base[1]); 18948c2ecf20Sopenharmony_ci default: return INVALID_IDX(idx); 18958c2ecf20Sopenharmony_ci } 18968c2ecf20Sopenharmony_ci} 18978c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD(uint32_t i0) { return 0x00000000 + __offset_AD(i0); } 18988c2ecf20Sopenharmony_ci 18998c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_BYPASS(uint32_t i0) { return 0x00000000 + __offset_AD(i0); } 19008c2ecf20Sopenharmony_ci 19018c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_CTRL_0(uint32_t i0) { return 0x00000004 + __offset_AD(i0); } 19028c2ecf20Sopenharmony_ci 19038c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_CTRL_1(uint32_t i0) { return 0x00000008 + __offset_AD(i0); } 19048c2ecf20Sopenharmony_ci 19058c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_FRAME_SIZE(uint32_t i0) { return 0x0000000c + __offset_AD(i0); } 19068c2ecf20Sopenharmony_ci 19078c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_CON_CTRL_0(uint32_t i0) { return 0x00000010 + __offset_AD(i0); } 19088c2ecf20Sopenharmony_ci 19098c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_CON_CTRL_1(uint32_t i0) { return 0x00000014 + __offset_AD(i0); } 19108c2ecf20Sopenharmony_ci 19118c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_STR_MAN(uint32_t i0) { return 0x00000018 + __offset_AD(i0); } 19128c2ecf20Sopenharmony_ci 19138c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_VAR(uint32_t i0) { return 0x0000001c + __offset_AD(i0); } 19148c2ecf20Sopenharmony_ci 19158c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_DITH(uint32_t i0) { return 0x00000020 + __offset_AD(i0); } 19168c2ecf20Sopenharmony_ci 19178c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_DITH_CTRL(uint32_t i0) { return 0x00000024 + __offset_AD(i0); } 19188c2ecf20Sopenharmony_ci 19198c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_AMP_LIM(uint32_t i0) { return 0x00000028 + __offset_AD(i0); } 19208c2ecf20Sopenharmony_ci 19218c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_SLOPE(uint32_t i0) { return 0x0000002c + __offset_AD(i0); } 19228c2ecf20Sopenharmony_ci 19238c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_BW_LVL(uint32_t i0) { return 0x00000030 + __offset_AD(i0); } 19248c2ecf20Sopenharmony_ci 19258c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_LOGO_POS(uint32_t i0) { return 0x00000034 + __offset_AD(i0); } 19268c2ecf20Sopenharmony_ci 19278c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_LUT_FI(uint32_t i0) { return 0x00000038 + __offset_AD(i0); } 19288c2ecf20Sopenharmony_ci 19298c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_LUT_CC(uint32_t i0) { return 0x0000007c + __offset_AD(i0); } 19308c2ecf20Sopenharmony_ci 19318c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_STR_LIM(uint32_t i0) { return 0x000000c8 + __offset_AD(i0); } 19328c2ecf20Sopenharmony_ci 19338c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_CALIB_AB(uint32_t i0) { return 0x000000cc + __offset_AD(i0); } 19348c2ecf20Sopenharmony_ci 19358c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_CALIB_CD(uint32_t i0) { return 0x000000d0 + __offset_AD(i0); } 19368c2ecf20Sopenharmony_ci 19378c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_MODE_SEL(uint32_t i0) { return 0x000000d4 + __offset_AD(i0); } 19388c2ecf20Sopenharmony_ci 19398c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_TFILT_CTRL(uint32_t i0) { return 0x000000d8 + __offset_AD(i0); } 19408c2ecf20Sopenharmony_ci 19418c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_BL_MINMAX(uint32_t i0) { return 0x000000dc + __offset_AD(i0); } 19428c2ecf20Sopenharmony_ci 19438c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_BL(uint32_t i0) { return 0x000000e0 + __offset_AD(i0); } 19448c2ecf20Sopenharmony_ci 19458c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_BL_MAX(uint32_t i0) { return 0x000000e8 + __offset_AD(i0); } 19468c2ecf20Sopenharmony_ci 19478c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_AL(uint32_t i0) { return 0x000000ec + __offset_AD(i0); } 19488c2ecf20Sopenharmony_ci 19498c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_AL_MIN(uint32_t i0) { return 0x000000f0 + __offset_AD(i0); } 19508c2ecf20Sopenharmony_ci 19518c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_AL_FILT(uint32_t i0) { return 0x000000f4 + __offset_AD(i0); } 19528c2ecf20Sopenharmony_ci 19538c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_CFG_BUF(uint32_t i0) { return 0x000000f8 + __offset_AD(i0); } 19548c2ecf20Sopenharmony_ci 19558c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_LUT_AL(uint32_t i0) { return 0x00000100 + __offset_AD(i0); } 19568c2ecf20Sopenharmony_ci 19578c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_TARG_STR(uint32_t i0) { return 0x00000144 + __offset_AD(i0); } 19588c2ecf20Sopenharmony_ci 19598c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_START_CALC(uint32_t i0) { return 0x00000148 + __offset_AD(i0); } 19608c2ecf20Sopenharmony_ci 19618c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_STR_OUT(uint32_t i0) { return 0x0000014c + __offset_AD(i0); } 19628c2ecf20Sopenharmony_ci 19638c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_BL_OUT(uint32_t i0) { return 0x00000154 + __offset_AD(i0); } 19648c2ecf20Sopenharmony_ci 19658c2ecf20Sopenharmony_cistatic inline uint32_t REG_MDP5_AD_CALC_DONE(uint32_t i0) { return 0x00000158 + __offset_AD(i0); } 19668c2ecf20Sopenharmony_ci 19678c2ecf20Sopenharmony_ci 19688c2ecf20Sopenharmony_ci#endif /* MDP5_XML */ 1969