diff mbox series

[2/2] drm/panel: simple: Add Satoz SAT050AT40H12R2 panel support

Message ID 20191213182325.27030-2-miquel.raynal@bootlin.com (mailing list archive)
State New, archived
Headers show
Series [1/2] dt-bindings: Add vendor prefix for Satoz | expand

Commit Message

Miquel Raynal Dec. 13, 2019, 6:23 p.m. UTC
Add support for the Satoz SAT050AT40H12R2 RGB panel.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
---
 drivers/gpu/drm/panel/panel-simple.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

Comments

Miquel Raynal Dec. 16, 2019, 10:47 a.m. UTC | #1
Hi Sam,

Sam Ravnborg <sam@ravnborg.org> wrote on Sat, 14 Dec 2019 11:09:11
+0100:

> Hi Miquel.
> 
> On Fri, Dec 13, 2019 at 07:23:25PM +0100, Miquel Raynal wrote:
> > Add support for the Satoz SAT050AT40H12R2 RGB panel.  
> 
> Google failed to find this display - do you have any pointers to
> datasheet?
> 
> This turned up: SAT050AT40H12B2
> But I failed to find any data sheet.

I could not find the datasheet myself on the Internet, I found other
datasheets of other panels from the same vendor though.

I confirm I am talking about the R2 package (not B2 your find).

> 
> I wonder if there is any typical, min, max timings - so we could use
> display_timing rather than display_mode.

Yes there are min/typ/max timings in the datasheet, I didn't know about
display_mode (copied/pasted another random timing structure and adapted
it). I will try to adapt.

> 
> Before the compatible is documented the patch will not be applied.
> So you need to submit a binding document too,
> which must be in meta-schema syntax (.yaml).

Any reason to create one (almost empty) file by compatible? As
comparison, simple I2C/SPI devices with no singularities are
listed there:
Documentation/devicetree/bindings/trivial-devices.yaml

I'll create a bindings file for this panel though.

Thanks,
Miquèl
diff mbox series

Patch

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 15dd495c347d..8ae98437cbba 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -2557,6 +2557,30 @@  static const struct panel_desc samsung_ltn140at29_301 = {
 	},
 };
 
+static const struct drm_display_mode satoz_sat050at40h12r2_mode = {
+	.clock = 33300,
+	.hdisplay = 800,
+	.hsync_start = 800 + 210,
+	.hsync_end = 800 + 210 + 20,
+	.htotal = 800 + 210 + 420 + 46,
+	.vdisplay = 480,
+	.vsync_start = 480 + 23,
+	.vsync_end = 480 + 23 + 10,
+	.vtotal = 480 + 23 + 10 + 22,
+	.vrefresh = 60,
+};
+
+static const struct panel_desc satoz_sat050at40h12r2 = {
+	.modes = &satoz_sat050at40h12r2_mode,
+	.num_modes = 1,
+	.bpc = 8,
+	.size = {
+		.width = 108,
+		.height = 65,
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
+};
+
 static const struct drm_display_mode sharp_ld_d5116z01b_mode = {
 	.clock = 168480,
 	.hdisplay = 1920,
@@ -3357,6 +3381,9 @@  static const struct of_device_id platform_of_match[] = {
 	}, {
 		.compatible = "samsung,ltn140at29-301",
 		.data = &samsung_ltn140at29_301,
+	}, {
+		.compatible = "satoz,sat050at40h12r2",
+		.data = &satoz_sat050at40h12r2,
 	}, {
 		.compatible = "sharp,ld-d5116z01b",
 		.data = &sharp_ld_d5116z01b,