11bd4fe43Sopenharmony_ci/* 21bd4fe43Sopenharmony_ci * Copyright (c) 2022 HiSilicon (Shanghai) Technologies CO., LIMITED. 31bd4fe43Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 41bd4fe43Sopenharmony_ci * you may not use this file except in compliance with the License. 51bd4fe43Sopenharmony_ci * You may obtain a copy of the License at 61bd4fe43Sopenharmony_ci * 71bd4fe43Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 81bd4fe43Sopenharmony_ci * 91bd4fe43Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 101bd4fe43Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 111bd4fe43Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 121bd4fe43Sopenharmony_ci * See the License for the specific language governing permissions and 131bd4fe43Sopenharmony_ci * limitations under the License. 141bd4fe43Sopenharmony_ci */ 151bd4fe43Sopenharmony_ci 161bd4fe43Sopenharmony_ci#ifndef __HI_MOD_PARAM__ 171bd4fe43Sopenharmony_ci#define __HI_MOD_PARAM__ 181bd4fe43Sopenharmony_ci 191bd4fe43Sopenharmony_ci#include "hi_type.h" 201bd4fe43Sopenharmony_ci#include "hi_defines.h" 211bd4fe43Sopenharmony_ci 221bd4fe43Sopenharmony_citypedef struct hiBASE_MODULE_PARAMS_S { 231bd4fe43Sopenharmony_ci HI_BOOL bVbForceExit; 241bd4fe43Sopenharmony_ci} BASE_MODULE_PARAMS_S; 251bd4fe43Sopenharmony_ci 261bd4fe43Sopenharmony_ci 271bd4fe43Sopenharmony_citypedef struct hiHIFB_MODULE_PARAMS_S { 281bd4fe43Sopenharmony_ci HI_CHAR video[64]; 291bd4fe43Sopenharmony_ci HI_BOOL bUpdateRotateRect; 301bd4fe43Sopenharmony_ci} HIFB_MODULE_PARAMS_S; 311bd4fe43Sopenharmony_ci 321bd4fe43Sopenharmony_citypedef struct hiVGS_MODULE_PARAMS_S { 331bd4fe43Sopenharmony_ci HI_U32 u32MaxVgsJob; 341bd4fe43Sopenharmony_ci HI_U32 u32MaxVgsTask; 351bd4fe43Sopenharmony_ci HI_U32 u32MaxVgsNode; 361bd4fe43Sopenharmony_ci HI_U32 au32VgsEn[VGS_IP_NUM]; 371bd4fe43Sopenharmony_ci HI_BOOL bVgsHdrSupport; 381bd4fe43Sopenharmony_ci HI_BOOL bVgsExitInSys; 391bd4fe43Sopenharmony_ci} VGS_MODULE_PARAMS_S; 401bd4fe43Sopenharmony_ci 411bd4fe43Sopenharmony_citypedef struct hiVPSS_MODULE_PARAMS_S { 421bd4fe43Sopenharmony_ci HI_U32 u32VpssEn[VPSS_IP_NUM]; 431bd4fe43Sopenharmony_ci} VPSS_MODULE_PARAMS_S; 441bd4fe43Sopenharmony_ci 451bd4fe43Sopenharmony_citypedef struct hiGDC_MODULE_PARAMS_S { 461bd4fe43Sopenharmony_ci HI_U32 u32MaxGdcJob; 471bd4fe43Sopenharmony_ci HI_U32 u32MaxGdcTask; 481bd4fe43Sopenharmony_ci HI_U32 u32MaxGdcNode; 491bd4fe43Sopenharmony_ci HI_U32 au32GdcEn[GDC_IP_NUM]; 501bd4fe43Sopenharmony_ci} GDC_MODULE_PARAMS_S; 511bd4fe43Sopenharmony_ci 521bd4fe43Sopenharmony_citypedef struct hiVDEC_MODULE_PARAMS_S { 531bd4fe43Sopenharmony_ci HI_U32 u32VdecMaxChnNum; 541bd4fe43Sopenharmony_ci HI_BOOL bVdecHfr; 551bd4fe43Sopenharmony_ci} VDEC_MODULE_PARAMS_S; 561bd4fe43Sopenharmony_ci 571bd4fe43Sopenharmony_citypedef struct hiIVE_MODULE_PARAMS_S { 581bd4fe43Sopenharmony_ci HI_BOOL bSavePowerEn; 591bd4fe43Sopenharmony_ci HI_U16 u16IveNodeNum; 601bd4fe43Sopenharmony_ci HI_U16 u16Rsv; 611bd4fe43Sopenharmony_ci} IVE_MODULE_PARAMS_S; 621bd4fe43Sopenharmony_ci 631bd4fe43Sopenharmony_citypedef struct hiSVP_NNIE_MODULE_PARAMS_S { 641bd4fe43Sopenharmony_ci HI_BOOL bSavePowerEn; 651bd4fe43Sopenharmony_ci HI_U16 u16NnieTskBufNum; 661bd4fe43Sopenharmony_ci} SVP_NNIE_MODULE_PARAMS_S; 671bd4fe43Sopenharmony_ci 681bd4fe43Sopenharmony_citypedef struct hiSVP_DSP_MODULE_PARAMS_S { 691bd4fe43Sopenharmony_ci HI_U16 u16NodeNum; 701bd4fe43Sopenharmony_ci HI_U16 u16DspInitMode; 711bd4fe43Sopenharmony_ci} SVP_DSP_MODULE_PARAMS_S; 721bd4fe43Sopenharmony_ci 731bd4fe43Sopenharmony_citypedef struct hiACODEC_MODULE_PARAMS_S { 741bd4fe43Sopenharmony_ci HI_U32 u32InitDelayTimeMs; 751bd4fe43Sopenharmony_ci} ACODEC_MODULE_PARAMS_S; 761bd4fe43Sopenharmony_ci 771bd4fe43Sopenharmony_citypedef struct hiISP_MODULE_PARAMS_S { 781bd4fe43Sopenharmony_ci HI_U32 u32PwmNum; 791bd4fe43Sopenharmony_ci HI_U32 u32ProcParam; 801bd4fe43Sopenharmony_ci HI_U32 u32UpdatePos; 811bd4fe43Sopenharmony_ci HI_U32 u32IntTimeOut; 821bd4fe43Sopenharmony_ci HI_U32 bIntBottomHalf; 831bd4fe43Sopenharmony_ci HI_U32 u32StatIntvl; 841bd4fe43Sopenharmony_ci} ISP_MODULE_PARAMS_S; 851bd4fe43Sopenharmony_ci 861bd4fe43Sopenharmony_citypedef struct hiH265E_MODULE_PARAMS_S { 871bd4fe43Sopenharmony_ci HI_U32 u32FeatureEnable; 881bd4fe43Sopenharmony_ci} H265E_MODULE_PARAMS_S; 891bd4fe43Sopenharmony_ci 901bd4fe43Sopenharmony_citypedef struct hiVENC_MODULE_PARAMS_S { 911bd4fe43Sopenharmony_ci HI_U32 u32VencMaxChnNum; 921bd4fe43Sopenharmony_ci} VENC_MODULE_PARAMS_S; 931bd4fe43Sopenharmony_ci 941bd4fe43Sopenharmony_citypedef struct hiVEDU_MODULE_PARAMS_S { 951bd4fe43Sopenharmony_ci HI_U32 vedu_en[VEDU_IP_NUM]; 961bd4fe43Sopenharmony_ci} VEDU_MODULE_PARAMS_S; 971bd4fe43Sopenharmony_citypedef struct hiVFMW_MODULE_PARAMS_S { 981bd4fe43Sopenharmony_ci HI_S32 s32VfmwMaxChnNum; 991bd4fe43Sopenharmony_ci} VFMW_MODULE_PARAMS_S; 1001bd4fe43Sopenharmony_ci 1011bd4fe43Sopenharmony_citypedef struct hiSIL9024_MODULE_PARAMS_S { 1021bd4fe43Sopenharmony_ci int norm; 1031bd4fe43Sopenharmony_ci int i2c_num; 1041bd4fe43Sopenharmony_ci} SIL9024_MODULE_PARAMS_S; 1051bd4fe43Sopenharmony_ci 1061bd4fe43Sopenharmony_citypedef struct hiADV7179_MODULE_PARAMS_S { 1071bd4fe43Sopenharmony_ci int Norm_mode; 1081bd4fe43Sopenharmony_ci int i2c_num; 1091bd4fe43Sopenharmony_ci} ADV7179_MODULE_PARAMS_S; 1101bd4fe43Sopenharmony_ci 1111bd4fe43Sopenharmony_citypedef struct hiPM_MODULE_PARAMS_S { 1121bd4fe43Sopenharmony_ci HI_BOOL bAvspOn; /* HI_TRUE: on,HI_FALSE: off */ 1131bd4fe43Sopenharmony_ci HI_BOOL bSvpAcceleratorOn; /* HI_TRUE: on,HI_FALSE: off */ 1141bd4fe43Sopenharmony_ci // HI_U32 u32RegulatorType; /* 0:DC-DC, 1:PMU */ 1151bd4fe43Sopenharmony_ci} PM_MODULE_PARAMS_S; 1161bd4fe43Sopenharmony_ci#endif 1171bd4fe43Sopenharmony_ci 118