D1 has a display engine with the usual pair of mixers, albeit with
relatively few layers. In fact, D1 appears to be the first SoC to have
a mixer without any UI layers. Add support for these new variants.

Signed-off-by: Samuel Holland <sam...@sholland.org>
---

 drivers/gpu/drm/sun4i/sun8i_mixer.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c 
b/drivers/gpu/drm/sun4i/sun8i_mixer.c
index f5e8aeaa3cdf..49c0d17c6f0a 100644
--- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
@@ -585,6 +585,24 @@ static const struct sun8i_mixer_cfg sun8i_v3s_mixer_cfg = {
        .mod_rate = 150000000,
 };
 
+static const struct sun8i_mixer_cfg sun20i_d1_mixer0_cfg = {
+       .ccsc           = 2,
+       .mod_rate       = 297000000,
+       .scaler_mask    = 0x3,
+       .scanline_yuv   = 2048,
+       .ui_num         = 1,
+       .vi_num         = 1,
+};
+
+static const struct sun8i_mixer_cfg sun20i_d1_mixer1_cfg = {
+       .ccsc           = 1,
+       .mod_rate       = 297000000,
+       .scaler_mask    = 0x1,
+       .scanline_yuv   = 1024,
+       .ui_num         = 0,
+       .vi_num         = 1,
+};
+
 static const struct sun8i_mixer_cfg sun50i_a64_mixer0_cfg = {
        .ccsc           = 0,
        .mod_rate       = 297000000,
@@ -638,6 +656,14 @@ static const struct of_device_id sun8i_mixer_of_table[] = {
                .compatible = "allwinner,sun8i-v3s-de2-mixer",
                .data = &sun8i_v3s_mixer_cfg,
        },
+       {
+               .compatible = "allwinner,sun20i-d1-de2-mixer-0",
+               .data = &sun20i_d1_mixer0_cfg,
+       },
+       {
+               .compatible = "allwinner,sun20i-d1-de2-mixer-1",
+               .data = &sun20i_d1_mixer1_cfg,
+       },
        {
                .compatible = "allwinner,sun50i-a64-de2-mixer-0",
                .data = &sun50i_a64_mixer0_cfg,
-- 
2.35.1

Reply via email to