rk hdmi:add fps
authoryxj <yxj@rock-chips.com>
Fri, 26 Apr 2013 09:23:01 +0000 (17:23 +0800)
committeryxj <yxj@rock-chips.com>
Sat, 27 Apr 2013 03:42:09 +0000 (11:42 +0800)
drivers/video/rockchip/hdmi/rk_hdmi_lcdc.c
include/linux/rk_screen.h

index 2703d98e3567a25e8d7e25148b951355ca5d4dca..eda672f06ca51772c6fe2c591b533e43359054ad 100755 (executable)
@@ -9,54 +9,54 @@
 #define LCD_ACLK               800000000
 
 static const struct fb_videomode hdmi_mode [] = {
-       //name                          refresh         xres    yres    pixclock        h_bp    h_fp    v_bp    v_fp    h_pw    v_pw    polariry        PorI    flag(used for vic)
-//{    "640x480p@60Hz",        60,                     640,    480,    25175000,       48,             16,             33,             10,             96,             2,              0,                      0,              1       },
-//{    "720x480i@60Hz",        60,                     720,    480,    27000000,       114,    38,             15,             4,              124,    3,              0,                      1,              6       },
-//{    "720x576i@50Hz",        50,                     720,    576,    27000000,       138,    24,             19,             2,              126,    3,              0,                      1,              21      },
-{      "720x480p@60Hz",        60,                     720,    480,    27000000,       60,             16,             30,             9,              62,             6,              0,                      0,              2       },
-{      "720x576p@50Hz",        50,                     720,    576,    27000000,       68,             12,             39,             5,              64,             5,              0,                      0,              17      },
-//{    "1280x720p@24Hz",       24,                     1280,   720,    59400000,       220,    1760,   20,             5,              40,             5,              FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              60      },
-//{    "1280x720p@25Hz",       25,                     1280,   720,    74250000,       220,    2420,   20,             5,              40,             5,              FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              61      },
-//{    "1280x720p@30Hz",       30,                     1280,   720,    74250000,       220,    1760,   20,             5,              40,             5,              FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              62      },
-{      "1280x720p@50Hz",       50,                     1280,   720,    74250000,       220,    440,    20,             5,              40,             5,              FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              19      },
-{      "1280x720p@60Hz",       60,                     1280,   720,    74250000,       220,    110,    20,             5,              40,             5,              FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              4       },
-//{    "1920x1080p@24Hz",      24,                     1920,   1080,   74250000,       148,    638,    36,             4,              44,             5,              FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              32      },
-//{    "1920x1080p@25Hz",      25,                     1920,   1080,   74250000,       148,    528,    36,             4,              44,             5,              FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              33      },
-//{    "1920x1080p@30Hz",      30,                     1920,   1080,   74250000,       148,    88,             36,             4,              44,             5,              FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              34      },      
-//{    "1920x1080i@50Hz_2",50,                 1920,   1080,   72000000,       184,    32,             57,             23,             168,    5,              FB_SYNC_HOR_HIGH_ACT,                   1,              39      },
-//{    "1920x1080i@50Hz",      50,                     1920,   1080,   74250000,       148,    528,    15,             2,              44,             5,              FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   1,              20      },
-//{    "1920x1080i@60Hz",      60,                     1920,   1080,   74250000,       148,    88,             15,             2,              44,             5,              FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   1,              5       },
-{      "1920x1080p@50Hz",      50,                     1920,   1080,   148500000,      148,    528,    36,             4,              44,             5,              FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              31      },
-{      "1920x1080p@60Hz",      60,                     1920,   1080,   148500000,      148,    88,             36,             4,              44,             5,              FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              16      },
+       //name                  refresh         xres    yres    pixclock                h_bp    h_fp    v_bp    v_fp    h_pw    v_pw    polariry        PorI    flag(used for vic)
+//{    "640x480p@60Hz",                60,             640,    480,    25175000,       48,     16,     33,     10,     96,     2,      0,      0,      1       },
+//{    "720x480i@60Hz",                60,             720,    480,    27000000,       114,    38,     15,     4,      124,    3,      0,      1,      6       },
+//{    "720x576i@50Hz",                50,             720,    576,    27000000,       138,    24,     19,     2,      126,    3,      0,      1,      21      },
+{      "720x480p@60Hz",        60,             720,    480,    27000000,       60,     16,     30,     9,      62,     6,      0,      0,      2       },
+{      "720x576p@50Hz",        50,             720,    576,    27000000,       68,     12,     39,     5,      64,     5,      0,      0,      17      },
+//{    "1280x720p@24Hz",       24,             1280,   720,    59400000,       220,    1760,   20,     5,      40,     5,      FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              60      },
+//{    "1280x720p@25Hz",       25,             1280,   720,    74250000,       220,    2420,   20,     5,      40,     5,      FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              61      },
+//{    "1280x720p@30Hz",       30,             1280,   720,    74250000,       220,    1760,   20,     5,      40,     5,      FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              62      },
+{      "1280x720p@50Hz",       50,             1280,   720,    74250000,       220,    440,    20,     5,      40,     5,      FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              19      },
+{      "1280x720p@60Hz",       60,             1280,   720,    74250000,       220,    110,    20,     5,      40,     5,      FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              4       },
+//{    "1920x1080p@24Hz",      24,             1920,   1080,   74250000,       148,    638,    36,     4,      44,     5,      FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              32      },
+//{    "1920x1080p@25Hz",      25,             1920,   1080,   74250000,       148,    528,    36,     4,      44,     5,      FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              33      },
+//{    "1920x1080p@30Hz",      30,             1920,   1080,   74250000,       148,    88,     36,     4,      44,     5,      FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              34      },      
+//{    "1920x1080i@50Hz_2",    50,             1920,   1080,   72000000,       184,    32,     57,     23,     168,    5,      FB_SYNC_HOR_HIGH_ACT,                   1,              39      },
+//{    "1920x1080i@50Hz",      50,             1920,   1080,   74250000,       148,    528,    15,     2,      44,     5,      FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   1,              20      },
+//{    "1920x1080i@60Hz",      60,             1920,   1080,   74250000,       148,    88,     15,     2,      44,     5,      FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   1,              5       },
+{      "1920x1080p@50Hz",      50,             1920,   1080,   148500000,      148,    528,    36,     4,      44,     5,      FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              31      },
+{      "1920x1080p@60Hz",      60,             1920,   1080,   148500000,      148,    88,     36,     4,      44,     5,      FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,                   0,              16      },
 /*
-{      "1440x288p@50Hz",       50,                     720,    480,    27000000,       138,    24,             19,             2,              126,    3,              0,                      0,              23      },
-{      "2880x576i@50Hz",       50,                     1440,   240,    54000000,       276,    48,             19,             2,              252,    3,              0,                      1,              25      },
-{      "2880x288p@50Hz",       50,                     2880,   480,    54000000,       276,    48,             19,             3,              252,    3,              0,                      0,              27      },
-{      "1440x576p@50Hz",       50,                     2880,   480,    54000000,       136,    24,             39,             5,              128,    5,              0,                      0,              29      },
-{      "2880x576p@50Hz",       50,                     1920,   1080,   108000000,      272,    48,             39,             5,              256,    5,              0,                      0,              37      },
-{      "1440x240p@60Hz",       60,                     1440,   240,    27000000,       114,    38,             15,             4,              124,    3,              0,                      0,              8       },
-{      "2880x480i@60Hz",       60,                     2880,   480,    54000000,       228,    76,             15,             4,              248,    3,              0,                      1,              10      },
-{      "2880x480p@60Hz",       60,                     2880,   480,    54000000,       228,    76,             15,             4,              248,    3,              0,                      0,              12      },
-{      "1440x480p@60Hz",       60,                     1440,   480,    54000000,       120,    32,             30,             9,              124,    6,              0,                      0,              14      },
-{      "2880x480p@60Hz",       60,                     2880,   480,    54000000,       240,    64,             30,             9,              248,    6,              0,                      0,              35      },
+{      "1440x288p@50Hz",       50,             720,    480,    27000000,       138,    24,     19,     2,      126,    3,              0,                      0,              23      },
+{      "2880x576i@50Hz",       50,             1440,   240,    54000000,       276,    48,     19,     2,      252,    3,              0,                      1,              25      },
+{      "2880x288p@50Hz",       50,             2880,   480,    54000000,       276,    48,     19,     3,      252,    3,              0,                      0,              27      },
+{      "1440x576p@50Hz",       50,             2880,   480,    54000000,       136,    24,     39,     5,      128,    5,              0,                      0,              29      },
+{      "2880x576p@50Hz",       50,             1920,   1080,   108000000,      272,    48,     39,     5,      256,    5,              0,                      0,              37      },
+{      "1440x240p@60Hz",       60,             1440,   240,    27000000,       114,    38,     15,     4,      124,    3,              0,                      0,              8       },
+{      "2880x480i@60Hz",       60,             2880,   480,    54000000,       228,    76,     15,     4,      248,    3,              0,                      1,              10      },
+{      "2880x480p@60Hz",       60,             2880,   480,    54000000,       228,    76,     15,     4,      248,    3,              0,                      0,              12      },
+{      "1440x480p@60Hz",       60,             1440,   480,    54000000,       120,    32,     30,     9,      124,    6,              0,                      0,              14      },
+{      "2880x480p@60Hz",       60,             2880,   480,    54000000,       240,    64,     30,     9,      248,    6,              0,                      0,              35      },
 
-{      "1920x1080i@100Hz",     100,            1920,   1080,   148500000,      148,    528,    15,             2,              44,             5,              1,                      1,              40      },
-{      "1280x720p@100Hz",      100,            1280,   720,    148500000,      220,    440,    20,             5,              40,             5,              1,                      0,              41      },
-{      "720x576p@100Hz",       100,            720,    576,    54000000,       68,             12,             39,             5,              64,             5,              0,                      0,              42      },
-{      "1440x576i@100Hz",      100,            1440,   576,    54000000,       138,    24,             19,             2,              12,             3,              0,                      1,              44      },
-{      "1920x1080p@100Hz",     100,            1920,   1080,   297000000,      148,    528,    36,             4,              44,             5,              1,                      0,              64      },
+{      "1920x1080i@100Hz",     100,            1920,   1080,   148500000,      148,    528,    15,     2,      44,     5,              1,                      1,              40      },
+{      "1280x720p@100Hz",      100,            1280,   720,    148500000,      220,    440,    20,     5,      40,     5,              1,                      0,              41      },
+{      "720x576p@100Hz",       100,            720,    576,    54000000,       68,             12,     39,     5,      64,             5,              0,                      0,              42      },
+{      "1440x576i@100Hz",      100,            1440,   576,    54000000,       138,    24,     19,     2,      12,     3,              0,                      1,              44      },
+{      "1920x1080p@100Hz",     100,            1920,   1080,   297000000,      148,    528,    36,     4,      44,     5,              1,                      0,              64      },
 
-{      "1920x1080i@120Hz",     120,            1920,   1080,   148500000,      148,    88,             15,             2,              44,             5,              1,                      1,              46      },
-{      "1280x720p@120Hz",      120,            1280,   720,    148500000,      220,    110,    20,             5,              40,             5,              1,                      0,              47      },
-{      "720x480p@120Hz",       120,            720,    480,    54000000,       60,             16,             30,             9,              62,             6,              0,                      0,              48      },
-{      "1440x480i@120Hz",      120,            1440,   480,    54000000,       114,    38,             15,             4,              12,             3,              0,                      1,              50      },
-{      "1920x1080p@120Hz",     120,            1920,   1080,   297000000,      148,    88,             36,             4,              44,             5,              1,                      0,              63      },
+{      "1920x1080i@120Hz",     120,            1920,   1080,   148500000,      148,    88,     15,     2,      44,     5,              1,                      1,              46      },
+{      "1280x720p@120Hz",      120,            1280,   720,    148500000,      220,    110,    20,     5,      40,     5,              1,                      0,              47      },
+{      "720x480p@120Hz",       120,            720,    480,    54000000,       60,             16,     30,     9,      62,             6,              0,                      0,              48      },
+{      "1440x480i@120Hz",      120,            1440,   480,    54000000,       114,    38,     15,     4,      12,     3,              0,                      1,              50      },
+{      "1920x1080p@120Hz",     120,            1920,   1080,   297000000,      148,    88,     36,     4,      44,     5,              1,                      0,              63      },
 
-{      "720x576p@200Hz",       200,            720,    576,    108000000,      68,             12,             39,             5,              64,             5,              0,                      0,              52      },
-{      "1440x576i@200Hz",      200,            1920,   1080,   108000000,      138,    24,             19,             2,              12,             3,              0,                      1,              54      },
+{      "720x576p@200Hz",       200,            720,    576,    108000000,      68,     12,     39,     5,      64,     5,              0,                      0,              52      },
+{      "1440x576i@200Hz",      200,            1920,   1080,   108000000,      138,    24,     19,     2,      12,     3,              0,                      1,              54      },
 
-{      "720x480p@240Hz",       240,            720,    480,    108000000,      60,             16,             30,             9,              62,             6,              0,                      0,              56      },
-{      "1440x480i@240Hz",      240,            1440,   480,    108000000,      114,    38,             15,             4,              12,             3,              0,                      1,              58      },
+{      "720x480p@240Hz",       240,            720,    480,    108000000,      60,     16,     30,     9,      62,     6,              0,                      0,              56      },
+{      "1440x480i@240Hz",      240,            1440,   480,    108000000,      114,    38,     15,     4,      12,     3,              0,                      1,              58      },
 */
 
 };
@@ -96,6 +96,7 @@ int hdmi_set_info(struct rk29fb_screen *screen, unsigned int vic)
     
     /* Timing */
     screen->pixclock = hdmi_mode[i].pixclock;
+    screen->fps = hdmi_mode[i].refresh;
        screen->lcdc_aclk = LCD_ACLK;
        screen->left_margin = hdmi_mode[i].left_margin;
        screen->right_margin = hdmi_mode[i].right_margin;
index 8e45f9284f44d608df01efdb6db12b917daad641..bafc21a269b5287a19ec2a9189bb497bc2b1ec52 100644 (file)
@@ -123,6 +123,7 @@ typedef struct rk29fb_screen {
        u32 mode;
        /* Timing */
        u32 pixclock;
+       u32 fps;
        u16 left_margin;
        u16 right_margin;
        u16 hsync_len;