rk fb:support one lcdc dual dispaly on rk616
authoryxj <yxj@rock-chips.com>
Sun, 28 Apr 2013 03:17:36 +0000 (11:17 +0800)
committeryxj <yxj@rock-chips.com>
Sun, 28 Apr 2013 04:20:37 +0000 (12:20 +0800)
drivers/video/rockchip/rk_fb.c
include/linux/rk_screen.h

index 9a88e441eec5214476de36c5c2e01cb4d6a4bad5..59fbbf583251171a5d1ba28609b99aa5bcf8be32 100644 (file)
@@ -885,6 +885,7 @@ int rk_fb_switch_screen(rk_screen *screen ,int enable ,int lcdc_id)
                        dev_drv->screen1->screen_id = 1;
                        dev_drv->screen0->lcdc_id = 1; //connect screen0 to output interface 1
                        dev_drv->cur_screen = dev_drv->screen1;
+                       dev_drv->screen0->ext_screen = dev_drv->screen1;
                        if(dev_drv->screen0->sscreen_get)
                        {
                                dev_drv->screen0->sscreen_get(dev_drv->screen0,
index bafc21a269b5287a19ec2a9189bb497bc2b1ec52..21cf587dac2e94a88fe1778ffbeaeabc92a780b8 100644 (file)
@@ -132,6 +132,7 @@ typedef struct rk29fb_screen {
        u16 vsync_len;
        u8  ft; //the time need to display one frame,in ms
        int *dsp_lut; //display lut 
+       struct rk29fb_screen *ext_screen;
 #if defined(CONFIG_HDMI_DUAL_DISP) || defined(CONFIG_ONE_LCDC_DUAL_OUTPUT_INF)
     /* Scaler mode Timing */
        u32 s_pixclock;
@@ -147,6 +148,15 @@ typedef struct rk29fb_screen {
        bool s_hv_sync_inv;
        bool s_clk_inv;
 #endif
+
+#if defined(CONFIG_RK616_VIF)
+       u32 pll_cfg_val;  //bellow are for jettaB
+       u32 frac;
+       u16 scl_vst;
+       u16 scl_hst;
+       u16 vif_vst;
+       u16 vif_hst;
+#endif
        u8 hdmi_resolution;
            /* mcu need */
        u8 mcu_wrperiod;