• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021 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 #ifndef _DEV_EXT_H_
20 #define _DEV_EXT_H_
21 
22 #include "hi_type.h"
23 
24 #define UMAP_DEV_NUM                64
25 #define UMAP_NAME_MAXLEN            32
26 
27 #define UMAP_VI_MINOR_BASE          1
28 #define UMAP_VO_MINOR_BASE          2
29 #define UMAP_VENC_MINOR_BASE        3
30 #define UMAP_VDEC_MINOR_BASE        4
31 #define UMAP_JPEGD_MINOR_BASE       5
32 #define UMAP_AI_MINOR_BASE          6
33 #define UMAP_AO_MINOR_BASE          7
34 #define UMAP_GRP_MINOR_BASE         8
35 #define UMAP_SYS_MINOR_BASE         9
36 #define UMAP_VB_MINOR_BASE          10
37 #define UMAP_VPSS_MINOR_BASE        11
38 #define UMAP_AIO_MINOR_BASE         12
39 #define UMAP_LOG_MINOR_BASE         13
40 #define UMAP_AENC_MINOR_BASE        14
41 #define UMAP_ADEC_MINOR_BASE        15
42 #define UMAP_MST_LOG_MINOR_BASE     16
43 #define UMAP_RGN_MINOR_BASE         17
44 #define UMAP_IVE_MINOR_BASE         18
45 #define UMAP_HDMI_MINOR_BASE        19
46 #define UMAP_VGS_MINOR_BASE         20
47 #define UMAP_ISP_MINOR_BASE         21
48 #define UMAP_RC_MINOR_BASE          22
49 #define UMAP_H264E_MINOR_BASE       23
50 #define UMAP_H265E_MINOR_BASE       24
51 #define UMAP_JPEGE_MINOR_BASE       25
52 #define UMAP_CHNL_MINOR_BASE        26
53 #define UMAP_MPEG4E_MINOR_BASE      27
54 #define UMAP_GDC_MINOR_BASE         28
55 #define UMAP_PCIV_MINOR_BASE        29
56 #define UMAP_PCIVFMW_MINOR_BASE     30
57 #define UMAP_FD_MINOR_BASE          31
58 #define UMAP_ACODEC_MINOR_BASE      32
59 #define UMAP_VPU_MINOR_BASE         33
60 #define UMAP_AVS_MINOR_BASE         34
61 #define UMAP_DIS_MINOR_BASE         35
62 #define UMAP_SVP_MINOR_BASE         36
63 #define UMAP_PRORES_MINOR_BASE      37
64 #define UMAP_SVP_NNIE_MINOR_BASE    38
65 #define UMAP_SVP_DSP_MINOR_BASE     39
66 #define UMAP_DPU_RECT_MINOR_BASE    40
67 #define UMAP_DPU_MATCH_MINOR_BASE   41
68 #define UMAP_PM_MINOR_BASE          42
69 #define UMAP_GYRODIS_MINOR_BASE     43
70 #define UMAP_MCF_MINOR_BASE         44
71 #define UMAP_VO_DEV_MINOR_BASE      45
72 
73 #define UMAP_GET_CHN(f) (*((hi_u32*)(f)))
74 #define UMAP_SET_CHN(f, chn) (*((hi_u32*)(f)) = (chn))
75 
76 #define UMAP_NAME                   "umap"
77 #define UMAP_NAME_VIDEO             UMAP_NAME "/video/"
78 #define UMAP_NAME_AUDIO             UMAP_NAME "/audio/"
79 
80 #define UMAP_DEVNAME_SYSCTL         MPP_MOD_SYS
81 #define UMAP_DEVNAME_LOG_BASE       MPP_MOD_LOG
82 #define UMAP_DEVNAME_MST_LOG_BASE   MPP_MOD_MST_LOG
83 
84 #define UMAP_DEVNAME_VI_BASE        MPP_MOD_VI
85 #define UMAP_DEVNAME_VO_BASE        MPP_MOD_VO
86 #define UMAP_DEVNAME_AVS_BASE       MPP_MOD_AVS
87 #define UMAP_DEVNAME_VENC_BASE      MPP_MOD_VENC
88 #define UMAP_DEVNAME_VDEC_BASE      MPP_MOD_VDEC
89 #define UMAP_DEVNAME_JPEGD_BASE     MPP_MOD_JPEGD
90 
91 #define UMAP_DEVNAME_DSU_BASE       MPP_MOD_DSU
92 #define UMAP_DEVNAME_VB_BASE        MPP_MOD_VB
93 #define UMAP_DEVNAME_VPSS_BASE      MPP_MOD_VPSS
94 #define UMAP_DEVNAME_GRP_BASE       MPP_MOD_GRP
95 #define UMAP_DEVNAME_RGN_BASE       MPP_MOD_RGN
96 #define UMAP_DEVNAME_IVE_BASE       MPP_MOD_IVE
97 #define UMAP_DEVNAME_FD_BASE        MPP_MOD_FD
98 #define UMAP_DEVNAME_SVP_BASE       MPP_MOD_SVP
99 #define UMAP_DEVNAME_SVP_NNIE_BASE  MPP_MOD_SVP_NNIE
100 #define UMAP_DEVNAME_SVP_DSP_BASE   MPP_MOD_SVP_DSP
101 #define UMAP_DEVNAME_DPU_RECT_BASE  MPP_MOD_DPU_RECT
102 #define UMAP_DEVNAME_DPU_MATCH_BASE MPP_MOD_DPU_MATCH
103 
104 #define UMAP_DEVNAME_ACODEC_BASE    MPP_MOD_ACODEC
105 
106 #define UMAP_DEVNAME_AIO_BASE       MPP_MOD_AIO
107 #define UMAP_DEVNAME_AI_BASE        MPP_MOD_AI
108 #define UMAP_DEVNAME_AO_BASE        MPP_MOD_AO
109 #define UMAP_DEVNAME_AENC_BASE      MPP_MOD_AENC
110 #define UMAP_DEVNAME_ADEC_BASE      MPP_MOD_ADEC
111 
112 #define UMAP_DEVNAME_HDMI_BASE      MPP_MOD_HDMI
113 
114 #define UMAP_DEVNAME_VGS_BASE       MPP_MOD_VGS
115 
116 #define UMAP_DEVNAME_GDC_BASE       MPP_MOD_GDC
117 
118 #define UMAP_DEVNAME_H264E_BASE     MPP_MOD_H264E
119 #define UMAP_DEVNAME_H265E_BASE     MPP_MOD_H265E
120 #define UMAP_DEVNAME_JPEGE_BASE     MPP_MOD_JPEGE
121 #define UMAP_DEVNAME_MPEG4E_BASE    MPP_MOD_MPEG4E
122 #define UMAP_DEVNAME_CHNL_BASE      MPP_MOD_CHNL
123 #define UMAP_DEVNAME_RC_BASE        MPP_MOD_RC
124 #define UMAP_DEVNAME_MPEG4E_BASE    MPP_MOD_MPEG4E
125 #define UMAP_DEVNAME_PRORES_BASE    MPP_MOD_PRORES
126 
127 #define UMAP_DEVNAME_PCIV_BASE      MPP_MOD_PCIV
128 #define UMAP_DEVNAME_PCIVFMW_BASE   MPP_MOD_PCIVFMW
129 #define UMAP_DEVNAME_VPU_BASE       MPP_MOD_VPU
130 #define UMAP_DEVNAME_DIS_BASE       MPP_MOD_DIS
131 #define UMAP_DEVNAME_PM_BASE        MPP_MOD_PM
132 #define UMAP_DEVNAME_GYRODIS_BASE   MPP_MOD_GYRODIS
133 #define UMAP_DEVNAME_MCF_BASE       MPP_MOD_MCF
134 #define UMAP_DEVNAME_VO_DEV_BASE    MPP_MOD_VO_DEV
135 
136 #endif /* _DEV_EXT_H_ */
137