162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2015, The Linux Foundation. All rights reserved. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#ifndef _DT_BINDINGS_CLK_MSM_MMCC_8996_H 762306a36Sopenharmony_ci#define _DT_BINDINGS_CLK_MSM_MMCC_8996_H 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#define MMPLL0_EARLY 0 1062306a36Sopenharmony_ci#define MMPLL0_PLL 1 1162306a36Sopenharmony_ci#define MMPLL1_EARLY 2 1262306a36Sopenharmony_ci#define MMPLL1_PLL 3 1362306a36Sopenharmony_ci#define MMPLL2_EARLY 4 1462306a36Sopenharmony_ci#define MMPLL2_PLL 5 1562306a36Sopenharmony_ci#define MMPLL3_EARLY 6 1662306a36Sopenharmony_ci#define MMPLL3_PLL 7 1762306a36Sopenharmony_ci#define MMPLL4_EARLY 8 1862306a36Sopenharmony_ci#define MMPLL4_PLL 9 1962306a36Sopenharmony_ci#define MMPLL5_EARLY 10 2062306a36Sopenharmony_ci#define MMPLL5_PLL 11 2162306a36Sopenharmony_ci#define MMPLL8_EARLY 12 2262306a36Sopenharmony_ci#define MMPLL8_PLL 13 2362306a36Sopenharmony_ci#define MMPLL9_EARLY 14 2462306a36Sopenharmony_ci#define MMPLL9_PLL 15 2562306a36Sopenharmony_ci#define AHB_CLK_SRC 16 2662306a36Sopenharmony_ci#define AXI_CLK_SRC 17 2762306a36Sopenharmony_ci#define MAXI_CLK_SRC 18 2862306a36Sopenharmony_ci#define DSA_CORE_CLK_SRC 19 2962306a36Sopenharmony_ci#define GFX3D_CLK_SRC 20 3062306a36Sopenharmony_ci#define RBBMTIMER_CLK_SRC 21 3162306a36Sopenharmony_ci#define ISENSE_CLK_SRC 22 3262306a36Sopenharmony_ci#define RBCPR_CLK_SRC 23 3362306a36Sopenharmony_ci#define VIDEO_CORE_CLK_SRC 24 3462306a36Sopenharmony_ci#define VIDEO_SUBCORE0_CLK_SRC 25 3562306a36Sopenharmony_ci#define VIDEO_SUBCORE1_CLK_SRC 26 3662306a36Sopenharmony_ci#define PCLK0_CLK_SRC 27 3762306a36Sopenharmony_ci#define PCLK1_CLK_SRC 28 3862306a36Sopenharmony_ci#define MDP_CLK_SRC 29 3962306a36Sopenharmony_ci#define EXTPCLK_CLK_SRC 30 4062306a36Sopenharmony_ci#define VSYNC_CLK_SRC 31 4162306a36Sopenharmony_ci#define HDMI_CLK_SRC 32 4262306a36Sopenharmony_ci#define BYTE0_CLK_SRC 33 4362306a36Sopenharmony_ci#define BYTE1_CLK_SRC 34 4462306a36Sopenharmony_ci#define ESC0_CLK_SRC 35 4562306a36Sopenharmony_ci#define ESC1_CLK_SRC 36 4662306a36Sopenharmony_ci#define CAMSS_GP0_CLK_SRC 37 4762306a36Sopenharmony_ci#define CAMSS_GP1_CLK_SRC 38 4862306a36Sopenharmony_ci#define MCLK0_CLK_SRC 39 4962306a36Sopenharmony_ci#define MCLK1_CLK_SRC 40 5062306a36Sopenharmony_ci#define MCLK2_CLK_SRC 41 5162306a36Sopenharmony_ci#define MCLK3_CLK_SRC 42 5262306a36Sopenharmony_ci#define CCI_CLK_SRC 43 5362306a36Sopenharmony_ci#define CSI0PHYTIMER_CLK_SRC 44 5462306a36Sopenharmony_ci#define CSI1PHYTIMER_CLK_SRC 45 5562306a36Sopenharmony_ci#define CSI2PHYTIMER_CLK_SRC 46 5662306a36Sopenharmony_ci#define CSIPHY0_3P_CLK_SRC 47 5762306a36Sopenharmony_ci#define CSIPHY1_3P_CLK_SRC 48 5862306a36Sopenharmony_ci#define CSIPHY2_3P_CLK_SRC 49 5962306a36Sopenharmony_ci#define JPEG0_CLK_SRC 50 6062306a36Sopenharmony_ci#define JPEG2_CLK_SRC 51 6162306a36Sopenharmony_ci#define JPEG_DMA_CLK_SRC 52 6262306a36Sopenharmony_ci#define VFE0_CLK_SRC 53 6362306a36Sopenharmony_ci#define VFE1_CLK_SRC 54 6462306a36Sopenharmony_ci#define CPP_CLK_SRC 55 6562306a36Sopenharmony_ci#define CSI0_CLK_SRC 56 6662306a36Sopenharmony_ci#define CSI1_CLK_SRC 57 6762306a36Sopenharmony_ci#define CSI2_CLK_SRC 58 6862306a36Sopenharmony_ci#define CSI3_CLK_SRC 59 6962306a36Sopenharmony_ci#define FD_CORE_CLK_SRC 60 7062306a36Sopenharmony_ci#define MMSS_CXO_CLK 61 7162306a36Sopenharmony_ci#define MMSS_SLEEPCLK_CLK 62 7262306a36Sopenharmony_ci#define MMSS_MMAGIC_AHB_CLK 63 7362306a36Sopenharmony_ci#define MMSS_MMAGIC_CFG_AHB_CLK 64 7462306a36Sopenharmony_ci#define MMSS_MISC_AHB_CLK 65 7562306a36Sopenharmony_ci#define MMSS_MISC_CXO_CLK 66 7662306a36Sopenharmony_ci#define MMSS_BTO_AHB_CLK 67 7762306a36Sopenharmony_ci#define MMSS_MMAGIC_AXI_CLK 68 7862306a36Sopenharmony_ci#define MMSS_S0_AXI_CLK 69 7962306a36Sopenharmony_ci#define MMSS_MMAGIC_MAXI_CLK 70 8062306a36Sopenharmony_ci#define DSA_CORE_CLK 71 8162306a36Sopenharmony_ci#define DSA_NOC_CFG_AHB_CLK 72 8262306a36Sopenharmony_ci#define MMAGIC_CAMSS_AXI_CLK 73 8362306a36Sopenharmony_ci#define MMAGIC_CAMSS_NOC_CFG_AHB_CLK 74 8462306a36Sopenharmony_ci#define THROTTLE_CAMSS_CXO_CLK 75 8562306a36Sopenharmony_ci#define THROTTLE_CAMSS_AHB_CLK 76 8662306a36Sopenharmony_ci#define THROTTLE_CAMSS_AXI_CLK 77 8762306a36Sopenharmony_ci#define SMMU_VFE_AHB_CLK 78 8862306a36Sopenharmony_ci#define SMMU_VFE_AXI_CLK 79 8962306a36Sopenharmony_ci#define SMMU_CPP_AHB_CLK 80 9062306a36Sopenharmony_ci#define SMMU_CPP_AXI_CLK 81 9162306a36Sopenharmony_ci#define SMMU_JPEG_AHB_CLK 82 9262306a36Sopenharmony_ci#define SMMU_JPEG_AXI_CLK 83 9362306a36Sopenharmony_ci#define MMAGIC_MDSS_AXI_CLK 84 9462306a36Sopenharmony_ci#define MMAGIC_MDSS_NOC_CFG_AHB_CLK 85 9562306a36Sopenharmony_ci#define THROTTLE_MDSS_CXO_CLK 86 9662306a36Sopenharmony_ci#define THROTTLE_MDSS_AHB_CLK 87 9762306a36Sopenharmony_ci#define THROTTLE_MDSS_AXI_CLK 88 9862306a36Sopenharmony_ci#define SMMU_ROT_AHB_CLK 89 9962306a36Sopenharmony_ci#define SMMU_ROT_AXI_CLK 90 10062306a36Sopenharmony_ci#define SMMU_MDP_AHB_CLK 91 10162306a36Sopenharmony_ci#define SMMU_MDP_AXI_CLK 92 10262306a36Sopenharmony_ci#define MMAGIC_VIDEO_AXI_CLK 93 10362306a36Sopenharmony_ci#define MMAGIC_VIDEO_NOC_CFG_AHB_CLK 94 10462306a36Sopenharmony_ci#define THROTTLE_VIDEO_CXO_CLK 95 10562306a36Sopenharmony_ci#define THROTTLE_VIDEO_AHB_CLK 96 10662306a36Sopenharmony_ci#define THROTTLE_VIDEO_AXI_CLK 97 10762306a36Sopenharmony_ci#define SMMU_VIDEO_AHB_CLK 98 10862306a36Sopenharmony_ci#define SMMU_VIDEO_AXI_CLK 99 10962306a36Sopenharmony_ci#define MMAGIC_BIMC_AXI_CLK 100 11062306a36Sopenharmony_ci#define MMAGIC_BIMC_NOC_CFG_AHB_CLK 101 11162306a36Sopenharmony_ci#define GPU_GX_GFX3D_CLK 102 11262306a36Sopenharmony_ci#define GPU_GX_RBBMTIMER_CLK 103 11362306a36Sopenharmony_ci#define GPU_AHB_CLK 104 11462306a36Sopenharmony_ci#define GPU_AON_ISENSE_CLK 105 11562306a36Sopenharmony_ci#define VMEM_MAXI_CLK 106 11662306a36Sopenharmony_ci#define VMEM_AHB_CLK 107 11762306a36Sopenharmony_ci#define MMSS_RBCPR_CLK 108 11862306a36Sopenharmony_ci#define MMSS_RBCPR_AHB_CLK 109 11962306a36Sopenharmony_ci#define VIDEO_CORE_CLK 110 12062306a36Sopenharmony_ci#define VIDEO_AXI_CLK 111 12162306a36Sopenharmony_ci#define VIDEO_MAXI_CLK 112 12262306a36Sopenharmony_ci#define VIDEO_AHB_CLK 113 12362306a36Sopenharmony_ci#define VIDEO_SUBCORE0_CLK 114 12462306a36Sopenharmony_ci#define VIDEO_SUBCORE1_CLK 115 12562306a36Sopenharmony_ci#define MDSS_AHB_CLK 116 12662306a36Sopenharmony_ci#define MDSS_HDMI_AHB_CLK 117 12762306a36Sopenharmony_ci#define MDSS_AXI_CLK 118 12862306a36Sopenharmony_ci#define MDSS_PCLK0_CLK 119 12962306a36Sopenharmony_ci#define MDSS_PCLK1_CLK 120 13062306a36Sopenharmony_ci#define MDSS_MDP_CLK 121 13162306a36Sopenharmony_ci#define MDSS_EXTPCLK_CLK 122 13262306a36Sopenharmony_ci#define MDSS_VSYNC_CLK 123 13362306a36Sopenharmony_ci#define MDSS_HDMI_CLK 124 13462306a36Sopenharmony_ci#define MDSS_BYTE0_CLK 125 13562306a36Sopenharmony_ci#define MDSS_BYTE1_CLK 126 13662306a36Sopenharmony_ci#define MDSS_ESC0_CLK 127 13762306a36Sopenharmony_ci#define MDSS_ESC1_CLK 128 13862306a36Sopenharmony_ci#define CAMSS_TOP_AHB_CLK 129 13962306a36Sopenharmony_ci#define CAMSS_AHB_CLK 130 14062306a36Sopenharmony_ci#define CAMSS_MICRO_AHB_CLK 131 14162306a36Sopenharmony_ci#define CAMSS_GP0_CLK 132 14262306a36Sopenharmony_ci#define CAMSS_GP1_CLK 133 14362306a36Sopenharmony_ci#define CAMSS_MCLK0_CLK 134 14462306a36Sopenharmony_ci#define CAMSS_MCLK1_CLK 135 14562306a36Sopenharmony_ci#define CAMSS_MCLK2_CLK 136 14662306a36Sopenharmony_ci#define CAMSS_MCLK3_CLK 137 14762306a36Sopenharmony_ci#define CAMSS_CCI_CLK 138 14862306a36Sopenharmony_ci#define CAMSS_CCI_AHB_CLK 139 14962306a36Sopenharmony_ci#define CAMSS_CSI0PHYTIMER_CLK 140 15062306a36Sopenharmony_ci#define CAMSS_CSI1PHYTIMER_CLK 141 15162306a36Sopenharmony_ci#define CAMSS_CSI2PHYTIMER_CLK 142 15262306a36Sopenharmony_ci#define CAMSS_CSIPHY0_3P_CLK 143 15362306a36Sopenharmony_ci#define CAMSS_CSIPHY1_3P_CLK 144 15462306a36Sopenharmony_ci#define CAMSS_CSIPHY2_3P_CLK 145 15562306a36Sopenharmony_ci#define CAMSS_JPEG0_CLK 146 15662306a36Sopenharmony_ci#define CAMSS_JPEG2_CLK 147 15762306a36Sopenharmony_ci#define CAMSS_JPEG_DMA_CLK 148 15862306a36Sopenharmony_ci#define CAMSS_JPEG_AHB_CLK 149 15962306a36Sopenharmony_ci#define CAMSS_JPEG_AXI_CLK 150 16062306a36Sopenharmony_ci#define CAMSS_VFE_AHB_CLK 151 16162306a36Sopenharmony_ci#define CAMSS_VFE_AXI_CLK 152 16262306a36Sopenharmony_ci#define CAMSS_VFE0_CLK 153 16362306a36Sopenharmony_ci#define CAMSS_VFE0_STREAM_CLK 154 16462306a36Sopenharmony_ci#define CAMSS_VFE0_AHB_CLK 155 16562306a36Sopenharmony_ci#define CAMSS_VFE1_CLK 156 16662306a36Sopenharmony_ci#define CAMSS_VFE1_STREAM_CLK 157 16762306a36Sopenharmony_ci#define CAMSS_VFE1_AHB_CLK 158 16862306a36Sopenharmony_ci#define CAMSS_CSI_VFE0_CLK 159 16962306a36Sopenharmony_ci#define CAMSS_CSI_VFE1_CLK 160 17062306a36Sopenharmony_ci#define CAMSS_CPP_VBIF_AHB_CLK 161 17162306a36Sopenharmony_ci#define CAMSS_CPP_AXI_CLK 162 17262306a36Sopenharmony_ci#define CAMSS_CPP_CLK 163 17362306a36Sopenharmony_ci#define CAMSS_CPP_AHB_CLK 164 17462306a36Sopenharmony_ci#define CAMSS_CSI0_CLK 165 17562306a36Sopenharmony_ci#define CAMSS_CSI0_AHB_CLK 166 17662306a36Sopenharmony_ci#define CAMSS_CSI0PHY_CLK 167 17762306a36Sopenharmony_ci#define CAMSS_CSI0RDI_CLK 168 17862306a36Sopenharmony_ci#define CAMSS_CSI0PIX_CLK 169 17962306a36Sopenharmony_ci#define CAMSS_CSI1_CLK 170 18062306a36Sopenharmony_ci#define CAMSS_CSI1_AHB_CLK 171 18162306a36Sopenharmony_ci#define CAMSS_CSI1PHY_CLK 172 18262306a36Sopenharmony_ci#define CAMSS_CSI1RDI_CLK 173 18362306a36Sopenharmony_ci#define CAMSS_CSI1PIX_CLK 174 18462306a36Sopenharmony_ci#define CAMSS_CSI2_CLK 175 18562306a36Sopenharmony_ci#define CAMSS_CSI2_AHB_CLK 176 18662306a36Sopenharmony_ci#define CAMSS_CSI2PHY_CLK 177 18762306a36Sopenharmony_ci#define CAMSS_CSI2RDI_CLK 178 18862306a36Sopenharmony_ci#define CAMSS_CSI2PIX_CLK 179 18962306a36Sopenharmony_ci#define CAMSS_CSI3_CLK 180 19062306a36Sopenharmony_ci#define CAMSS_CSI3_AHB_CLK 181 19162306a36Sopenharmony_ci#define CAMSS_CSI3PHY_CLK 182 19262306a36Sopenharmony_ci#define CAMSS_CSI3RDI_CLK 183 19362306a36Sopenharmony_ci#define CAMSS_CSI3PIX_CLK 184 19462306a36Sopenharmony_ci#define CAMSS_ISPIF_AHB_CLK 185 19562306a36Sopenharmony_ci#define FD_CORE_CLK 186 19662306a36Sopenharmony_ci#define FD_CORE_UAR_CLK 187 19762306a36Sopenharmony_ci#define FD_AHB_CLK 188 19862306a36Sopenharmony_ci#define MMSS_SPDM_CSI0_CLK 189 19962306a36Sopenharmony_ci#define MMSS_SPDM_JPEG_DMA_CLK 190 20062306a36Sopenharmony_ci#define MMSS_SPDM_CPP_CLK 191 20162306a36Sopenharmony_ci#define MMSS_SPDM_PCLK0_CLK 192 20262306a36Sopenharmony_ci#define MMSS_SPDM_AHB_CLK 193 20362306a36Sopenharmony_ci#define MMSS_SPDM_GFX3D_CLK 194 20462306a36Sopenharmony_ci#define MMSS_SPDM_PCLK1_CLK 195 20562306a36Sopenharmony_ci#define MMSS_SPDM_JPEG2_CLK 196 20662306a36Sopenharmony_ci#define MMSS_SPDM_DEBUG_CLK 197 20762306a36Sopenharmony_ci#define MMSS_SPDM_VFE1_CLK 198 20862306a36Sopenharmony_ci#define MMSS_SPDM_VFE0_CLK 199 20962306a36Sopenharmony_ci#define MMSS_SPDM_VIDEO_CORE_CLK 200 21062306a36Sopenharmony_ci#define MMSS_SPDM_AXI_CLK 201 21162306a36Sopenharmony_ci#define MMSS_SPDM_MDP_CLK 202 21262306a36Sopenharmony_ci#define MMSS_SPDM_JPEG0_CLK 203 21362306a36Sopenharmony_ci#define MMSS_SPDM_RM_AXI_CLK 204 21462306a36Sopenharmony_ci#define MMSS_SPDM_RM_MAXI_CLK 205 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci#define MMAGICAHB_BCR 0 21762306a36Sopenharmony_ci#define MMAGIC_CFG_BCR 1 21862306a36Sopenharmony_ci#define MISC_BCR 2 21962306a36Sopenharmony_ci#define BTO_BCR 3 22062306a36Sopenharmony_ci#define MMAGICAXI_BCR 4 22162306a36Sopenharmony_ci#define MMAGICMAXI_BCR 5 22262306a36Sopenharmony_ci#define DSA_BCR 6 22362306a36Sopenharmony_ci#define MMAGIC_CAMSS_BCR 7 22462306a36Sopenharmony_ci#define THROTTLE_CAMSS_BCR 8 22562306a36Sopenharmony_ci#define SMMU_VFE_BCR 9 22662306a36Sopenharmony_ci#define SMMU_CPP_BCR 10 22762306a36Sopenharmony_ci#define SMMU_JPEG_BCR 11 22862306a36Sopenharmony_ci#define MMAGIC_MDSS_BCR 12 22962306a36Sopenharmony_ci#define THROTTLE_MDSS_BCR 13 23062306a36Sopenharmony_ci#define SMMU_ROT_BCR 14 23162306a36Sopenharmony_ci#define SMMU_MDP_BCR 15 23262306a36Sopenharmony_ci#define MMAGIC_VIDEO_BCR 16 23362306a36Sopenharmony_ci#define THROTTLE_VIDEO_BCR 17 23462306a36Sopenharmony_ci#define SMMU_VIDEO_BCR 18 23562306a36Sopenharmony_ci#define MMAGIC_BIMC_BCR 19 23662306a36Sopenharmony_ci#define GPU_GX_BCR 20 23762306a36Sopenharmony_ci#define GPU_BCR 21 23862306a36Sopenharmony_ci#define GPU_AON_BCR 22 23962306a36Sopenharmony_ci#define VMEM_BCR 23 24062306a36Sopenharmony_ci#define MMSS_RBCPR_BCR 24 24162306a36Sopenharmony_ci#define VIDEO_BCR 25 24262306a36Sopenharmony_ci#define MDSS_BCR 26 24362306a36Sopenharmony_ci#define CAMSS_TOP_BCR 27 24462306a36Sopenharmony_ci#define CAMSS_AHB_BCR 28 24562306a36Sopenharmony_ci#define CAMSS_MICRO_BCR 29 24662306a36Sopenharmony_ci#define CAMSS_CCI_BCR 30 24762306a36Sopenharmony_ci#define CAMSS_PHY0_BCR 31 24862306a36Sopenharmony_ci#define CAMSS_PHY1_BCR 32 24962306a36Sopenharmony_ci#define CAMSS_PHY2_BCR 33 25062306a36Sopenharmony_ci#define CAMSS_CSIPHY0_3P_BCR 34 25162306a36Sopenharmony_ci#define CAMSS_CSIPHY1_3P_BCR 35 25262306a36Sopenharmony_ci#define CAMSS_CSIPHY2_3P_BCR 36 25362306a36Sopenharmony_ci#define CAMSS_JPEG_BCR 37 25462306a36Sopenharmony_ci#define CAMSS_VFE_BCR 38 25562306a36Sopenharmony_ci#define CAMSS_VFE0_BCR 39 25662306a36Sopenharmony_ci#define CAMSS_VFE1_BCR 40 25762306a36Sopenharmony_ci#define CAMSS_CSI_VFE0_BCR 41 25862306a36Sopenharmony_ci#define CAMSS_CSI_VFE1_BCR 42 25962306a36Sopenharmony_ci#define CAMSS_CPP_TOP_BCR 43 26062306a36Sopenharmony_ci#define CAMSS_CPP_BCR 44 26162306a36Sopenharmony_ci#define CAMSS_CSI0_BCR 45 26262306a36Sopenharmony_ci#define CAMSS_CSI0RDI_BCR 46 26362306a36Sopenharmony_ci#define CAMSS_CSI0PIX_BCR 47 26462306a36Sopenharmony_ci#define CAMSS_CSI1_BCR 48 26562306a36Sopenharmony_ci#define CAMSS_CSI1RDI_BCR 49 26662306a36Sopenharmony_ci#define CAMSS_CSI1PIX_BCR 50 26762306a36Sopenharmony_ci#define CAMSS_CSI2_BCR 51 26862306a36Sopenharmony_ci#define CAMSS_CSI2RDI_BCR 52 26962306a36Sopenharmony_ci#define CAMSS_CSI2PIX_BCR 53 27062306a36Sopenharmony_ci#define CAMSS_CSI3_BCR 54 27162306a36Sopenharmony_ci#define CAMSS_CSI3RDI_BCR 55 27262306a36Sopenharmony_ci#define CAMSS_CSI3PIX_BCR 56 27362306a36Sopenharmony_ci#define CAMSS_ISPIF_BCR 57 27462306a36Sopenharmony_ci#define FD_BCR 58 27562306a36Sopenharmony_ci#define MMSS_SPDM_RM_BCR 59 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci/* Indexes for GDSCs */ 27862306a36Sopenharmony_ci#define MMAGIC_VIDEO_GDSC 0 27962306a36Sopenharmony_ci#define MMAGIC_MDSS_GDSC 1 28062306a36Sopenharmony_ci#define MMAGIC_CAMSS_GDSC 2 28162306a36Sopenharmony_ci#define GPU_GDSC 3 28262306a36Sopenharmony_ci#define VENUS_GDSC 4 28362306a36Sopenharmony_ci#define VENUS_CORE0_GDSC 5 28462306a36Sopenharmony_ci#define VENUS_CORE1_GDSC 6 28562306a36Sopenharmony_ci#define CAMSS_GDSC 7 28662306a36Sopenharmony_ci#define VFE0_GDSC 8 28762306a36Sopenharmony_ci#define VFE1_GDSC 9 28862306a36Sopenharmony_ci#define JPEG_GDSC 10 28962306a36Sopenharmony_ci#define CPP_GDSC 11 29062306a36Sopenharmony_ci#define FD_GDSC 12 29162306a36Sopenharmony_ci#define MDSS_GDSC 13 29262306a36Sopenharmony_ci#define GPU_GX_GDSC 14 29362306a36Sopenharmony_ci#define MMAGIC_BIMC_GDSC 15 29462306a36Sopenharmony_ci 29562306a36Sopenharmony_ci#endif 296