Message ID | 20200109184037.9091-2-miquel.raynal@bootlin.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v5,1/2] dt-bindings: display: simple: Add Satoz panel | expand |
Hi Miquel, On Thu, Jan 09, 2020 at 07:40:37PM +0100, Miquel Raynal wrote: > Add support for the Satoz SAT050AT40H12R2 panel. > > Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> > --- > > Changes since v4: > * None. > > Changes since v3: > * Added connector type. > > Changes since v2: > * Dropped two uneeded lines which would fail the build. > > Changes since v1: > * Switched to display_timing's instead of display_mode. > > drivers/gpu/drm/panel/panel-simple.c | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > index aaa08beac13c..1aa6622abc49 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -2577,6 +2577,30 @@ static const struct panel_desc samsung_ltn140at29_301 = { > }, > }; > > +static const struct display_timing satoz_sat050at40h12r2_timing = { > + .pixelclock = {33300000, 33300000, 50000000}, > + .hactive = {800, 800, 800}, > + .hfront_porch = {16, 210, 354}, > + .hback_porch = {46, 46, 46}, > + .hsync_len = {1, 1, 40}, > + .vactive = {480, 480, 480}, > + .vfront_porch = {7, 22, 147}, > + .vback_porch = {23, 23, 23}, > + .vsync_len = {1, 1, 20}, > +}; > + > +static const struct panel_desc satoz_sat050at40h12r2 = { > + .timings = &satoz_sat050at40h12r2_timing, > + .num_timings = 1, > + .bpc = 8, > + .size = { > + .width = 108, > + .height = 65, > + }, > + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, > + .connector_type = DRM_MODE_CONNECTOR_LVDS, I'm trying to fix inconsistencies in the panel-simple driver, and this caught my eyes. MEDIA_BUS_FMT_RGB888_1X24 isn't a correct format for LVDS panels. MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, MEDIA_BUS_FMT_RGB888_1X7X4_SPWG or MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA should be used instead. As I couldn't find documentation for the panel, I can't tell which format is correct. Could you please help ? > +}; > + > static const struct drm_display_mode sharp_ld_d5116z01b_mode = { > .clock = 168480, > .hdisplay = 1920, > @@ -3377,6 +3401,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,
Hi Laurent, [...] > > > > +static const struct display_timing satoz_sat050at40h12r2_timing = { > > + .pixelclock = {33300000, 33300000, 50000000}, > > + .hactive = {800, 800, 800}, > > + .hfront_porch = {16, 210, 354}, > > + .hback_porch = {46, 46, 46}, > > + .hsync_len = {1, 1, 40}, > > + .vactive = {480, 480, 480}, > > + .vfront_porch = {7, 22, 147}, > > + .vback_porch = {23, 23, 23}, > > + .vsync_len = {1, 1, 20}, > > +}; > > + > > +static const struct panel_desc satoz_sat050at40h12r2 = { > > + .timings = &satoz_sat050at40h12r2_timing, > > + .num_timings = 1, > > + .bpc = 8, > > + .size = { > > + .width = 108, > > + .height = 65, > > + }, > > + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, > > + .connector_type = DRM_MODE_CONNECTOR_LVDS, > > I'm trying to fix inconsistencies in the panel-simple driver, and this > caught my eyes. MEDIA_BUS_FMT_RGB888_1X24 isn't a correct format for > LVDS panels. MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, > MEDIA_BUS_FMT_RGB888_1X7X4_SPWG or MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA > should be used instead. As I couldn't find documentation for the panel, > I can't tell which format is correct. Could you please help ? Indeed, I got this datasheet under NDA. We checked with Paul, we think the right format is: MEDIA_BUS_FMT_RGB888_1X7X4_SPWG. Thanks, Miquèl
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index aaa08beac13c..1aa6622abc49 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -2577,6 +2577,30 @@ static const struct panel_desc samsung_ltn140at29_301 = { }, }; +static const struct display_timing satoz_sat050at40h12r2_timing = { + .pixelclock = {33300000, 33300000, 50000000}, + .hactive = {800, 800, 800}, + .hfront_porch = {16, 210, 354}, + .hback_porch = {46, 46, 46}, + .hsync_len = {1, 1, 40}, + .vactive = {480, 480, 480}, + .vfront_porch = {7, 22, 147}, + .vback_porch = {23, 23, 23}, + .vsync_len = {1, 1, 20}, +}; + +static const struct panel_desc satoz_sat050at40h12r2 = { + .timings = &satoz_sat050at40h12r2_timing, + .num_timings = 1, + .bpc = 8, + .size = { + .width = 108, + .height = 65, + }, + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, + .connector_type = DRM_MODE_CONNECTOR_LVDS, +}; + static const struct drm_display_mode sharp_ld_d5116z01b_mode = { .clock = 168480, .hdisplay = 1920, @@ -3377,6 +3401,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,
Add support for the Satoz SAT050AT40H12R2 panel. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> --- Changes since v4: * None. Changes since v3: * Added connector type. Changes since v2: * Dropped two uneeded lines which would fail the build. Changes since v1: * Switched to display_timing's instead of display_mode. drivers/gpu/drm/panel/panel-simple.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)