1 /* 2 * Copyright (c) 2022 HiSilicon (Shanghai) Technologies CO., LIMITED. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef __HI_MOD_PARAM__ 17 #define __HI_MOD_PARAM__ 18 19 #include "hi_type.h" 20 #include "hi_defines.h" 21 22 typedef struct hiBASE_MODULE_PARAMS_S { 23 HI_BOOL bVbForceExit; 24 } BASE_MODULE_PARAMS_S; 25 26 27 typedef struct hiHIFB_MODULE_PARAMS_S { 28 HI_CHAR video[64]; 29 HI_BOOL bUpdateRotateRect; 30 } HIFB_MODULE_PARAMS_S; 31 32 typedef struct hiVGS_MODULE_PARAMS_S { 33 HI_U32 u32MaxVgsJob; 34 HI_U32 u32MaxVgsTask; 35 HI_U32 u32MaxVgsNode; 36 HI_U32 au32VgsEn[VGS_IP_NUM]; 37 HI_BOOL bVgsHdrSupport; 38 HI_BOOL bVgsExitInSys; 39 } VGS_MODULE_PARAMS_S; 40 41 typedef struct hiVPSS_MODULE_PARAMS_S { 42 HI_U32 u32VpssEn[VPSS_IP_NUM]; 43 } VPSS_MODULE_PARAMS_S; 44 45 typedef struct hiGDC_MODULE_PARAMS_S { 46 HI_U32 u32MaxGdcJob; 47 HI_U32 u32MaxGdcTask; 48 HI_U32 u32MaxGdcNode; 49 HI_U32 au32GdcEn[GDC_IP_NUM]; 50 } GDC_MODULE_PARAMS_S; 51 52 typedef struct hiVDEC_MODULE_PARAMS_S { 53 HI_U32 u32VdecMaxChnNum; 54 HI_BOOL bVdecHfr; 55 } VDEC_MODULE_PARAMS_S; 56 57 typedef struct hiIVE_MODULE_PARAMS_S { 58 HI_BOOL bSavePowerEn; 59 HI_U16 u16IveNodeNum; 60 HI_U16 u16Rsv; 61 } IVE_MODULE_PARAMS_S; 62 63 typedef struct hiSVP_NNIE_MODULE_PARAMS_S { 64 HI_BOOL bSavePowerEn; 65 HI_U16 u16NnieTskBufNum; 66 } SVP_NNIE_MODULE_PARAMS_S; 67 68 typedef struct hiSVP_DSP_MODULE_PARAMS_S { 69 HI_U16 u16NodeNum; 70 HI_U16 u16DspInitMode; 71 } SVP_DSP_MODULE_PARAMS_S; 72 73 typedef struct hiACODEC_MODULE_PARAMS_S { 74 HI_U32 u32InitDelayTimeMs; 75 } ACODEC_MODULE_PARAMS_S; 76 77 typedef struct hiISP_MODULE_PARAMS_S { 78 HI_U32 u32PwmNum; 79 HI_U32 u32ProcParam; 80 HI_U32 u32UpdatePos; 81 HI_U32 u32IntTimeOut; 82 HI_U32 bIntBottomHalf; 83 HI_U32 u32StatIntvl; 84 } ISP_MODULE_PARAMS_S; 85 86 typedef struct hiH265E_MODULE_PARAMS_S { 87 HI_U32 u32FeatureEnable; 88 } H265E_MODULE_PARAMS_S; 89 90 typedef struct hiVENC_MODULE_PARAMS_S { 91 HI_U32 u32VencMaxChnNum; 92 } VENC_MODULE_PARAMS_S; 93 94 typedef struct hiVEDU_MODULE_PARAMS_S { 95 HI_U32 vedu_en[VEDU_IP_NUM]; 96 } VEDU_MODULE_PARAMS_S; 97 typedef struct hiVFMW_MODULE_PARAMS_S { 98 HI_S32 s32VfmwMaxChnNum; 99 } VFMW_MODULE_PARAMS_S; 100 101 typedef struct hiSIL9024_MODULE_PARAMS_S { 102 int norm; 103 int i2c_num; 104 } SIL9024_MODULE_PARAMS_S; 105 106 typedef struct hiADV7179_MODULE_PARAMS_S { 107 int Norm_mode; 108 int i2c_num; 109 } ADV7179_MODULE_PARAMS_S; 110 111 typedef struct hiPM_MODULE_PARAMS_S { 112 HI_BOOL bAvspOn; /* HI_TRUE: on,HI_FALSE: off */ 113 HI_BOOL bSvpAcceleratorOn; /* HI_TRUE: on,HI_FALSE: off */ 114 // HI_U32 u32RegulatorType; /* 0:DC-DC, 1:PMU */ 115 } PM_MODULE_PARAMS_S; 116 #endif 117 118