Add DataImage FG080016DNCWAG03 8" 640x480 TFT LCD panel support.
Signed-off-by: Jonas Rebmann <jre@pengutronix.de>
---
drivers/gpu/drm/panel/panel-simple.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 222c170dde8be261e98ff41168ef8a3a42c167c8..14d4cf235036cfd662bf16cb794ea2454d6fd2b2 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1734,6 +1734,31 @@ static const struct panel_desc dataimage_fg040346dsswbg04 = {
.connector_type = DRM_MODE_CONNECTOR_DPI,
};
+static const struct display_timing dataimage_fg080016dncwag03_timing = {
+ .pixelclock = { 24000000, 25000000, 32500000 },
+ .hactive = { 640, 640, 640 },
+ .hfront_porch = { 64, 70, 115 },
+ .hback_porch = { 64, 70, 115 },
+ .hsync_len = { 20, 20, 20 },
+ .vactive = { 480, 480, 480 },
+ .vfront_porch = { 8, 12, 30 },
+ .vback_porch = { 8, 13, 31 },
+ .vsync_len = { 20, 20, 20 },
+};
+
+static const struct panel_desc dataimage_fg080016dncwag03 = {
+ .timings = &dataimage_fg080016dncwag03_timing,
+ .num_timings = 1,
+ .bpc = 6,
+ .size = {
+ .width = 217,
+ .height = 136,
+ },
+ .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
+ .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
+ .connector_type = DRM_MODE_CONNECTOR_DPI,
+};
+
static const struct display_timing dataimage_fg1001l0dsswmg01_timing = {
.pixelclock = { 68900000, 71110000, 73400000 },
.hactive = { 1280, 1280, 1280 },
@@ -4731,6 +4756,9 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "dataimage,fg040346dsswbg04",
.data = &dataimage_fg040346dsswbg04,
+ }, {
+ .compatible = "dataimage,fg080016dncwag03",
+ .data = &dataimage_fg080016dncwag03,
}, {
.compatible = "dataimage,fg1001l0dsswmg01",
.data = &dataimage_fg1001l0dsswmg01,
--
2.39.5
On 09/01/2025 12:34, Jonas Rebmann wrote:
> Add DataImage FG080016DNCWAG03 8" 640x480 TFT LCD panel support.
>
> Signed-off-by: Jonas Rebmann <jre@pengutronix.de>
> ---
> drivers/gpu/drm/panel/panel-simple.c | 28 ++++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 222c170dde8be261e98ff41168ef8a3a42c167c8..14d4cf235036cfd662bf16cb794ea2454d6fd2b2 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -1734,6 +1734,31 @@ static const struct panel_desc dataimage_fg040346dsswbg04 = {
> .connector_type = DRM_MODE_CONNECTOR_DPI,
> };
>
> +static const struct display_timing dataimage_fg080016dncwag03_timing = {
> + .pixelclock = { 24000000, 25000000, 32500000 },
> + .hactive = { 640, 640, 640 },
> + .hfront_porch = { 64, 70, 115 },
> + .hback_porch = { 64, 70, 115 },
> + .hsync_len = { 20, 20, 20 },
> + .vactive = { 480, 480, 480 },
> + .vfront_porch = { 8, 12, 30 },
> + .vback_porch = { 8, 13, 31 },
> + .vsync_len = { 20, 20, 20 },
> +};
> +
> +static const struct panel_desc dataimage_fg080016dncwag03 = {
> + .timings = &dataimage_fg080016dncwag03_timing,
> + .num_timings = 1,
> + .bpc = 6,
> + .size = {
> + .width = 217,
> + .height = 136,
> + },
> + .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
> + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
> + .connector_type = DRM_MODE_CONNECTOR_DPI,
> +};
> +
> static const struct display_timing dataimage_fg1001l0dsswmg01_timing = {
> .pixelclock = { 68900000, 71110000, 73400000 },
> .hactive = { 1280, 1280, 1280 },
> @@ -4731,6 +4756,9 @@ static const struct of_device_id platform_of_match[] = {
> }, {
> .compatible = "dataimage,fg040346dsswbg04",
> .data = &dataimage_fg040346dsswbg04,
> + }, {
> + .compatible = "dataimage,fg080016dncwag03",
> + .data = &dataimage_fg080016dncwag03,
> }, {
> .compatible = "dataimage,fg1001l0dsswmg01",
> .data = &dataimage_fg1001l0dsswmg01,
>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
© 2016 - 2026 Red Hat, Inc.