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 enum rk_disp_prop{ //display device property
82 PRMRY = 1, //primary display device ,like LCD screen
83 EXTEND, //extend display device ,like hdmi ,tv out
86 struct rk29_fb_setting_info {
101 int (*io_init)(void);
102 int (*io_deinit)(void);
103 int (*io_enable)(void);
104 int (*io_disable)(void);
108 /* Screen description */
109 typedef struct rk29fb_screen {
110 /* screen type & hardware connect format & out face */
112 u16 lvds_format; //lvds data format
114 u8 lcdc_id; //which output interface the screeen connect to
115 u8 screen_id; //screen number
133 u8 ft; //the time need to display one frame,in ms
134 int *dsp_lut; //display lut
135 struct rk29fb_screen *ext_screen;
136 #if defined(CONFIG_HDMI_DUAL_DISP) || defined(CONFIG_ONE_LCDC_DUAL_OUTPUT_INF)
137 /* Scaler mode Timing */
152 #if defined(CONFIG_MFD_RK616)
153 u32 pll_cfg_val; //bellow are for jettaB
181 #if defined(CONFIG_MIPI_DSI)
188 int xpos; //horizontal display start position on the sceen ,then can be changed by application
190 int xsize; //horizontal and vertical display size on he screen,they can be changed by application
192 /* Operation function*/
194 int (*standby)(u8 enable);
195 int (*refresh)(u8 arg);
196 int (*scandir)(u16 dir);
197 int (*disparea)(u8 area);
198 int (*sscreen_get)(struct rk29fb_screen *screen, u8 resolution);
199 int (*sscreen_set)(struct rk29fb_screen *screen, bool type);// 1: use scaler 0:bypass
204 enum rk_disp_prop prop; //display device property,like PRMRY,EXTEND
206 struct rk29lcd_info *lcd_info;
207 int (*io_init)(struct rk29_fb_setting_info *fb_setting);
208 int (*io_deinit)(void);
209 int (*io_enable)(void);
210 int (*io_disable)(void);
211 void (*set_screen_info)(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info );
214 extern void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info);
215 extern size_t get_fb_size(void);
217 extern void set_tv_info(struct rk29fb_screen *screen);
218 extern void set_hdmi_info(struct rk29fb_screen *screen);