• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2020 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 typedef enum {
20     HI_FALSE = 0,
21     HI_TRUE  = 1,
22 } HI_BOOL;
23 
24 #define VGS_IP_NUM                     1
25 #define VPSS_IP_NUM                    1
26 #define GDC_IP_NUM                     1
27 #define VEDU_IP_NUM                    1
28 
29 typedef struct hiBASE_MODULE_PARAMS_S {
30     HI_BOOL bVbForceExit;
31 } BASE_MODULE_PARAMS_S;
32 
33 
34 typedef struct hiHIFB_MODULE_PARAMS_S {
35     char video[64];
36     HI_BOOL bUpdateRotateRect;
37 } HIFB_MODULE_PARAMS_S;
38 
39 typedef struct hiVGS_MODULE_PARAMS_S {
40     unsigned int u32MaxVgsJob;
41     unsigned int u32MaxVgsTask;
42     unsigned int u32MaxVgsNode;
43     unsigned int au32VgsEn[VGS_IP_NUM];
44     HI_BOOL bVgsHdrSupport;
45     HI_BOOL bVgsExitInSys;
46 } VGS_MODULE_PARAMS_S;
47 
48 typedef struct hiVPSS_MODULE_PARAMS_S {
49     unsigned int u32VpssEn[VPSS_IP_NUM];
50 } VPSS_MODULE_PARAMS_S;
51 
52 typedef struct hiGDC_MODULE_PARAMS_S {
53     unsigned int u32MaxGdcJob;
54     unsigned int u32MaxGdcTask;
55     unsigned int u32MaxGdcNode;
56     unsigned int au32GdcEn[GDC_IP_NUM];
57 } GDC_MODULE_PARAMS_S;
58 
59 typedef struct hiVDEC_MODULE_PARAMS_S {
60     unsigned int u32VdecMaxChnNum;
61     HI_BOOL bVdecHfr;
62 } VDEC_MODULE_PARAMS_S;
63 
64 typedef struct hiIVE_MODULE_PARAMS_S {
65     HI_BOOL bSavePowerEn;
66     unsigned short  u16IveNodeNum;
67     unsigned short  u16Rsv;
68 } IVE_MODULE_PARAMS_S;
69 
70 typedef struct hiSVP_NNIE_MODULE_PARAMS_S {
71     HI_BOOL bSavePowerEn;
72     unsigned short u16NnieTskBufNum;
73 } SVP_NNIE_MODULE_PARAMS_S;
74 
75 typedef struct hiSVP_DSP_MODULE_PARAMS_S {
76     unsigned short u16NodeNum;
77     unsigned short u16DspInitMode;
78 } SVP_DSP_MODULE_PARAMS_S;
79 
80 typedef struct hiACODEC_MODULE_PARAMS_S {
81     unsigned int  u32InitDelayTimeMs;
82 } ACODEC_MODULE_PARAMS_S;
83 
84 typedef struct hiISP_MODULE_PARAMS_S {
85     unsigned int u32PwmNum;
86     unsigned int u32ProcParam;
87     unsigned int u32UpdatePos;
88     unsigned int u32IntTimeOut;
89     unsigned int bIntBottomHalf;
90     unsigned int u32StatIntvl;
91 } ISP_MODULE_PARAMS_S;
92 
93 typedef struct hiH265E_MODULE_PARAMS_S {
94     unsigned int u32FeatureEnable;
95 } H265E_MODULE_PARAMS_S;
96 
97 typedef struct hiVENC_MODULE_PARAMS_S {
98     unsigned int u32VencMaxChnNum;
99 } VENC_MODULE_PARAMS_S;
100 
101 typedef struct hiVEDU_MODULE_PARAMS_S {
102     unsigned int  vedu_en[VEDU_IP_NUM];
103 } VEDU_MODULE_PARAMS_S;
104 typedef struct hiVFMW_MODULE_PARAMS_S {
105     int s32VfmwMaxChnNum;
106 } VFMW_MODULE_PARAMS_S;
107 
108 typedef struct hiSIL9024_MODULE_PARAMS_S {
109     int norm;
110     int i2c_num;
111 } SIL9024_MODULE_PARAMS_S;
112 
113 typedef struct hiADV7179_MODULE_PARAMS_S {
114     int Norm_mode;
115     int i2c_num;
116 } ADV7179_MODULE_PARAMS_S;
117 
118 typedef struct hiPM_MODULE_PARAMS_S {
119     HI_BOOL  bAvspOn; /* HI_TRUE: on,HI_FALSE: off */
120     HI_BOOL  bSvpAcceleratorOn; /* HI_TRUE: on,HI_FALSE: off */
121     //	HI_U32 u32RegulatorType; /* 0:DC-DC, 1:PMU */
122 } PM_MODULE_PARAMS_S;
123 
124 #define MMZ_SETUP_CMDLINE_LENGTH      256
125 typedef struct hiMMZ_SETUP_MODULE_PARAMS_S {
126     char mmz[MMZ_SETUP_CMDLINE_LENGTH];
127     char map_mmz[MMZ_SETUP_CMDLINE_LENGTH];
128     int anony;
129 } MMZ_SETUP_MODULE_PARAMS_S;
130 
131 #endif
132