4 #ifdef CONFIG_HDMI_DUAL_DISP
5 /* Scaler PLL CONFIG */
10 #define S_PLL_M(x) (((x)&0xff)<<8)
11 #define S_PLL_N(x) (((x)&0xf)<<4)
12 #define S_PLL_NO(x) ((S_PLL_NO_##x)&0x3)
19 /* Scaler clk setting */
20 #define SCALE_PLL(_parent_rate,_rate,_m,_n,_no) \
21 HDMI_RATE_ ## _parent_rate ##_S_RATE_ ## _rate \
22 = S_PLL_M(_m) | S_PLL_N(_n) | S_PLL_NO(_no)
23 #define SCALE_RATE(_parent_rate , _rate) \
24 (HDMI_RATE_ ## _parent_rate ## _S_RATE_ ## _rate)
27 SCALE_PLL(148500000, 66000000, 16, 9, 4),
28 SCALE_PLL(148500000, 54000000, 16, 11, 4),
29 SCALE_PLL(148500000, 33000000, 16, 9, 8),
30 SCALE_PLL(148500000, 30375000, 18, 11, 8),
31 SCALE_PLL(148500000, 29700000, 16, 10, 8),
32 SCALE_PLL(148500000, 25312500, 15, 11, 8),
34 SCALE_PLL(74250000, 66000000, 32, 9, 4),
35 SCALE_PLL(74250000, 54000000, 32, 11, 4),
36 SCALE_PLL(74250000, 33000000, 32, 9, 8),
37 SCALE_PLL(74250000, 30375000, 36, 11, 8),
38 SCALE_PLL(74250000, 25312500, 30, 11, 8),
40 SCALE_PLL(27000000, 31500000, 28, 3, 8),
41 SCALE_PLL(27000000, 30000000, 80, 9, 8),
44 typedef enum _SCREEN_TYPE {
53 typedef enum _REFRESH_STAGE {
60 typedef enum _MCU_IOCTL {
68 typedef enum _MCU_STATUS {
78 enum rk_disp_prop{ //display device property
79 PRMRY = 0, //primary display device ,like LCD screen
80 EXTEND, //extend display device ,like hdmi ,tv out
90 int (*io_deinit)(void);
94 /* Screen description */
95 typedef struct rk29fb_screen {
96 /* screen type & hardware connect format & out face */
116 u8 ft; //the time need to display one frame,in ms
117 #ifdef CONFIG_HDMI_DUAL_DISP
118 /* Scaler mode Timing */
150 /* Operation function*/
152 int (*standby)(u8 enable);
153 int (*refresh)(u8 arg);
154 int (*scandir)(u16 dir);
155 int (*disparea)(u8 area);
156 int (*sscreen_get)(struct rk29fb_screen *screen, u8 resolution);
157 int (*sscreen_set)(struct rk29fb_screen *screen, bool type);// 1: use scaler 0:bypass
160 extern void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info);
161 extern void set_tv_info(struct rk29fb_screen *screen);
162 extern void set_hdmi_info(struct rk29fb_screen *screen);