• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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