|
| 1 | +#include <rthw.h> |
| 2 | +#include <rtthread.h> |
| 3 | +#include <rtdevice.h> |
| 4 | + |
| 5 | + |
| 6 | +/***********************CMPI*****************************/ |
| 7 | +int __attribute__((weak)) cmpi_init(void) |
| 8 | +{ |
| 9 | + rt_kprintf("no cmpi library!\n"); |
| 10 | + return -1; |
| 11 | +} |
| 12 | +extern int cmpi_init(void); |
| 13 | +/***************************************************/ |
| 14 | + |
| 15 | +/********************LOG*****************************/ |
| 16 | +int __attribute__((weak)) log_init(void) |
| 17 | +{ |
| 18 | + rt_kprintf("no log library!\n"); |
| 19 | + return -1; |
| 20 | +} |
| 21 | +extern int log_init(void); |
| 22 | +/***************************************************/ |
| 23 | + |
| 24 | +/********************MMZ*****************************/ |
| 25 | +#ifndef MEM_MMZ_BASE |
| 26 | +#define MEM_MMZ_BASE 0x10000000UL |
| 27 | +#endif |
| 28 | + |
| 29 | +#ifndef MEM_MMZ_SIZE |
| 30 | +#define MEM_MMZ_SIZE 0xffff000UL |
| 31 | +#endif |
| 32 | +int __attribute__((weak)) mmz_init(unsigned long mmz_start, unsigned long mmz_size) |
| 33 | +{ |
| 34 | + rt_kprintf("no mmz library!\n"); |
| 35 | + return -1; |
| 36 | +} |
| 37 | +extern int mmz_init(unsigned long mmz_start, unsigned long mmz_size); |
| 38 | +/****************************************************/ |
| 39 | + |
| 40 | +/********************MMZ_USEDEV**********************/ |
| 41 | +int __attribute__((weak)) mmz_userdev_init(void) |
| 42 | +{ |
| 43 | + rt_kprintf("no mmz userdev library!\n"); |
| 44 | + return -1; |
| 45 | +} |
| 46 | +extern int mmz_userdev_init(void); |
| 47 | +/****************************************************/ |
| 48 | + |
| 49 | +/********************MMZ_USEDEV**********************/ |
| 50 | +int __attribute__((weak)) vb_init(void) |
| 51 | +{ |
| 52 | + rt_kprintf("no vb library!\n"); |
| 53 | + return -1; |
| 54 | +} |
| 55 | +extern int vb_init(void); |
| 56 | +/****************************************************/ |
| 57 | + |
| 58 | + |
| 59 | +/********************sysctrl*************************/ |
| 60 | +int __attribute__((weak)) sysctrl_init(void) |
| 61 | +{ |
| 62 | + rt_kprintf("no sysctrl library!\n"); |
| 63 | + return -1; |
| 64 | +} |
| 65 | +extern int sysctrl_init(void); |
| 66 | +/****************************************************/ |
| 67 | + |
| 68 | +static int mpp_base_init(void) |
| 69 | +{ |
| 70 | + int ret = -1; |
| 71 | + |
| 72 | + /*cmpi(Common Manageability Programming Interface) init*/ |
| 73 | + ret = cmpi_init(); |
| 74 | + if(ret) { |
| 75 | + rt_kprintf("cmpi_init error!\n"); |
| 76 | + //while(1); |
| 77 | + } |
| 78 | + |
| 79 | + /*log init*/ |
| 80 | + ret = log_init(); |
| 81 | + if(ret) { |
| 82 | + rt_kprintf("log_init error!\n"); |
| 83 | + //while(1); |
| 84 | + } |
| 85 | + |
| 86 | + /*mmz(media memory zone) init*/ |
| 87 | + ret = mmz_init(MEM_MMZ_BASE, MEM_MMZ_SIZE); |
| 88 | + if(ret) { |
| 89 | + rt_kprintf("mmz_init error!\n"); |
| 90 | + //while(1); |
| 91 | + } |
| 92 | + |
| 93 | + /*mmz userdev init*/ |
| 94 | + ret = mmz_userdev_init(); |
| 95 | + if(ret) { |
| 96 | + rt_kprintf("mmz_userdev_init error!\n"); |
| 97 | + //while(1); |
| 98 | + } |
| 99 | + |
| 100 | + /*sysctrl ctrl init*/ |
| 101 | + ret = sysctrl_init(); |
| 102 | + if(ret) { |
| 103 | + rt_kprintf("sysctrl_init error!\n"); |
| 104 | + //while(1); |
| 105 | + } |
| 106 | + |
| 107 | + ret = vb_init(); |
| 108 | + if(ret) { |
| 109 | + rt_kprintf("vb_init error!\n"); |
| 110 | + //while(1); |
| 111 | + } |
| 112 | + |
| 113 | + return 0; |
| 114 | +} |
| 115 | + |
| 116 | +/*************media freq device**********************/ |
| 117 | +int __attribute__((weak)) media_freq_init(void) |
| 118 | +{ |
| 119 | + rt_kprintf("no media_freq_init library!\n"); |
| 120 | + return -1; |
| 121 | +} |
| 122 | +extern int media_freq_init(void); |
| 123 | + |
| 124 | +/*************virtual video input device*************/ |
| 125 | +int __attribute__((weak)) vvi_init(void) |
| 126 | +{ |
| 127 | + rt_kprintf("no vvi_init library!\n"); |
| 128 | + return -1; |
| 129 | +} |
| 130 | +extern int vvi_init(void); |
| 131 | +/****************************************************/ |
| 132 | + |
| 133 | +/*************virtual video input device*************/ |
| 134 | +int __attribute__((weak)) vvo_init(void) |
| 135 | +{ |
| 136 | + rt_kprintf("no vvo_init library!\n"); |
| 137 | + return -1; |
| 138 | +} |
| 139 | +extern int vvo_init(void); |
| 140 | +/****************************************************/ |
| 141 | + |
| 142 | +/*********************dma device*********************/ |
| 143 | +int __attribute__((weak)) dma_init(void) |
| 144 | +{ |
| 145 | + rt_kprintf("no dma_init library!\n"); |
| 146 | + return -1; |
| 147 | +} |
| 148 | +extern int dma_init(void); |
| 149 | +/****************************************************/ |
| 150 | + |
| 151 | +/*************video encoder device*************/ |
| 152 | +int __attribute__((weak)) venc_init(void) |
| 153 | +{ |
| 154 | + rt_kprintf("no venc_init library!\n"); |
| 155 | + return -1; |
| 156 | +} |
| 157 | +extern int venc_init(void); |
| 158 | +/****************************************************/ |
| 159 | + |
| 160 | +/*************video decoder device*************/ |
| 161 | +int __attribute__((weak)) vdec_init(void) |
| 162 | +{ |
| 163 | + rt_kprintf("no vdec_init library!\n"); |
| 164 | + return -1; |
| 165 | +} |
| 166 | +extern int vdec_init(void); |
| 167 | +/****************************************************/ |
| 168 | + |
| 169 | +/*************ai input device*************/ |
| 170 | +int __attribute__((weak)) ai_init(void) |
| 171 | +{ |
| 172 | + rt_kprintf("no ai_init library!\n"); |
| 173 | + return -1; |
| 174 | +} |
| 175 | +extern int ai_init(void); |
| 176 | +/****************************************************/ |
| 177 | + |
| 178 | +/*************ao input device*************/ |
| 179 | +int __attribute__((weak)) ao_init(void) |
| 180 | +{ |
| 181 | + rt_kprintf("no ao_init library!\n"); |
| 182 | + return -1; |
| 183 | +} |
| 184 | +extern int ao_init(void); |
| 185 | + |
| 186 | +/*************audio encode device*************/ |
| 187 | +int __attribute__((weak)) aenc_init(void) |
| 188 | +{ |
| 189 | + rt_kprintf("no aenc_init library!\n"); |
| 190 | + return -1; |
| 191 | +} |
| 192 | +extern int aenc_init(void); |
| 193 | +/****************************************************/ |
| 194 | + |
| 195 | +/*************audio decoder device*************/ |
| 196 | +int __attribute__((weak)) adec_init(void) |
| 197 | +{ |
| 198 | + rt_kprintf("no adec_init library!\n"); |
| 199 | + return -1; |
| 200 | +} |
| 201 | +extern int adec_init(void); |
| 202 | + |
| 203 | +/*************audio codec device*************/ |
| 204 | +int __attribute__((weak)) acodec_init(void) |
| 205 | +{ |
| 206 | + rt_kprintf("no adec_init library!\n"); |
| 207 | + return -1; |
| 208 | +} |
| 209 | +extern int acodec_init(void); |
| 210 | + |
| 211 | +/************* video output device*************/ |
| 212 | +int __attribute__((weak)) kd_vo_init(void) |
| 213 | +{ |
| 214 | + rt_kprintf("no kd_vo_init library!\n"); |
| 215 | + return -1; |
| 216 | +} |
| 217 | +extern int kd_vo_init(void); |
| 218 | + |
| 219 | +/************* video output device*************/ |
| 220 | +int __attribute__((weak)) connector_device_init(void) |
| 221 | +{ |
| 222 | + rt_kprintf("no kd_vo_init library!\n"); |
| 223 | + return -1; |
| 224 | +} |
| 225 | +extern int connector_device_init(void); |
| 226 | + |
| 227 | +/*********************dpu device*********************/ |
| 228 | +int __attribute__((weak)) dpu_init(void) |
| 229 | +{ |
| 230 | + rt_kprintf("no dpu_init library!\n"); |
| 231 | + return -1; |
| 232 | +} |
| 233 | +extern int dpu_init(void); |
| 234 | +/****************************************************/ |
| 235 | + |
| 236 | +/****************************************************/ |
| 237 | + |
| 238 | +/************* vdss device*************/ |
| 239 | +int __attribute__((weak)) vdss_init(void) |
| 240 | +{ |
| 241 | + rt_kprintf("no vdss_init library!\n"); |
| 242 | + return -1; |
| 243 | +} |
| 244 | +extern int vdss_init(void); |
| 245 | +/*************vicap device*************/ |
| 246 | +int __attribute__((weak)) vicap_init(void) |
| 247 | +{ |
| 248 | + rt_kprintf("no vicap_init library!\n"); |
| 249 | + return -1; |
| 250 | +} |
| 251 | +extern int vicap_init(void); |
| 252 | +/****************************************************/ |
| 253 | +int __attribute__((weak)) dewarp_init(void) |
| 254 | +{ |
| 255 | + rt_kprintf("no dewarp_init library!\n"); |
| 256 | + return -1; |
| 257 | +} |
| 258 | +extern int dewarp_init(void); |
| 259 | +/****************************************************/ |
| 260 | + |
| 261 | +/*************pm device*************/ |
| 262 | +int __attribute__((weak)) pm_core_init(void) |
| 263 | +{ |
| 264 | + rt_kprintf("no pm_core_init library!\n"); |
| 265 | + return -1; |
| 266 | +} |
| 267 | +extern int pm_core_init(void); |
| 268 | +/****************************************************/ |
| 269 | + |
| 270 | +/*************fft device*************/ |
| 271 | +int __attribute__((weak)) fft_device_init(void) |
| 272 | +{ |
| 273 | + rt_kprintf("no fft_device_init library!\n"); |
| 274 | + return -1; |
| 275 | +} |
| 276 | +extern int fft_device_init(void); |
| 277 | +/****************************************************/ |
| 278 | + |
| 279 | +/*************nonai_2d device*************/ |
| 280 | +int __attribute__((weak)) nonai_2d_init(void) |
| 281 | +{ |
| 282 | + rt_kprintf("no nonai_2d_init library!\n"); |
| 283 | + return -1; |
| 284 | +} |
| 285 | +extern int nonai_2d_init(void); |
| 286 | +/****************************************************/ |
| 287 | + |
| 288 | +static int mpp_device_init(void) |
| 289 | +{ |
| 290 | + media_freq_init(); |
| 291 | + vicap_init(); |
| 292 | + vvi_init(); |
| 293 | + vvo_init(); |
| 294 | + dma_init(); |
| 295 | + venc_init(); |
| 296 | + vdec_init(); |
| 297 | + ai_init(); |
| 298 | + ao_init(); |
| 299 | + aenc_init(); |
| 300 | + adec_init(); |
| 301 | + acodec_init(); |
| 302 | + kd_vo_init(); |
| 303 | + connector_device_init(); |
| 304 | + vdss_init(); |
| 305 | + dpu_init(); |
| 306 | + dewarp_init(); |
| 307 | + pm_core_init(); |
| 308 | + fft_device_init(); |
| 309 | + nonai_2d_init(); |
| 310 | + return 0; |
| 311 | +} |
| 312 | + |
| 313 | +int mpp_init(void) |
| 314 | +{ |
| 315 | + mpp_base_init(); |
| 316 | + return mpp_device_init(); |
| 317 | +} |
0 commit comments