1 /* 2 * Allwinner SoCs display driver. 3 * 4 * Copyright (C) 2016 Allwinner. 5 * 6 * This file is licensed under the terms of the GNU General Public 7 * License version 2. This program is licensed "as is" without any 8 * warranty of any kind, whether express or implied. 9 */ 10 11 #ifndef _DISP_FEATURES_H_ 12 #define _DISP_FEATURES_H_ 13 14 /*#include "include.h"*/ 15 #if defined(CONFIG_ARCH_SUN8IW6) 16 #include "lowlevel_v2x/de_feat.h" 17 #elif defined(CONFIG_ARCH_SUN8IW7) 18 #include "lowlevel_v2x/de_feat.h" 19 #elif defined(CONFIG_ARCH_SUN8IW8) 20 #include "lowlevel_sun8iw8/de_feat.h" 21 #elif defined(CONFIG_ARCH_SUN8IW9) 22 #include "lowlevel_sun8iw9/de_feat.h" 23 #elif defined(CONFIG_ARCH_SUN8IW10) 24 #include "./lowlevel_sun8iw10/de_feat.h" 25 #elif defined(CONFIG_ARCH_SUN8IW11) 26 #include "./lowlevel_v2x/de_feat.h" 27 #elif defined(CONFIG_ARCH_SUN50IW1) 28 #include "./lowlevel_sun50iw1/de_feat.h" 29 #elif defined(CONFIG_ARCH_SUN50IW2) 30 #include "./lowlevel_v2x/de_feat.h" 31 #elif defined(CONFIG_ARCH_SUN50IW8) 32 #include "./lowlevel_v2x/de_feat.h" 33 #elif defined(CONFIG_ARCH_SUN8IW12) || defined(CONFIG_ARCH_SUN8IW16)\ 34 || defined(CONFIG_ARCH_SUN8IW19) || defined(CONFIG_ARCH_SUN20IW1) 35 #include "./lowlevel_v2x/de_feat.h" 36 #elif defined(CONFIG_ARCH_SUN8IW15) || defined(CONFIG_ARCH_SUN8IW17) 37 #include "./lowlevel_v2x/de_feat.h" 38 #elif defined(CONFIG_ARCH_SUN50IW10) 39 #include "./lowlevel_v2x/de_feat.h" 40 #elif defined(CONFIG_ARCH_SUN50IW3) || defined(CONFIG_ARCH_SUN50IW6) 41 #include "./lowlevel_v3x/de_feat.h" 42 #else 43 #error "undefined platform!!!" 44 #endif 45 46 #define DISP_DEVICE_NUM DEVICE_NUM 47 #define DISP_SCREEN_NUM DE_NUM 48 49 struct disp_features { 50 const s32 num_screens; 51 const s32 *num_channels; 52 const s32 *num_layers; 53 const s32 *is_support_capture; 54 const s32 *supported_output_types; 55 }; 56 57 s32 bsp_disp_feat_get_num_screens(void); 58 s32 bsp_disp_feat_get_num_devices(void); 59 s32 bsp_disp_feat_get_num_channels(u32 disp); 60 s32 bsp_disp_feat_get_num_layers(u32 screen_id); 61 s32 bsp_disp_feat_get_num_layers_by_chn(u32 disp, u32 chn); 62 s32 bsp_disp_feat_is_supported_output_types(u32 screen_id, 63 u32 output_type); 64 s32 bsp_disp_feat_is_support_capture(u32 disp); 65 s32 bsp_disp_feat_is_support_smbl(u32 disp); 66 s32 bsp_disp_feat_is_support_enhance(u32 disp); 67 u32 bsp_disp_feat_get_num_vdpo(void); 68 s32 disp_init_feat(void); 69 s32 disp_exit_feat(void); 70 71 #endif 72