FROMLIST: drm/rockchip: dw_hdmi: Use auto-generated tables
authorDouglas Anderson <dianders@chromium.org>
Tue, 14 Jul 2015 21:13:00 +0000 (14:13 -0700)
committerHuang, Tao <huangtao@rock-chips.com>
Thu, 14 Jul 2016 06:02:12 +0000 (14:02 +0800)
The previous tables for mpll_cfg and curr_ctrl were created using the
20-pages of example settings provided by the PHY vendor.  Those
example settings weren't particularly dense, so there were places
where we were guessing what the settings would be for 10-bit and
12-bit (not that we use those anyway).  It was also always a lot of
extra work every time we wanted to add a new clock rate since we had
to cross-reference several tables.

In <http://crosreview.com/285855> I've gone through the work to figure
out how to generate this table automatically.  Let's now use the
automatically generated table and then we'll never need to look at it
again.

We only support 8-bit mode right now and only support a small number
of clock rates and and I've verified that the only 8-bit rate that was
affected was 148.5.  That mode appears to have been wrong in the old
table.

Change-Id: I42b260300880f2bab6732c5ee3b11bc78e87500c
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
(am from https://patchwork.kernel.org/patch/9223325)

drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c

index cdb63ac61595d3c72696684dc1d7f0355cca5e32..8cb9ed284883e7476e80950c2f0bdaedc0ca8f56 100644 (file)
@@ -34,80 +34,88 @@ struct rockchip_hdmi {
 
 static const struct dw_hdmi_mpll_config rockchip_mpll_cfg[] = {
        {
-               27000000, {
-                       { 0x00b3, 0x0000},
-                       { 0x2153, 0x0000},
-                       { 0x40f3, 0x0000}
+               30666000, {
+                       { 0x00b3, 0x0000 },
+                       { 0x2153, 0x0000 },
+                       { 0x40f3, 0x0000 },
                },
-       }, {
-               36000000, {
-                       { 0x00b3, 0x0000},
-                       { 0x2153, 0x0000},
-                       { 0x40f3, 0x0000}
+       },  {
+               36800000, {
+                       { 0x00b3, 0x0000 },
+                       { 0x2153, 0x0000 },
+                       { 0x40a2, 0x0001 },
                },
-       }, {
-               40000000, {
-                       { 0x00b3, 0x0000},
-                       { 0x2153, 0x0000},
-                       { 0x40f3, 0x0000}
+       },  {
+               46000000, {
+                       { 0x00b3, 0x0000 },
+                       { 0x2142, 0x0001 },
+                       { 0x40a2, 0x0001 },
                },
-       }, {
-               54000000, {
-                       { 0x0072, 0x0001},
-                       { 0x2142, 0x0001},
-                       { 0x40a2, 0x0001},
+       },  {
+               61333000, {
+                       { 0x0072, 0x0001 },
+                       { 0x2142, 0x0001 },
+                       { 0x40a2, 0x0001 },
                },
-       }, {
-               65000000, {
-                       { 0x0072, 0x0001},
-                       { 0x2142, 0x0001},
-                       { 0x40a2, 0x0001},
+       },  {
+               73600000, {
+                       { 0x0072, 0x0001 },
+                       { 0x2142, 0x0001 },
+                       { 0x4061, 0x0002 },
                },
-       }, {
-               66000000, {
-                       { 0x013e, 0x0003},
-                       { 0x217e, 0x0002},
-                       { 0x4061, 0x0002}
+       },  {
+               92000000, {
+                       { 0x0072, 0x0001 },
+                       { 0x2145, 0x0002 },
+                       { 0x4061, 0x0002 },
+               },
+       },  {
+               122666000, {
+                       { 0x0051, 0x0002 },
+                       { 0x2145, 0x0002 },
+                       { 0x4061, 0x0002 },
                },
-       }, {
-               74250000, {
-                       { 0x0072, 0x0001},
-                       { 0x2145, 0x0002},
-                       { 0x4061, 0x0002}
+       },  {
+               147200000, {
+                       { 0x0051, 0x0002 },
+                       { 0x2145, 0x0002 },
+                       { 0x4064, 0x0003 },
                },
-       }, {
-               83500000, {
-                       { 0x0072, 0x0001},
+       },  {
+               184000000, {
+                       { 0x0051, 0x0002 },
+                       { 0x214c, 0x0003 },
+                       { 0x4064, 0x0003 },
                },
-       }, {
-               108000000, {
-                       { 0x0051, 0x0002},
-                       { 0x2145, 0x0002},
-                       { 0x4061, 0x0002}
+       },  {
+               226666000, {
+                       { 0x0040, 0x0003 },
+                       { 0x214c, 0x0003 },
+                       { 0x4064, 0x0003 },
                },
-       }, {
-               106500000, {
-                       { 0x0051, 0x0002},
-                       { 0x2145, 0x0002},
-                       { 0x4061, 0x0002}
+       },  {
+               272000000, {
+                       { 0x0040, 0x0003 },
+                       { 0x214c, 0x0003 },
+                       { 0x5a64, 0x0003 },
                },
-       }, {
-               146250000, {
-                       { 0x0051, 0x0002},
-                       { 0x2145, 0x0002},
-                       { 0x4061, 0x0002}
+       },  {
+               340000000, {
+                       { 0x0040, 0x0003 },
+                       { 0x3b4c, 0x0003 },
+                       { 0x5a64, 0x0003 },
                },
-       }, {
-               148500000, {
-                       { 0x0051, 0x0003},
-                       { 0x214c, 0x0003},
-                       { 0x4064, 0x0003}
+       },  {
+               600000000, {
+                       { 0x1a40, 0x0003 },
+                       { 0x3b4c, 0x0003 },
+                       { 0x5a64, 0x0003 },
                },
-       }, {
+       },  {
                ~0UL, {
-                       { 0x00a0, 0x000a },
-                       { 0x2001, 0x000f },
-                       { 0x4002, 0x000f },
+                       { 0x0000, 0x0000 },
+                       { 0x0000, 0x0000 },
+                       { 0x0000, 0x0000 },
                },
        }
 };