Add support for the Solomon Goldentek Display Model: GKTW70SDAD1SD
to panel-simple.

The panel spec from Variscite can be found at:
https://www.variscite.com/wp-content/uploads/2017/12/VLCD-CAP-GLD-RGB.pdf

Signed-off-by: Oliver Graute <oliver.gra...@gmail.com>
Cc: Marco Felsch <m.fel...@pengutronix.de>
Cc: Fabio Estevam <feste...@gmail.com>
---

v3:

- added flags
- added delay

v2:

- changed bpc to 6
- set max value of pixelclock
- increased hfront_porch and hback_porch
- dropped connector-type

adding of bus_format = MEDIA_BUS_FMT_RGB666_1X18 results in wrong colors.
omitting bus_format and using some default is better (Tux Pinguin is colored
fine)

 drivers/gpu/drm/panel/panel-simple.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-simple.c 
b/drivers/gpu/drm/panel/panel-simple.c
index 2be358f..c63f6a8 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -3336,6 +3336,36 @@ static const struct panel_desc satoz_sat050at40h12r2 = {
        .connector_type = DRM_MODE_CONNECTOR_LVDS,
 };
 
+static const struct display_timing sgd_gktw70sdad1sd_timing = {
+       .pixelclock = {30000000, 30000000, 40000000},
+       .hactive = { 800, 800, 800},
+       .hfront_porch = {40, 40, 40},
+       .hback_porch = {40, 40, 40},
+       .hsync_len = {48, 48, 48},
+       .vactive = {480, 480, 480},
+       .vfront_porch = {13, 13, 13},
+       .vback_porch = {29, 29, 29},
+       .vsync_len = {3, 3, 3},
+       .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+                       DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
+};
+
+static const struct panel_desc sgd_gktw70sdad1sd = {
+       .timings = &sgd_gktw70sdad1sd_timing,
+       .num_timings = 1,
+       .bpc = 6,
+       .size = {
+               .width = 153,
+               .height = 86,
+       },
+       .delay = {
+               .prepare = 20 + 20 + 10 + 10,
+               .enable = 50,
+               .disable = 50,
+               .unprepare =  10 + 10 + 20 + 20,
+       },
+};
+
 static const struct drm_display_mode sharp_ld_d5116z01b_mode = {
        .clock = 168480,
        .hdisplay = 1920,
@@ -4222,6 +4252,9 @@ static const struct of_device_id platform_of_match[] = {
                .compatible = "satoz,sat050at40h12r2",
                .data = &satoz_sat050at40h12r2,
        }, {
+               .compatible = "sgd,gktw70sdad1sd",
+               .data = &sgd_gktw70sdad1sd,
+       }, {
                .compatible = "sharp,ld-d5116z01b",
                .data = &sharp_ld_d5116z01b,
        }, {
-- 
2.7.4

Reply via email to