On 12/30/20 5:17 PM, Iskren Chernev wrote: > From: Samuel Pascua <pascua.samuel.14@xxxxxxxxx> > > This panel is used on the Samsung Galaxy S5 (klte). > > Signed-off-by: Samuel Pascua <pascua.samuel.14@xxxxxxxxx> > --- > drivers/gpu/drm/panel/panel-simple.c | 30 ++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > index 41bbec72b2dad..5f16826f3ae06 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -4611,6 +4611,33 @@ static const struct panel_desc_dsi osd101t2045_53ts = { > .lanes = 4, > }; > > +static const struct drm_display_mode s6e3fa2_mode = { > + .clock = 149769, > + .hdisplay = 1080, > + .hsync_start = 1080 + 162, > + .hsync_end = 1080 + 162 + 10, > + .htotal = 1080 + 162 + 10 + 36, > + .vdisplay = 1920, > + .vsync_start = 1920 + 13, > + .vsync_end = 1920 + 13 + 2, > + .vtotal = 1920 + 13 + 2 + 3, > +}; > + > +static const struct panel_desc_dsi samsung_s6e3fa2 = { > + .desc = { > + .modes = &s6e3fa2_mode, > + .num_modes = 1, > + .bpc = 8, > + .size = { > + .width = 65, > + .height = 115, > + }, > + }, > + .flags = MIPI_DSI_MODE_VIDEO_BURST, > + .format = MIPI_DSI_FMT_RGB888, > + .lanes = 4, > +}; > + > static const struct of_device_id dsi_of_match[] = { > { > .compatible = "auo,b080uan01", > @@ -4633,6 +4660,9 @@ static const struct of_device_id dsi_of_match[] = { > }, { > .compatible = "osddisplays,osd101t2045-53ts", > .data = &osd101t2045_53ts > + }, { > + .compatible = "samsung,s6e3fa2", > + .data = &samsung_s6e3fa2 I just want to share some details to avoid issues in the future. This setup (with simple panel and bindings), works in the sense that the display shows stuff, after being left on by the bootloader on the Samsung Galaxy S5 (klte). There is no provisions for turning the screen off and back on, backlight, or anything else. The display is a rather advanced one, containing many features, but so far none of them (including on/off) has been made to work. It is possible that in the future some of those features will be figured out, and these might very well include additional DT properties. So would it be better to put the bindings in a separate file, ready to grow, and for the panel - include a simple custom driver that works no better than the simple-panel one now, but can accommodate future expansion? > }, { > /* sentinel */ > } > -- > 2.29.2 >