10 * LVDS_8BIT_1 LVDS_8BIT_2 LVDS_8BIT_3 LVDS_6BIT
11 ----------------------------------------------------------------------
19 ----------------------------------------------------------------------
27 ----------------------------------------------------------------------
32 2 TX24 HSYNC HSYNC HSYNC HSYNC
33 TX25 VSYNC VSYNC VSYNC VSYNC
34 TX26 ENABLE ENABLE ENABLE ENABLE
35 ----------------------------------------------------------------------
42 TX23 RSVD RSVD RSVD RSVD
43 ----------------------------------------------------------------------
46 typedef enum _SCREEN_TYPE {
56 typedef enum _REFRESH_STAGE {
63 typedef enum _MCU_IOCTL {
71 typedef enum _MCU_STATUS {
81 struct rk29_fb_setting_info {
97 int (*io_deinit)(void);
98 int (*io_enable)(void);
99 int (*io_disable)(void);
103 /* Screen description */
104 typedef struct rk29fb_screen {
105 /* screen type & hardware connect format & out face */
107 u16 lvds_format; //lvds data format
109 u8 lcdc_id; //which output interface the screeen connect to
110 u8 screen_id; //screen number
128 u8 ft; //the time need to display one frame,in ms
129 int *dsp_lut; //display lut
130 struct rk29fb_screen *ext_screen;
131 #if defined(CONFIG_HDMI_DUAL_DISP) || defined(CONFIG_ONE_LCDC_DUAL_OUTPUT_INF)
132 /* Scaler mode Timing */
147 #if defined(CONFIG_MFD_RK616)
148 u32 pll_cfg_val; //bellow are for jettaB
176 #if defined(CONFIG_MIPI_DSI)
183 int xpos; //horizontal display start position on the sceen ,then can be changed by application
185 int xsize; //horizontal and vertical display size on he screen,they can be changed by application
187 /* Operation function*/
189 int (*standby)(u8 enable);
190 int (*refresh)(u8 arg);
191 int (*scandir)(u16 dir);
192 int (*disparea)(u8 area);
193 int (*sscreen_get)(struct rk29fb_screen *screen, u8 resolution);
194 int (*sscreen_set)(struct rk29fb_screen *screen, bool type);// 1: use scaler 0:bypass
199 int prop; //display device property,like PRMRY,EXTEND
201 struct rk29lcd_info *lcd_info;
202 int (*io_init)(struct rk29_fb_setting_info *fb_setting);
203 int (*io_deinit)(void);
204 int (*io_enable)(void);
205 int (*io_disable)(void);
206 void (*set_screen_info)(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info );
209 extern void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info);
210 extern size_t get_fb_size(void);
212 extern void set_tv_info(struct rk29fb_screen *screen);
213 extern void set_hdmi_info(struct rk29fb_screen *screen);