drm/sun4i: Add A83T support
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Thu, 21 Dec 2017 11:02:34 +0000 (12:02 +0100)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Thu, 4 Jan 2018 19:37:59 +0000 (20:37 +0100)
Add support for the A83T display pipeline.

Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Link: https://patchwork.freedesktop.org/patch/msgid/614b430adf3a67320362a75c01b01bd53013da8a.1513854122.git-series.maxime.ripard@free-electrons.com
drivers/gpu/drm/sun4i/sun4i_drv.c
drivers/gpu/drm/sun4i/sun4i_tcon.c
drivers/gpu/drm/sun4i/sun8i_mixer.c

index 2b47176..4570da0 100644 (file)
@@ -339,6 +339,7 @@ static const struct of_device_id sun4i_drv_of_table[] = {
        { .compatible = "allwinner,sun6i-a31s-display-engine" },
        { .compatible = "allwinner,sun7i-a20-display-engine" },
        { .compatible = "allwinner,sun8i-a33-display-engine" },
+       { .compatible = "allwinner,sun8i-a83t-display-engine" },
        { .compatible = "allwinner,sun8i-v3s-display-engine" },
        { }
 };
index 65c18f6..a897f82 100644 (file)
@@ -1133,6 +1133,10 @@ static const struct sun4i_tcon_quirks sun8i_a33_quirks = {
        .has_lvds_alt           = true,
 };
 
+static const struct sun4i_tcon_quirks sun8i_a83t_lcd_quirks = {
+       /* nothing is supported */
+};
+
 static const struct sun4i_tcon_quirks sun8i_v3s_quirks = {
        /* nothing is supported */
 };
@@ -1145,6 +1149,7 @@ const struct of_device_id sun4i_tcon_of_table[] = {
        { .compatible = "allwinner,sun6i-a31s-tcon", .data = &sun6i_a31s_quirks },
        { .compatible = "allwinner,sun7i-a20-tcon", .data = &sun7i_a20_quirks },
        { .compatible = "allwinner,sun8i-a33-tcon", .data = &sun8i_a33_quirks },
+       { .compatible = "allwinner,sun8i-a83t-tcon-lcd", .data = &sun8i_a83t_lcd_quirks },
        { .compatible = "allwinner,sun8i-v3s-tcon", .data = &sun8i_v3s_quirks },
        { }
 };
index 3a610a8..2cbb2de 100644 (file)
@@ -478,6 +478,13 @@ static int sun8i_mixer_remove(struct platform_device *pdev)
        return 0;
 }
 
+static const struct sun8i_mixer_cfg sun8i_a83t_mixer0_cfg = {
+       .ccsc           = 0,
+       .scaler_mask    = 0xf,
+       .ui_num         = 3,
+       .vi_num         = 1,
+};
+
 static const struct sun8i_mixer_cfg sun8i_v3s_mixer_cfg = {
        .vi_num = 2,
        .ui_num = 1,
@@ -488,6 +495,10 @@ static const struct sun8i_mixer_cfg sun8i_v3s_mixer_cfg = {
 
 static const struct of_device_id sun8i_mixer_of_table[] = {
        {
+               .compatible = "allwinner,sun8i-a83t-de2-mixer-0",
+               .data = &sun8i_a83t_mixer0_cfg,
+       },
+       {
                .compatible = "allwinner,sun8i-v3s-de2-mixer",
                .data = &sun8i_v3s_mixer_cfg,
        },