diff mbox series

[3/3] drm/panel: simple: Add support for the Frida FRD350H54004 panel

Message ID 20191120171027.1102250-3-paul@crapouillou.net (mailing list archive)
State New, archived
Headers show
Series [1/3] dt-bindings: vendor-prefixes: Add Shenzhen Frida LCD Co., Ltd. | expand

Commit Message

Paul Cercueil Nov. 20, 2019, 5:10 p.m. UTC
The FRD350H54004 is a simple 3.5" 320x240 24-bit TFT panel, found for
instance inside the Anbernic RG-350 handheld gaming console.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---
 drivers/gpu/drm/panel/panel-simple.c | 29 ++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

Comments

Sam Ravnborg Nov. 23, 2019, 3:29 p.m. UTC | #1
Hi Paul.

On Wed, Nov 20, 2019 at 06:10:27PM +0100, Paul Cercueil wrote:
> The FRD350H54004 is a simple 3.5" 320x240 24-bit TFT panel, found for
> instance inside the Anbernic RG-350 handheld gaming console.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 29 ++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 28fa6ba7b767..8c03f7fe461c 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -1378,6 +1378,32 @@ static const struct panel_desc evervision_vgg804821 = {
>  	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_NEGEDGE,
>  };
>  
> +static const struct drm_display_mode frida_frd350h54004_mode = {
> +	.clock = 6777,
> +	.hdisplay = 320,
> +	.hsync_start = 320 + 70,
> +	.hsync_end = 320 + 70 + 50,
> +	.htotal = 320 + 70 + 50 + 10,
> +	.vdisplay = 240,
> +	.vsync_start = 240 + 5,
> +	.vsync_end = 240 + 5 + 1,
> +	.vtotal = 240 + 5 + 1 + 5,
> +	.vrefresh = 60,
> +	.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> +};
> +
> +static const struct panel_desc frida_frd350h54004 = {
> +	.modes = &frida_frd350h54004_mode,
> +	.num_modes = 1,
> +	.bpc = 8,
> +	.size = {
> +		.width = 77,
> +		.height = 64,
> +	},
> +	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
> +	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_POSEDGE,
> +};
> +
>  static const struct drm_display_mode foxlink_fl500wvr00_a0t_mode = {
>  	.clock = 32260,
>  	.hdisplay = 800,
> @@ -3186,6 +3212,9 @@ static const struct of_device_id platform_of_match[] = {
>  	}, {
>  		.compatible = "evervision,vgg804821",
>  		.data = &evervision_vgg804821,
> +	}, {
> +		.compatible = "frida,frd350h54004",
> +		.data = &frida_frd350h54004,
>  	}, {
>  		.compatible = "foxlink,fl500wvr00-a0t",
>  		.data = &foxlink_fl500wvr00_a0t,

In alphabetic order. frida comes after fox.

	Sam
Sam Ravnborg Nov. 30, 2019, 6:37 p.m. UTC | #2
Hi Paul.

I am not sure if I already wrote this...

On Wed, Nov 20, 2019 at 06:10:27PM +0100, Paul Cercueil wrote:
> The FRD350H54004 is a simple 3.5" 320x240 24-bit TFT panel, found for
> instance inside the Anbernic RG-350 handheld gaming console.
> 
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 29 ++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 28fa6ba7b767..8c03f7fe461c 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -1378,6 +1378,32 @@ static const struct panel_desc evervision_vgg804821 = {
>  	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_NEGEDGE,
>  };
>  
> +static const struct drm_display_mode frida_frd350h54004_mode = {
> +	.clock = 6777,
> +	.hdisplay = 320,
> +	.hsync_start = 320 + 70,
> +	.hsync_end = 320 + 70 + 50,
> +	.htotal = 320 + 70 + 50 + 10,
> +	.vdisplay = 240,
> +	.vsync_start = 240 + 5,
> +	.vsync_end = 240 + 5 + 1,
> +	.vtotal = 240 + 5 + 1 + 5,
> +	.vrefresh = 60,
> +	.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> +};
> +
> +static const struct panel_desc frida_frd350h54004 = {
> +	.modes = &frida_frd350h54004_mode,
> +	.num_modes = 1,
> +	.bpc = 8,
> +	.size = {
> +		.width = 77,
> +		.height = 64,
> +	},
> +	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
> +	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_POSEDGE,
> +};
> +
>  static const struct drm_display_mode foxlink_fl500wvr00_a0t_mode = {
>  	.clock = 32260,
>  	.hdisplay = 800,

In alphabetic order. frida comes after foxlink.

> @@ -3186,6 +3212,9 @@ static const struct of_device_id platform_of_match[] = {
>  	}, {
>  		.compatible = "evervision,vgg804821",
>  		.data = &evervision_vgg804821,
> +	}, {
> +		.compatible = "frida,frd350h54004",
> +		.data = &frida_frd350h54004,
>  	}, {
>  		.compatible = "foxlink,fl500wvr00-a0t",
>  		.data = &foxlink_fl500wvr00_a0t,
In alphabetic order. frida comes after foxlink.

	Sam
diff mbox series

Patch

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 28fa6ba7b767..8c03f7fe461c 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1378,6 +1378,32 @@  static const struct panel_desc evervision_vgg804821 = {
 	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_NEGEDGE,
 };
 
+static const struct drm_display_mode frida_frd350h54004_mode = {
+	.clock = 6777,
+	.hdisplay = 320,
+	.hsync_start = 320 + 70,
+	.hsync_end = 320 + 70 + 50,
+	.htotal = 320 + 70 + 50 + 10,
+	.vdisplay = 240,
+	.vsync_start = 240 + 5,
+	.vsync_end = 240 + 5 + 1,
+	.vtotal = 240 + 5 + 1 + 5,
+	.vrefresh = 60,
+	.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
+};
+
+static const struct panel_desc frida_frd350h54004 = {
+	.modes = &frida_frd350h54004_mode,
+	.num_modes = 1,
+	.bpc = 8,
+	.size = {
+		.width = 77,
+		.height = 64,
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
+	.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_POSEDGE,
+};
+
 static const struct drm_display_mode foxlink_fl500wvr00_a0t_mode = {
 	.clock = 32260,
 	.hdisplay = 800,
@@ -3186,6 +3212,9 @@  static const struct of_device_id platform_of_match[] = {
 	}, {
 		.compatible = "evervision,vgg804821",
 		.data = &evervision_vgg804821,
+	}, {
+		.compatible = "frida,frd350h54004",
+		.data = &frida_frd350h54004,
 	}, {
 		.compatible = "foxlink,fl500wvr00-a0t",
 		.data = &foxlink_fl500wvr00_a0t,