• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022 HiSilicon (Shanghai) Technologies CO., LIMITED.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version 2
7  * of the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17  */
18 
19 /** @addtogroup   MODULES  */
20 /** @{ */ /** <!-- [MODULES] */
21 #ifndef __HI_MODULE_H__
22 #define __HI_MODULE_H__
23 
24 #ifdef __cplusplus
25 #if __cplusplus
26 extern "C" {
27 #endif
28 #endif /* __cplusplus */
29 
30 #define HI_INVALID_MODULE_ID      (0xffffffff)
31 #define HI_MAX_USER_MODULE_NUMBER (256)
32 
33 /** Module ID flags */
34 typedef enum hiMOD_ID_E {
35     HI_ID_STB = 0,
36 
37     /**< common. */ /**< CNcomment: System general enumeration data constants */
38     HI_ID_SYS = 1,
39     HI_ID_MODULE,
40     HI_ID_LOG,
41     HI_ID_PROC,
42     HI_ID_MEM,
43     HI_ID_STAT,
44     HI_ID_PDM,
45     HI_ID_MEMDEV,
46     HI_ID_CUSTOM,
47     HI_ID_COMMON_BUTT,
48 
49     HI_ID_DEMUX = HI_ID_COMMON_BUTT + 1,
50     HI_ID_DEMUX_BUTT,
51 
52     /**< audio. */ /**< CNcomment: Audio part constant area */
53     HI_ID_ADEC = HI_ID_DEMUX_BUTT + 1,
54     HI_ID_AO,
55     HI_ID_SIO_AI,
56     HI_ID_SIO_AO,
57     HI_ID_SIO,
58     HI_ID_AI,
59     HI_ID_AENC,
60     HI_ID_SRC,
61     HI_ID_AIAO,
62     HI_ID_AFLT,
63     HI_ID_ADSP,
64     HI_ID_AMP,
65     HI_ID_SIF,
66     HI_ID_TTS,
67     HI_ID_AUDIO_BUTT,
68 
69     /**< video. */ /**< CNcomment: Video part constant area */
70     HI_ID_VFMW = HI_ID_AUDIO_BUTT + 1,
71     HI_ID_SVDEC,
72     HI_ID_DISP,
73     HI_ID_HDMI,
74     HI_ID_VO,
75     HI_ID_FRC,
76     HI_ID_VPSS,
77     HI_ID_VDEC,
78     HI_ID_VI,
79     HI_ID_VENC,
80     HI_ID_PQ,
81     HI_ID_EDID,
82     HI_ID_MEMC,
83     HI_ID_VICAP,
84     HI_ID_PANEL,
85     HI_ID_FDMNG,
86     HI_ID_RM,
87     HI_ID_VPLUGIN,
88     HI_ID_VIDEO_BUTT,
89 
90     /**< graphics. */ /**< CNcomment: Graphics part constant area */
91     HI_ID_TDE = HI_ID_VIDEO_BUTT + 1,
92     HI_ID_JPGDEC,
93     HI_ID_JPGENC,
94     HI_ID_FB,
95     HI_ID_PNG,
96     HI_ID_HIGO,
97     HI_ID_GRAPHICS_BUTT,
98 
99     /**< player. */ /**< CNcomment: Play the relevant part of the constant area */
100     HI_ID_PVR = HI_ID_GRAPHICS_BUTT + 1,
101     HI_ID_AVPLAY,
102     HI_ID_SYNC,
103     HI_ID_VSYNC,
104     HI_ID_ASYNC,
105     HI_ID_FASTPLAY,
106     HI_ID_PLAYER_BUTT,
107 
108     /**< ecs. */ /**< CNcomment: Peripheral part constant area */
109     HI_ID_FLASH = HI_ID_PLAYER_BUTT + 1,
110     HI_ID_IR,
111     HI_ID_RTC,
112     HI_ID_I2C,
113     HI_ID_SCI,
114     HI_ID_ETH,
115     HI_ID_USB_PROTECT,
116     HI_ID_WDG, /* watch dog used 'W' */
117     HI_ID_GPIO,
118     HI_ID_GPIO_I2C,
119     HI_ID_DMAC,
120     HI_ID_PMOC,
121     HI_ID_TUNER,
122     HI_ID_KEYLED,
123     HI_ID_CIPHER,
124     HI_ID_OTP,
125     HI_ID_CA,
126     HI_ID_PM,
127     HI_ID_CI,
128     HI_ID_CIMAXPLUS,
129     HI_ID_TVP5150,
130     HI_ID_SIL9293,
131     HI_ID_PWM,
132     HI_ID_LSADC,
133     HI_ID_SPI,
134     HI_ID_MDDRC,
135     HI_ID_ECS_BUTT,
136 
137     /**< ATV */ /**<  CNcomment: ATV front part constant area */
138     HI_ID_VFE = HI_ID_ECS_BUTT + 1,
139     HI_ID_TVD,
140     HI_ID_HDDEC,
141     HI_ID_HDMIRX,
142     HI_ID_VBI,
143     HI_ID_ATV_BUTT,
144 
145     /**< voip, bluetooth,alsa. */ /**<  CNcomment: VOIP¡¢Bluetooth part constant area */
146     HI_ID_VOIP_HME = HI_ID_ATV_BUTT + 1,
147     HI_ID_NDPT,
148     HI_ID_AUDADP,
149     HI_ID_BT,
150     HI_ID_ALSA,
151     HI_ID_3G,
152     HI_ID_KARAOKE,
153     HI_ID_VOIP_BUTT,
154 
155     /**< vp. */ /**<  CNcomment: VP constant area */
156     HI_ID_VP = HI_ID_VOIP_BUTT + 1,
157     HI_ID_HDCP,
158     HI_ID_VP_BUTT,
159 
160     /**< subtitle. */ /**<  CNcomment: Subtitle constant area */
161     HI_ID_SUBT = HI_ID_VP_BUTT + 1,
162     HI_ID_TTX,
163     HI_ID_CC,
164     HI_ID_SUBTITLE_BUTT,
165 
166     /**< loader. */ /**< CNcomment: loader */
167     HI_ID_LOADER = HI_ID_SUBTITLE_BUTT + 1,
168     HI_ID_LOADER_BUTT,
169 
170     /**< user definition. */ /**< CNcomment: Custom area reserved for the whole machine */
171     HI_ID_USR_START = HI_ID_LOADER_BUTT + 1,
172     HI_ID_USER,
173     HI_ID_IRQ,
174     HI_ID_USR_END = 0xFE, /* Caution: to avoid overflow */
175 
176     HI_ID_BUTT = 0xFF
177 } HI_MOD_ID_E;
178 
179 
180 #ifndef __DRV_STRUCT_IOCTL_H__
181 #define __DRV_STRUCT_IOCTL_H__
182 
183 #ifndef __HI_DRV_STRUCT_H__
184 #define __HI_DRV_STRUCT_H__
185 
186 #ifdef __cplusplus
187 #if __cplusplus
188     extern "C" {
189 #endif
190 #endif /* End of #ifdef __cplusplus */
191 
192     /*************************** Structure Definition ****************************/
193     /** \addtogroup      H_2_1_2 */
194     /** @{ */ /** <!-- ¡¾Common data structure. CNcomment: General data structure */
195 
196 #define UMAP_NAME "hi_"
197 
198 #define HI_MOD_SYS         "sys"
199 #define UMAP_DEVNAME_SYS   UMAP_NAME HI_MOD_SYS
200 #define UMAP_DEV_NUM_SYS   1
201 #define UMAP_MIN_MINOR_SYS 1
202 #define UMAP_MAX_MINOR_SYS (UMAP_MIN_MINOR_SYS + UMAP_DEV_NUM_SYS - 1)
203 
204 #define HI_MOD_LOG         "log"
205 #define UMAP_DEVNAME_LOG   UMAP_NAME HI_MOD_LOG
206 #define UMAP_DEV_NUM_LOG   1
207 #define UMAP_MIN_MINOR_LOG (UMAP_MAX_MINOR_SYS + 1)
208 #define UMAP_MAX_MINOR_LOG (UMAP_MIN_MINOR_LOG + UMAP_DEV_NUM_LOG - 1)
209 
210 #define HI_MOD_EVENT         "low_delay"
211 #define UMAP_DEVNAME_EVENT   UMAP_NAME HI_MOD_EVENT
212 #define UMAP_DEV_NUM_EVENT   1
213 #define UMAP_MIN_MINOR_EVENT (UMAP_MAX_MINOR_LOG + 1)
214 #define UMAP_MAX_MINOR_EVENT (UMAP_MIN_MINOR_EVENT + UMAP_DEV_NUM_EVENT - 1)
215 
216 #define HI_MOD_STAT         "stat"
217 #define UMAP_DEVNAME_STAT   UMAP_NAME HI_MOD_STAT
218 #define UMAP_DEV_NUM_STAT   1
219 #define UMAP_MIN_MINOR_STAT (UMAP_MAX_MINOR_EVENT + 1)
220 #define UMAP_MAX_MINOR_STAT (UMAP_MIN_MINOR_STAT + UMAP_DEV_NUM_STAT - 1)
221 
222 #define HI_MOD_MEM "mem"
223 
224 #define HI_MOD_PROC "proc"
225 
226     /* End of CMPI */
227     /* Other modules */
228     /* CNcomment:  other modules */
229 #define HI_MOD_CIPHER         "cipher"
230 #define UMAP_DEVNAME_CIPHER   UMAP_NAME HI_MOD_CIPHER
231 #define UMAP_DEV_NUM_CIPHER   1
232 #define UMAP_MIN_MINOR_CIPHER (UMAP_MAX_MINOR_STAT + 1)
233 #define UMAP_MAX_MINOR_CIPHER (UMAP_MIN_MINOR_CIPHER + UMAP_DEV_NUM_CIPHER - 1)
234 
235 #define HI_MOD_DISP         "disp"
236 #define UMAP_DEVNAME_DISP   UMAP_NAME HI_MOD_DISP
237 #define UMAP_DEV_NUM_DISP   1
238 #define UMAP_MIN_MINOR_DISP (UMAP_MAX_MINOR_CIPHER + 1)
239 #define UMAP_MAX_MINOR_DISP (UMAP_MIN_MINOR_DISP + UMAP_DEV_NUM_DISP - 1)
240 
241 #define HI_MOD_VO         "vo"
242 #define UMAP_DEVNAME_VO   UMAP_NAME HI_MOD_VO
243 #define UMAP_DEV_NUM_VO   1
244 #define UMAP_MIN_MINOR_VO (UMAP_MAX_MINOR_DISP + 1)
245 #define UMAP_MAX_MINOR_VO (UMAP_MIN_MINOR_VO + UMAP_DEV_NUM_VO - 1)
246 
247 #define HI_MOD_VPSS         "vpss"
248 #define UMAP_DEVNAME_VPSS   UMAP_NAME HI_MOD_VPSS
249 #define UMAP_DEV_NUM_VPSS   1
250 #define UMAP_MIN_MINOR_VPSS (UMAP_MAX_MINOR_VO + 1)
251 #define UMAP_MAX_MINOR_VPSS (UMAP_MIN_MINOR_VPSS + UMAP_DEV_NUM_VPSS - 1)
252 
253 #define HI_MOD_VDEC         "vdec"
254 #define UMAP_DEVNAME_VDEC   UMAP_NAME HI_MOD_VDEC
255 #define UMAP_DEV_NUM_VDEC   2
256 #define UMAP_MIN_MINOR_VDEC (UMAP_MAX_MINOR_VPSS + 1)
257 #define UMAP_MAX_MINOR_VDEC (UMAP_MIN_MINOR_VDEC + UMAP_DEV_NUM_VDEC - 1)
258 
259 #define HI_MOD_AO         "ao"
260 #define UMAP_DEVNAME_AO   UMAP_NAME HI_MOD_AO
261 #define UMAP_DEV_NUM_AO   2
262 #define UMAP_MIN_MINOR_AO (UMAP_MAX_MINOR_VDEC + 1)
263 #define UMAP_MAX_MINOR_AO (UMAP_MIN_MINOR_AO + UMAP_DEV_NUM_AO - 1)
264 
265 #define HI_MOD_AI         "ai"
266 #define UMAP_DEVNAME_AI   UMAP_NAME HI_MOD_AI
267 #define UMAP_DEV_NUM_AI   2
268 #define UMAP_MIN_MINOR_AI (UMAP_MAX_MINOR_AO + 1)
269 #define UMAP_MAX_MINOR_AI (UMAP_MIN_MINOR_AI + UMAP_DEV_NUM_AI - 1)
270 
271 #define HI_MOD_AIAO         "aiao"
272 #define UMAP_DEVNAME_AIAO   UMAP_NAME HI_MOD_AIAO
273 #define UMAP_DEV_NUM_AIAO   2
274 #define UMAP_MIN_MINOR_AIAO (UMAP_MAX_MINOR_AI + 1)
275 #define UMAP_MAX_MINOR_AIAO (UMAP_MIN_MINOR_AIAO + UMAP_DEV_NUM_AIAO - 1)
276 
277 #define HI_MOD_AENC         "aenc"
278 #define UMAP_DEVNAME_AENC   UMAP_NAME HI_MOD_AENC
279 #define UMAP_DEV_NUM_AENC   2
280 #define UMAP_MIN_MINOR_AENC (UMAP_MAX_MINOR_AIAO + 1)
281 #define UMAP_MAX_MINOR_AENC (UMAP_MIN_MINOR_AENC + UMAP_DEV_NUM_AENC - 1)
282 
283 #define HI_MOD_AFLT         "aflt"
284 #define UMAP_DEVNAME_AFLT   UMAP_NAME HI_MOD_AFLT
285 #define UMAP_DEV_NUM_AFLT   2
286 #define UMAP_MIN_MINOR_AFLT (UMAP_MAX_MINOR_AENC + 1)
287 #define UMAP_MAX_MINOR_AFLT (UMAP_MIN_MINOR_AFLT + UMAP_DEV_NUM_AFLT - 1)
288 
289 #define HI_MOD_ADSP         "adsp"
290 #define UMAP_DEVNAME_ADSP   UMAP_NAME HI_MOD_ADSP
291 #define UMAP_DEV_NUM_ADSP   2
292 #define UMAP_MIN_MINOR_ADSP (UMAP_MAX_MINOR_AFLT + 1)
293 #define UMAP_MAX_MINOR_ADSP (UMAP_MIN_MINOR_ADSP + UMAP_DEV_NUM_ADSP - 1)
294 
295 #define HI_MOD_ADEC         "adec"
296 #define UMAP_DEVNAME_ADEC   UMAP_NAME HI_MOD_ADEC
297 #define UMAP_DEV_NUM_ADEC   2
298 #define UMAP_MIN_MINOR_ADEC (UMAP_MAX_MINOR_ADSP + 1)
299 #define UMAP_MAX_MINOR_ADEC (UMAP_MIN_MINOR_ADEC + UMAP_DEV_NUM_ADEC - 1)
300 
301 #define HI_MOD_DEMUX         "demux"
302 #define UMAP_DEVNAME_DEMUX   UMAP_NAME HI_MOD_DEMUX
303 #define UMAP_DEV_NUM_DEMUX   1
304 #define UMAP_MIN_MINOR_DEMUX (UMAP_MAX_MINOR_ADEC + 1)
305 #define UMAP_MAX_MINOR_DEMUX (UMAP_MIN_MINOR_DEMUX + UMAP_DEV_NUM_DEMUX - 1)
306 
307 #define HI_MOD_JPGD         "jpgd"
308 #define UMAP_DEVNAME_JPGD   UMAP_NAME HI_MOD_JPGD
309 #define UMAP_DEV_NUM_JPGD   1
310 #define UMAP_MIN_MINOR_JPGD (UMAP_MAX_MINOR_DEMUX + 1)
311 #define UMAP_MAX_MINOR_JPGD (UMAP_MIN_MINOR_JPGD + UMAP_DEV_NUM_JPGD - 1)
312 
313 #define HI_MOD_SYNC         "sync"
314 #define UMAP_DEVNAME_SYNC   UMAP_NAME HI_MOD_SYNC
315 #define UMAP_DEV_NUM_SYNC   1
316 #define UMAP_MIN_MINOR_SYNC (UMAP_MAX_MINOR_JPGD + 1)
317 #define UMAP_MAX_MINOR_SYNC (UMAP_MIN_MINOR_SYNC + UMAP_DEV_NUM_SYNC - 1)
318 
319 #define HI_MOD_AVPLAY         "avplay"
320 #define UMAP_DEVNAME_AVPLAY   UMAP_NAME HI_MOD_AVPLAY
321 #define UMAP_DEV_NUM_AVPLAY   1
322 #define UMAP_MIN_MINOR_AVPLAY (UMAP_MAX_MINOR_SYNC + 1)
323 #define UMAP_MAX_MINOR_AVPLAY (UMAP_MIN_MINOR_AVPLAY + UMAP_DEV_NUM_AVPLAY - 1)
324 
325 #define HI_MOD_PVR         "pvr"
326 #define UMAP_DEVNAME_PVR   UMAP_NAME HI_MOD_PVR
327 #define UMAP_DEV_NUM_PVR   1
328 #define UMAP_MIN_MINOR_PVR (UMAP_MAX_MINOR_AVPLAY + 1)
329 #define UMAP_MAX_MINOR_PVR (UMAP_MIN_MINOR_PVR + UMAP_DEV_NUM_PVR - 1)
330 
331 #define HI_MOD_HDMI         "hdmi"
332 #define UMAP_DEVNAME_HDMI   UMAP_NAME HI_MOD_HDMI
333 #define UMAP_DEV_NUM_HDMI   1
334 #define UMAP_MIN_MINOR_HDMI (UMAP_MAX_MINOR_PVR + 1)
335 #define UMAP_MAX_MINOR_HDMI (UMAP_MIN_MINOR_HDMI + UMAP_DEV_NUM_HDMI - 1)
336 
337 #define HI_MOD_VI         "vi"
338 #define UMAP_DEVNAME_VI   UMAP_NAME HI_MOD_VI
339 #define UMAP_DEV_NUM_VI   1
340 #define UMAP_MIN_MINOR_VI (UMAP_MAX_MINOR_HDMI + 1)
341 #define UMAP_MAX_MINOR_VI (UMAP_MIN_MINOR_VI + UMAP_DEV_NUM_VI - 1)
342 
343 #define HI_MOD_VENC         "venc"
344 #define UMAP_DEVNAME_VENC   UMAP_NAME HI_MOD_VENC
345 #define UMAP_DEV_NUM_VENC   2
346 #define UMAP_MIN_MINOR_VENC (UMAP_MAX_MINOR_VI + 1)
347 #define UMAP_MAX_MINOR_VENC (UMAP_MIN_MINOR_VENC + UMAP_DEV_NUM_VENC - 1)
348 
349 #define HI_MOD_SIO_AI         "sio_ai"
350 #define UMAP_DEVNAME_SIO_AI   UMAP_NAME HI_MOD_SIO_AI
351 #define UMAP_DEV_NUM_SIO_AI   2
352 #define UMAP_MIN_MINOR_SIO_AI (UMAP_MAX_MINOR_VENC + 1)
353 #define UMAP_MAX_MINOR_SIO_AI (UMAP_MIN_MINOR_SIO_AI + UMAP_DEV_NUM_SIO_AI - 1)
354 
355 #define HI_MOD_SIO_AO         "sio_ao"
356 #define UMAP_DEVNAME_SIO_AO   UMAP_NAME HI_MOD_SIO_AO
357 #define UMAP_DEV_NUM_SIO_AO   2
358 #define UMAP_MIN_MINOR_SIO_AO (UMAP_MAX_MINOR_SIO_AI + 1)
359 #define UMAP_MAX_MINOR_SIO_AO (UMAP_MIN_MINOR_SIO_AO + UMAP_DEV_NUM_SIO_AO - 1)
360 
361 #define HI_MOD_DMA         "dma"
362 #define UMAP_DEVNAME_DMA   UMAP_NAME HI_MOD_DMA
363 #define UMAP_DEV_NUM_DMA   1
364 #define UMAP_MIN_MINOR_DMA (UMAP_MAX_MINOR_SIO_AO + 1)
365 #define UMAP_MAX_MINOR_DMA (UMAP_MIN_MINOR_DMA + UMAP_DEV_NUM_DMA - 1)
366 
367 #define HI_MOD_AUDADP         "audadp"
368 #define UMAP_DEVNAME_AUDADP   UMAP_NAME HI_MOD_AUDADP
369 #define UMAP_DEV_NUM_AUDADP   1
370 #define UMAP_MIN_MINOR_AUDADP (UMAP_MAX_MINOR_DMA + 1)
371 #define UMAP_MAX_MINOR_AUDADP (UMAP_MIN_MINOR_AUDADP + UMAP_DEV_NUM_AUDADP - 1)
372 
373 #define HI_MOD_HME         "hme"
374 #define UMAP_DEVNAME_HME   UMAP_NAME HI_MOD_HME
375 #define UMAP_DEV_NUM_HME   1
376 #define UMAP_MIN_MINOR_HME (UMAP_MAX_MINOR_AUDADP + 1)
377 #define UMAP_MAX_MINOR_HME (UMAP_MIN_MINOR_HME + UMAP_DEV_NUM_HME - 1)
378 
379 #define HI_MOD_NDPT         "ndpt"
380 #define UMAP_DEVNAME_NDPT   UMAP_NAME HI_MOD_NDPT
381 #define UMAP_DEV_NUM_NDPT   1
382 #define UMAP_MIN_MINOR_NDPT (UMAP_MAX_MINOR_HME + 1)
383 #define UMAP_MAX_MINOR_NDPT (UMAP_MIN_MINOR_NDPT + UMAP_DEV_NUM_NDPT - 1)
384 
385 #define HI_MOD_VP         "vp"
386 #define UMAP_DEVNAME_VP   UMAP_NAME HI_MOD_VP
387 #define UMAP_DEV_NUM_VP   1
388 #define UMAP_MIN_MINOR_VP (UMAP_MAX_MINOR_NDPT + 1)
389 #define UMAP_MAX_MINOR_VP (UMAP_MIN_MINOR_VP + UMAP_DEV_NUM_VP - 1)
390 
391     /*                 ECS                */
392 #define HI_MOD_IR         "ir"
393 #define UMAP_DEVNAME_IR   UMAP_NAME HI_MOD_IR
394 #define UMAP_DEV_NUM_IR   1
395 #define UMAP_MIN_MINOR_IR (UMAP_MAX_MINOR_VP + 1)
396 #define UMAP_MAX_MINOR_IR (UMAP_MIN_MINOR_IR + UMAP_DEV_NUM_IR - 1)
397 
398 #define HI_MOD_KEYLED         "keyled"
399 #define UMAP_DEVNAME_KEYLED   UMAP_NAME HI_MOD_KEYLED
400 #define UMAP_DEV_NUM_KEYLED   1
401 #define UMAP_MIN_MINOR_KEYLED (UMAP_MAX_MINOR_IR + 1)
402 #define UMAP_MAX_MINOR_KEYLED (UMAP_MIN_MINOR_KEYLED + UMAP_DEV_NUM_KEYLED - 1)
403 
404 #define HI_MOD_LSADC         "lsadc"
405 #define UMAP_DEVNAME_LSADC   UMAP_NAME HI_MOD_LSADC
406 #define UMAP_DEV_NUM_LSADC   1
407 #define UMAP_MIN_MINOR_LSADC (UMAP_MAX_MINOR_KEYLED + 1)
408 #define UMAP_MAX_MINOR_LSADC (UMAP_MIN_MINOR_LSADC + UMAP_DEV_NUM_LSADC - 1)
409 
410 #define HI_MOD_I2C         "i2c"
411 #define UMAP_DEVNAME_I2C   UMAP_NAME HI_MOD_I2C
412 #define UMAP_DEV_NUM_I2C   1
413 #define UMAP_MIN_MINOR_I2C (UMAP_MAX_MINOR_LSADC + 1)
414 #define UMAP_MAX_MINOR_I2C (UMAP_MIN_MINOR_I2C + UMAP_DEV_NUM_I2C - 1)
415 
416 #define HI_MOD_TUNER         "tuner"
417 #define UMAP_DEVNAME_TUNER   UMAP_NAME HI_MOD_TUNER
418 #define UMAP_DEV_NUM_TUNER   1
419 #define UMAP_MIN_MINOR_TUNER (UMAP_MAX_MINOR_I2C + 1)
420 #define UMAP_MAX_MINOR_TUNER (UMAP_MIN_MINOR_TUNER + UMAP_DEV_NUM_TUNER - 1)
421 
422 #define HI_MOD_SCI         "sci"
423 #define UMAP_DEVNAME_SCI   UMAP_NAME HI_MOD_SCI
424 #define UMAP_DEV_NUM_SCI   1
425 #define UMAP_MIN_MINOR_SCI (UMAP_MAX_MINOR_TUNER + 1)
426 #define UMAP_MAX_MINOR_SCI (UMAP_MIN_MINOR_SCI + UMAP_DEV_NUM_SCI - 1)
427 
428 #define HI_MOD_PM         "pm"
429 #define UMAP_DEVNAME_PM   UMAP_NAME HI_MOD_PM
430 #define UMAP_DEV_NUM_PM   1
431 #define UMAP_MIN_MINOR_PM (UMAP_MAX_MINOR_SCI + 1)
432 #define UMAP_MAX_MINOR_PM (UMAP_MIN_MINOR_PM + UMAP_DEV_NUM_PM - 1)
433 
434 #define HI_MOD_CA         "ca"
435 #define UMAP_DEVNAME_CA   UMAP_NAME HI_MOD_CA
436 #define UMAP_DEV_NUM_CA   1
437 #define UMAP_MIN_MINOR_CA (UMAP_MAX_MINOR_PM + 1)
438 #define UMAP_MAX_MINOR_CA (UMAP_MIN_MINOR_CA + UMAP_DEV_NUM_CA - 1)
439 
440 #define HI_MOD_OTP         "otp"
441 #define UMAP_DEVNAME_OTP   UMAP_NAME HI_MOD_OTP
442 #define UMAP_DEV_NUM_OTP   1
443 #define UMAP_MIN_MINOR_OTP (UMAP_MAX_MINOR_CA + 1)
444 #define UMAP_MAX_MINOR_OTP (UMAP_MIN_MINOR_OTP + UMAP_DEV_NUM_OTP - 1)
445 
446 #define HI_MOD_SVDEC         "svdec"
447 #define UMAP_DEVNAME_SVDEC   UMAP_NAME HI_MOD_SVDEC
448 #define UMAP_DEV_NUM_SVDEC   1
449 #define UMAP_MIN_MINOR_SVDEC (UMAP_MAX_MINOR_OTP + 1)
450 #define UMAP_MAX_MINOR_SVDEC (UMAP_MIN_MINOR_SVDEC + UMAP_DEV_NUM_SVDEC - 1)
451 
452 #define HI_MOD_SETHDCP         "sethdcp"
453 #define UMAP_DEVNAME_SETHDCP   UMAP_NAME HI_MOD_SETHDCP
454 #define UMAP_DEV_NUM_SETHDCP   1
455 #define UMAP_MIN_MINOR_SETHDCP (UMAP_MAX_MINOR_SVDEC + 1)
456 #define UMAP_MAX_MINOR_SETHDCP (UMAP_MIN_MINOR_SETHDCP + UMAP_DEV_NUM_SETHDCP - 1)
457 
458 #define HI_MOD_CI         "ci"
459 #define UMAP_DEVNAME_CI   UMAP_NAME HI_MOD_CI
460 #define UMAP_DEV_NUM_CI   1
461 #define UMAP_MIN_MINOR_CI (UMAP_MAX_MINOR_SETHDCP + 1)
462 #define UMAP_MAX_MINOR_CI (UMAP_MIN_MINOR_CI + UMAP_DEV_NUM_CI - 1)
463 
464 #define HI_MOD_SUBT         "subt"
465 #define UMAP_DEVNAME_SUBT   UMAP_NAME HI_MOD_SUBT
466 #define UMAP_DEV_NUM_SUBT   1
467 #define UMAP_MIN_MINOR_SUBT (UMAP_MAX_MINOR_CI + 1)
468 #define UMAP_MAX_MINOR_SUBT (UMAP_MIN_MINOR_SUBT + UMAP_DEV_NUM_SUBT - 1)
469 
470 #define HI_MOD_MEM2         "memmgr"
471 #define UMAP_DEVNAME_MEM2   UMAP_NAME HI_MOD_MEM2
472 #define UMAP_DEV_NUM_MEM2   1
473 #define UMAP_MIN_MINOR_MEM2 (UMAP_MAX_MINOR_SUBT + 1)
474 #define UMAP_MAX_MINOR_MEM2 (UMAP_MIN_MINOR_MEM2 + UMAP_DEV_NUM_MEM2 - 1)
475 
476 #define HI_MOD_MODULE         "module"
477 #define UMAP_DEVNAME_MODULE   UMAP_NAME HI_MOD_MODULE
478 #define UMAP_DEV_NUM_MODULE   1
479 #define UMAP_MIN_MINOR_MODULE (UMAP_MAX_MINOR_MEM2 + 1)
480 #define UMAP_MAX_MINOR_MODULE (UMAP_MIN_MINOR_MODULE + UMAP_DEV_NUM_MODULE - 1)
481 
482 #define HI_MOD_MLOG         "mlog"
483 #define UMAP_DEVNAME_MLOG   UMAP_NAME HI_MOD_MLOG
484 #define UMAP_DEV_NUM_MLOG   1
485 #define UMAP_MIN_MINOR_MLOG (UMAP_MAX_MINOR_MODULE + 1)
486 #define UMAP_MAX_MINOR_MLOG (UMAP_MIN_MINOR_MLOG + UMAP_DEV_NUM_MLOG - 1)
487 
488 #define HI_MOD_MCE         "mce"
489 #define UMAP_DEVNAME_MCE   UMAP_NAME HI_MOD_MCE
490 #define UMAP_DEV_NUM_MCE   1
491 #define UMAP_MIN_MINOR_MCE (UMAP_MAX_MINOR_MLOG + 1)
492 #define UMAP_MAX_MINOR_MCE (UMAP_MIN_MINOR_MCE + UMAP_DEV_NUM_MCE - 1)
493 
494 #define HI_MOD_PDM         "pdm"
495 #define UMAP_DEVNAME_PDM   UMAP_NAME HI_MOD_PDM
496 #define UMAP_DEV_NUM_PDM   1
497 #define UMAP_MIN_MINOR_PDM (UMAP_MAX_MINOR_MCE + 1)
498 #define UMAP_MAX_MINOR_PDM (UMAP_MIN_MINOR_PDM + UMAP_DEV_NUM_PDM - 1)
499 
500 #define UMAP_DEV_NUM_TDE   1
501 #define UMAP_MIN_MINOR_TDE (UMAP_MAX_MINOR_PDM + 1)
502 #define UMAP_MAX_MINOR_TDE (UMAP_MIN_MINOR_TDE + UMAP_DEV_NUM_TDE - 1)
503 
504 #define UMAP_DEV_NUM_HIFB   1
505 #define UMAP_MIN_MINOR_HIFB (UMAP_MAX_MINOR_TDE + 1)
506 #define UMAP_MAX_MINOR_HIFB (UMAP_MIN_MINOR_HIFB + UMAP_DEV_NUM_HIFB - 1)
507 
508 #define UMAP_DEV_NUM_PNG   2
509 #define UMAP_MIN_MINOR_PNG (UMAP_MAX_MINOR_HIFB + 1)
510 #define UMAP_MAX_MINOR_PNG (UMAP_MIN_MINOR_PNG + UMAP_DEV_NUM_PNG - 1)
511 
512 #define UMAP_DEV_NUM_JPEG   1
513 #define UMAP_MIN_MINOR_JPEG (UMAP_MAX_MINOR_PNG + 1)
514 #define UMAP_MAX_MINOR_JPEG (UMAP_MIN_MINOR_JPEG + UMAP_DEV_NUM_JPEG - 1)
515 
516 #define UMAP_DEV_NUM_JPGE   1
517 #define UMAP_MIN_MINOR_JPGE (UMAP_MAX_MINOR_JPEG + 1)
518 #define UMAP_MAX_MINOR_JPGE (UMAP_MIN_MINOR_JPGE + UMAP_DEV_NUM_JPGE - 1)
519 
520 #define HI_MOD_WDG         "wdg"
521 #define UMAP_DEVNAME_WDG   UMAP_NAME HI_MOD_WDG
522 #define UMAP_DEV_NUM_WDG   1
523 #define UMAP_MIN_MINOR_WDG (UMAP_MAX_MINOR_JPGE + 1)
524 #define UMAP_MAX_MINOR_WDG (UMAP_MIN_MINOR_WDG + UMAP_DEV_NUM_WDG - 1)
525 
526 #define HI_MOD_GPIO         "gpio"
527 #define UMAP_DEVNAME_GPIO   UMAP_NAME HI_MOD_GPIO
528 #define UMAP_DEV_NUM_GPIO   1
529 #define UMAP_MIN_MINOR_GPIO (UMAP_MAX_MINOR_WDG + 1)
530 #define UMAP_MAX_MINOR_GPIO (UMAP_MIN_MINOR_GPIO + UMAP_DEV_NUM_GPIO - 1)
531 
532 #define HI_MOD_SIL9293         "sil9293"
533 #define UMAP_DEVNAME_SIL9293   UMAP_NAME HI_MOD_SIL9293
534 #define UMAP_DEV_NUM_SIL9293   1
535 #define UMAP_MIN_MINOR_SIL9293 (UMAP_MAX_MINOR_GPIO + 1)
536 #define UMAP_MAX_MINOR_SIL9293 (UMAP_MIN_MINOR_SIL9293 + UMAP_DEV_NUM_SIL9293 - 1)
537 
538 #define HI_MOD_PQ         "pq"
539 #define UMAP_DEVNAME_PQ   UMAP_NAME HI_MOD_PQ
540 #define UMAP_DEV_NUM_PQ   1
541 #define UMAP_MIN_MINOR_PQ (UMAP_MAX_MINOR_SIL9293 + 1)
542 #define UMAP_MAX_MINOR_PQ (UMAP_MIN_MINOR_PQ + UMAP_DEV_NUM_PQ - 1)
543 
544 #define HI_MOD_PWM         "pwm"
545 #define UMAP_DEVNAME_PWM   UMAP_NAME HI_MOD_PWM
546 #define UMAP_DEV_NUM_PWM   1
547 #define UMAP_MIN_MINOR_PWM (UMAP_MAX_MINOR_PQ + 1)
548 #define UMAP_MAX_MINOR_PWM (UMAP_MIN_MINOR_PWM + UMAP_DEV_NUM_PWM - 1)
549 
550 #define HI_MOD_TVD         "tvd"
551 #define UMAP_DEVNAME_TVD   UMAP_NAME HI_MOD_TVD
552 #define UMAP_DEV_NUM_TVD   1
553 #define UMAP_MIN_MINOR_TVD (UMAP_MAX_MINOR_PWM + 1)
554 #define UMAP_MAX_MINOR_TVD (UMAP_MIN_MINOR_TVD + UMAP_DEV_NUM_TVD - 1)
555 
556 #define HI_MOD_PANEL         "panel"
557 #define UMAP_DEVNAME_PANEL   UMAP_NAME HI_MOD_PANEL
558 #define UMAP_DEV_NUM_PANEL   1
559 #define UMAP_MIN_MINOR_PANEL (UMAP_MAX_MINOR_TVD + 1)
560 #define UMAP_MAX_MINOR_PANEL (UMAP_MIN_MINOR_PANEL + UMAP_DEV_NUM_PANEL - 1)
561 
562 #define HI_MOD_VICAP         "vicap"
563 #define UMAP_DEVNAME_VICAP   UMAP_NAME HI_MOD_VICAP
564 #define UMAP_DEV_NUM_VICAP   1
565 #define UMAP_MIN_MINOR_VICAP (UMAP_MAX_MINOR_PANEL + 1)
566 #define UMAP_MAX_MINOR_VICAP (UMAP_MIN_MINOR_VICAP + UMAP_DEV_NUM_VICAP - 1)
567 
568 #define HI_MOD_SIF         "sif"
569 #define UMAP_DEVNAME_SIF   UMAP_NAME HI_MOD_SIF
570 #define UMAP_DEV_NUM_SIF   1
571 #define UMAP_MIN_MINOR_SIF (UMAP_MIN_MINOR_VICAP + 1)
572 #define UMAP_MAX_MINOR_SIF (UMAP_MIN_MINOR_SIF + UMAP_DEV_NUM_SIF - 1)
573 
574 #define HI_MOD_VFE         "vfe"
575 #define UMAP_DEVNAME_VFE   UMAP_NAME HI_MOD_VFE
576 #define UMAP_DEV_NUM_VFE   1
577 #define UMAP_MIN_MINOR_VFE (UMAP_MAX_MINOR_SIF + 1)
578 #define UMAP_MAX_MINOR_VFE (UMAP_MIN_MINOR_VFE + UMAP_DEV_NUM_VFE - 1)
579 
580 #define HI_MOD_HDDEC         "hddec"
581 #define UMAP_DEVNAME_HDDEC   UMAP_NAME HI_MOD_HDDEC
582 #define UMAP_DEV_NUM_HDDEC   1
583 #define UMAP_MIN_MINOR_HDDEC (UMAP_MAX_MINOR_VFE + 1)
584 #define UMAP_MAX_MINOR_HDDEC (UMAP_MIN_MINOR_HDDEC + UMAP_DEV_NUM_HDDEC - 1)
585 
586 #define HI_MOD_HDMIRX         "hdmirx"
587 #define UMAP_DEVNAME_HDMIRX   UMAP_NAME HI_MOD_HDMIRX
588 #define UMAP_DEV_NUM_HDMIRX   1
589 #define UMAP_MIN_MINOR_HDMIRX (UMAP_MAX_MINOR_HDDEC + 1)
590 #define UMAP_MAX_MINOR_HDMIRX (UMAP_MIN_MINOR_HDMIRX + UMAP_DEV_NUM_HDMIRX - 1)
591 
592 #define HI_MOD_AMP         "amp"
593 #define UMAP_DEVNAME_AMP   UMAP_NAME HI_MOD_AMP
594 #define UMAP_DEV_NUM_AMP   1
595 #define UMAP_MIN_MINOR_AMP (UMAP_MAX_MINOR_HDMIRX + 1)
596 #define UMAP_MAX_MINOR_AMP (UMAP_MIN_MINOR_AMP + UMAP_DEV_NUM_AMP - 1)
597 
598 #define HI_MOD_VPU         "vpu"
599 #define UMAP_DEVNAME_VPU   UMAP_NAME HI_MOD_VPU
600 #define UMAP_DEV_NUM_VPU   1
601 #define UMAP_MIN_MINOR_VPU (UMAP_MAX_MINOR_AMP + 1)
602 #define UMAP_MAX_MINOR_VPU (UMAP_MIN_MINOR_VPU + UMAP_DEV_NUM_VPU - 1)
603 
604 #define HI_MOD_FDMNG         "fdmng"
605 #define UMAP_DEVNAME_FDMNG   UMAP_NAME HI_MOD_FDMNG
606 #define UMAP_DEV_NUM_FDMNG   1
607 #define UMAP_MIN_MINOR_FDMNG (UMAP_MAX_MINOR_VPU + 1)
608 #define UMAP_MAX_MINOR_FDMNG (UMAP_MIN_MINOR_FDMNG + UMAP_DEV_NUM_FDMNG - 1)
609 
610 #define HI_MOD_CUSTOM         "custom"
611 #define UMAP_DEVNAME_CUSTOM   UMAP_NAME HI_MOD_CUSTOM
612 #define UMAP_DEV_NUM_CUSTOM   1
613 #define UMAP_MIN_MINOR_CUSTOM (UMAP_MIN_MINOR_FDMNG + 1)
614 #define UMAP_MAX_MINOR_CUSTOM (UMAP_MIN_MINOR_CUSTOM + UMAP_DEV_NUM_CUSTOM - 1)
615 
616 #define HI_MOD_VBI         "vbi"
617 #define UMAP_DEVNAME_VBI   UMAP_NAME HI_MOD_VBI
618 #define UMAP_DEV_NUM_VBI   1
619 #define UMAP_MIN_MINOR_VBI (UMAP_MAX_MINOR_CUSTOM + 1)
620 #define UMAP_MAX_MINOR_VBI (UMAP_MIN_MINOR_VBI + UMAP_DEV_NUM_VBI - 1)
621 
622 #define HI_MOD_RM         "rm"
623 #define UMAP_DEVNAME_RM   UMAP_NAME HI_MOD_RM
624 #define UMAP_DEV_NUM_RM   1
625 #define UMAP_MIN_MINOR_RM (UMAP_MAX_MINOR_VBI + 1)
626 #define UMAP_MAX_MINOR_RM (UMAP_MIN_MINOR_RM + UMAP_DEV_NUM_RM - 1)
627 
628 #define HI_MOD_SPI         "spi"
629 #define UMAP_DEVNAME_SPI   UMAP_NAME HI_MOD_SPI
630 #define UMAP_DEV_NUM_SPI   1
631 #define UMAP_MIN_MINOR_SPI (UMAP_MIN_MINOR_RM + 1)
632 #define UMAP_MAX_MINOR_SPI (UMAP_MIN_MINOR_SPI + UMAP_DEV_NUM_SPI - 1)
633 
634 #define HI_MOD_MEMC         "memc"
635 #define UMAP_DEVNAME_MEMC   UMAP_NAME HI_MOD_MEMC
636 #define UMAP_DEV_NUM_MEMC   1
637 #define UMAP_MIN_MINOR_MEMC (UMAP_MIN_MINOR_SPI + 1)
638 #define UMAP_MAX_MINOR_MEMC (UMAP_MIN_MINOR_MEMC + UMAP_DEV_NUM_MEMC - 1)
639 
640 #define HI_MOD_VFMW         "vfmw"
641 #define UMAP_DEVNAME_VFMW   UMAP_NAME HI_MOD_VFMW
642 #define UMAP_DEV_NUM_VFMW   1
643 #define UMAP_MIN_MINOR_VFMW (UMAP_MIN_MINOR_MEMC + 1)
644 #define UMAP_MAX_MINOR_VFMW (UMAP_MIN_MINOR_VFMW + UMAP_DEV_NUM_VFMW - 1)
645 
646 #define HI_MOD_MDDRC          "mddrc"
647 #define UMAP_DEVNAME_MDDRC    UMAP_NAME HI_MOD_MDDRC
648 #define UMAP_DEV_NUM_MDDRC   1
649 #define UMAP_MIN_MINOR_MDDRC  (UMAP_MIN_MINOR_VFMW + 1)
650 #define UMAP_MAX_MINOR_MDDRC  (UMAP_MIN_MINOR_MDDRC + UMAP_DEV_NUM_MDDRC - 1)
651 #define UMAP_DEV_NUM_TOTAL    UMAP_MAX_MINOR_MDDRC
652 
653 #define HI_MOD_VPLUGIN          "vplugin"
654 #define UMAP_DEVNAME_VPLUGIN    UMAP_NAME HI_MOD_VPLUGIN
655 #define UMAP_DEV_NUM_VPLUGIN   1
656 #define UMAP_MIN_MINOR_VPLUGIN  (UMAP_MIN_MINOR_MDDRC + 1)
657 #define UMAP_MAX_MINOR_VPLUGIN  (UMAP_MIN_MINOR_VPLUGIN + UMAP_DEV_NUM_VPLUGIN - 1)
658 
659     /** @} */ /** <!-- ==== Structure Definition End ==== */
660 
661 #define IOC_TYPE_DEMUX   'I'
662 #define IOC_TYPE_MEM     'J'
663 #define IOC_TYPE_RELEASE 'K'
664 #define IOC_TYPE_EVENT   'L'
665 #define IOC_TYPE_SYS     'M'
666 #define IOC_TYPE_STAT    'N'
667 #define IOC_TYPE_MCC     'O'
668 #define IOC_TYPE_TDE     'P'
669 
670 #define IOC_TYPE_CIPHER 'Q'
671 #define IOC_TYPE_AVPLAY 'R'
672 
673 #define IOC_TYPE_VI   'S'
674 #define IOC_TYPE_VENC 'T'
675 #define IOC_TYPE_CA   'U'
676 #define IOC_TYPE_OTP  'V'
677 
678 #define IOC_TYPE_VP    'W'
679 #define IOC_TYPE_VICAP 'X'
680 #define IOC_TYPE_SIF   'Y'
681 
682 #ifdef __cplusplus
683 #if __cplusplus
684     }
685 #endif
686 #endif /* __cplusplus */
687 
688 #endif
689 #endif
690 
691 #ifdef __cplusplus
692 #if __cplusplus
693 }
694 #endif
695 #endif /* __cplusplus */
696 
697 #endif
698 
699 /** @} */ /** <!-- ==== group Definition end ==== */
700 
701