4 typedef enum _SCREEN_TYPE {
13 typedef enum _REFRESH_STAGE {
20 typedef enum _MCU_IOCTL {
28 typedef enum _MCU_STATUS {
38 enum rk_disp_prop{ //display device property
39 PRMRY = 0, //primary display device ,like LCD screen
40 EXTEND, //extend display device ,like hdmi ,tv out
50 int (*io_deinit)(void);
51 int (*io_enable)(void);
52 int (*io_disable)(void);
56 /* Screen description */
57 typedef struct rk29fb_screen {
58 /* screen type & hardware connect format & out face */
62 u8 lcdc_id; //which output interface the screeen connect to
63 u8 screen_id; //screen number
80 u8 ft; //the time need to display one frame,in ms
81 int *dsp_lut; //display lut
82 #if defined(CONFIG_HDMI_DUAL_DISP) || defined(CONFIG_ONE_LCDC_DUAL_OUTPUT_INF)
83 /* Scaler mode Timing */
118 int xpos; //horizontal display start position on the sceen ,then can be changed by application
120 int xsize; //horizontal and vertical display size on he screen,they can be changed by application
122 /* Operation function*/
124 int (*standby)(u8 enable);
125 int (*refresh)(u8 arg);
126 int (*scandir)(u16 dir);
127 int (*disparea)(u8 area);
128 int (*sscreen_get)(struct rk29fb_screen *screen, u8 resolution);
129 int (*sscreen_set)(struct rk29fb_screen *screen, bool type);// 1: use scaler 0:bypass
132 #ifndef CONFIG_DISPLAY_SUPPORT
133 static inline void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info) {}
135 extern void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info);
137 extern void set_tv_info(struct rk29fb_screen *screen);
138 extern void set_hdmi_info(struct rk29fb_screen *screen);