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.graute@gmail.com Cc: Marco Felsch m.felsch@pengutronix.de Cc: Fabio Estevam festevam@gmail.com ---
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 good (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..c129a8c 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -3336,6 +3336,28 @@ 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}, +}; + +static const struct panel_desc sgd_gktw70sdad1sd = { + .timings = &sgd_gktw70sdad1sd_timing, + .num_timings = 1, + .bpc = 6, + .size = { + .width = 153, + .height = 86, + }, +}; + static const struct drm_display_mode sharp_ld_d5116z01b_mode = { .clock = 168480, .hdisplay = 1920, @@ -4222,6 +4244,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, }, {
Hi Oliver,
thanks for the patch :)
On 21-01-29 20:09, Oliver Graute wrote:
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.graute@gmail.com Cc: Marco Felsch m.felsch@pengutronix.de Cc: Fabio Estevam festevam@gmail.com
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 good (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..c129a8c 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -3336,6 +3336,28 @@ 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},
Please add also:
.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,
- },
and:
.delay = { .prepare = 20 + 20 + 10 + 10, /* T0 + T2 + T3 + T4 */ .enable = 50, /* T5 */ .disable = 50, /* T5 */ .unprepare = 10 + 10 + 20 + 20, /* T4 + T3 + T2 + T0 */ };
Regards, Marco
+};
static const struct drm_display_mode sharp_ld_d5116z01b_mode = { .clock = 168480, .hdisplay = 1920, @@ -4222,6 +4244,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
On 01/02/21, Marco Felsch wrote:
Hi Oliver,
thanks for the patch :)
On 21-01-29 20:09, Oliver Graute wrote:
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.graute@gmail.com Cc: Marco Felsch m.felsch@pengutronix.de Cc: Fabio Estevam festevam@gmail.com
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 good (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..c129a8c 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -3336,6 +3336,28 @@ 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},
Please add also:
.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
ok will do
+};
+static const struct panel_desc sgd_gktw70sdad1sd = {
- .timings = &sgd_gktw70sdad1sd_timing,
- .num_timings = 1,
- .bpc = 6,
- .size = {
.width = 153,
.height = 86,
- },
and:
.delay = { .prepare = 20 + 20 + 10 + 10, /* T0 + T2 + T3 + T4 */ .enable = 50, /* T5 */ .disable = 50, /* T5 */ .unprepare = 10 + 10 + 20 + 20, /* T4 + T3 + T2 + T0 */ };
ok will do
thx for your review.
Best regards,
Oliver
dri-devel@lists.freedesktop.org