]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
drm: xilinx: sdi: omnitek box modes
authorSaurabh Sengar <saurabh.singh@xilinx.com>
Mon, 16 Oct 2017 13:02:33 +0000 (18:32 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Tue, 17 Oct 2017 10:57:49 +0000 (12:57 +0200)
Tested with new sdi compliance Omnitek box.
Based on this box modifying SDI DRM_MODE table.
Adding the support for below new modes:
- 1920x1080i@48
- 2048x1080i@48
- 2048x1080i@50
- 2048x1080i@60
- 1920x1080@48
- 3840x2160@48
Correcting 3 other resolutions value as well observed
while testing.
- 1920x1080i@50
- 4096x2160@48Hz
- 1920x1080i@96Hz

Signed-off-by: Saurabh Sengar <saurabhs@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/gpu/drm/xilinx/xilinx_drm_sdi.c

index 9e0c80578e73b0139f12e19e6169e961e36f311c..a07df2eb48aac80685411dbc3319a44eaae5a6dd 100644 (file)
@@ -284,12 +284,19 @@ static const struct xlnx_sdi_display_config xlnx_sdi_modes[] = {
                   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
                   .vrefresh = 30, }, {0x7, 0x6},
                   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
+       /* HD: 1920x1080i@48Hz */
+       {{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2291,
+                  2379, 2750, 0, 540, 542, 547, 562, 0,
+                  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
+                  DRM_MODE_FLAG_INTERLACE),
+                  .vrefresh = 48, }, {0x3, 0x2},
+                  {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
        /* HD: 1920x1080i@50Hz */
        {{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2448,
                   2492, 2640, 0, 540, 542, 547, 562, 0,
                   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
                   DRM_MODE_FLAG_INTERLACE),
-                  .vrefresh = 50, }, {0x9, 0x9},
+                  .vrefresh = 50, }, {0x5, 0x5},
                   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
        /* HD: 1920x1080i@60Hz */
        {{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2008,
@@ -298,6 +305,27 @@ static const struct xlnx_sdi_display_config xlnx_sdi_modes[] = {
                   DRM_MODE_FLAG_INTERLACE),
                   .vrefresh = 60, }, {0x7, 0x6},
                   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
+       /* HD: 2048x1080i@48Hz */
+       {{ DRM_MODE("2048x1080i", DRM_MODE_TYPE_DRIVER, 74250, 2048, 2377,
+                  2421, 2750, 0, 540, 542, 547, 562, 0,
+                  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
+                  DRM_MODE_FLAG_INTERLACE),
+                  .vrefresh = 48, }, {0x3, 0x2},
+                  {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
+       /* HD: 2048x1080i@50Hz */
+       {{ DRM_MODE("2048x1080i", DRM_MODE_TYPE_DRIVER, 74250, 2048, 2322,
+                  2366, 2640, 0, 540, 542, 547, 562, 0,
+                  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
+                  DRM_MODE_FLAG_INTERLACE),
+                  .vrefresh = 50, }, {0x5, 0x5},
+                  {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
+       /* HD: 2048x1080i@60Hz */
+       {{ DRM_MODE("2048x1080i", DRM_MODE_TYPE_DRIVER, 74250, 2048, 2114,
+                  2134, 2200, 0, 540, 542, 547, 562, 0,
+                  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
+                  DRM_MODE_FLAG_INTERLACE),
+                  .vrefresh = 60, }, {0x7, 0x6},
+                  {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
        /* HD: 2048x1080@30Hz */
        {{ DRM_MODE("2048x1080", DRM_MODE_TYPE_DRIVER, 74250, 2048, 2114,
                   2134, 2200, 0, 1080, 1084, 1089, 1125, 0,
@@ -316,6 +344,12 @@ static const struct xlnx_sdi_display_config xlnx_sdi_modes[] = {
                   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
                   .vrefresh = 24, }, {0x3, 0x2},
                   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
+       /* 3G: 1920x1080@48Hz */
+       {{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2558,
+                  2602, 2750, 0, 1080, 1084, 1089, 1125, 0,
+                  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+                  .vrefresh = 48, }, {0x8, 0x4},
+                  {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
        /* 3G: 1920x1080@50Hz */
        {{ DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2448,
                   2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
@@ -348,7 +382,7 @@ static const struct xlnx_sdi_display_config xlnx_sdi_modes[] = {
                   {0x85, 0x85, 0x89, 0x8A, 0xC1, 0xC1} },
        /* 3G-B: 1920x1080i@96Hz */
        {{ DRM_MODE("1920x1080i", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2291,
-                  2383, 2754, 0, 1080, 1084, 1094, 1124, 0,
+                  2379, 2750, 0, 1080, 1084, 1094, 1124, 0,
                   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC |
                   DRM_MODE_FLAG_INTERLACE),
                   .vrefresh = 96, }, {0x8, 0x4},
@@ -424,6 +458,12 @@ static const struct xlnx_sdi_display_config xlnx_sdi_modes[] = {
                   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
                   .vrefresh = 30, }, {0x7, 0x6},
                   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
+       /* 12G: 3840x2160@48Hz */
+       {{ DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000, 3840, 5116,
+                  5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
+                  DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
+                  .vrefresh = 48, }, {0x8, 0x4},
+                  {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
        /* 12G: 3840x2160@50Hz */
        {{ DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000, 3840, 4896,
                   4984, 5280, 0, 2160, 2168, 2178, 2250, 0,
@@ -438,7 +478,7 @@ static const struct xlnx_sdi_display_config xlnx_sdi_modes[] = {
                   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },
        /* 12G: 4096x2160@48Hz */
        {{ DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 594000, 4096, 5116,
-                  5204, 5500, 0, 1080, 1084, 1089, 1125, 0,
+                  5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
                   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
                   .vrefresh = 48, }, {0x8, 0x4},
                   {0x98, 0x98, 0x97, 0x98, 0xC0, 0xCE} },