Add samsung,s6e3fa2 in the allowed simple-panel compat strings.
Signed-off-by: Iskren Chernev iskren.chernev@gmail.com --- .../devicetree/bindings/display/panel/panel-simple.yaml | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml index 27fffafe5b5c0..52480ca230c7b 100644 --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml @@ -241,6 +241,8 @@ properties: - samsung,ltn101nt05 # Samsung Electronics 14" WXGA (1366x768) TFT LCD panel - samsung,ltn140at29-301 + # Samsung Electronics 5.1" (1920x1080) AMOLED cmd panel + - samsung,s6e3fa2 # Satoz SAT050AT40H12R2 5.0" WVGA TFT LCD panel - satoz,sat050at40h12r2 # Sharp LQ035Q7DB03 3.5" QVGA TFT LCD panel
base-commit: d7a03a44a5e93f39ece70ec75d25c6088caa0fdb
From: Samuel Pascua pascua.samuel.14@gmail.com
This panel is used on the Samsung Galaxy S5 (klte).
Signed-off-by: Samuel Pascua pascua.samuel.14@gmail.com --- 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 }, { /* sentinel */ } -- 2.29.2
Tested this on Samsung Galaxy S5 along with other patches that enable GPU support on this device.
Tested-by: Alexey Minnekhanov alexeymin@postmarketos.org
On 12/30/20 6:17 PM, Iskren Chernev wrote:
From: Samuel Pascua pascua.samuel.14@gmail.com
This panel is used on the Samsung Galaxy S5 (klte).
Signed-off-by: Samuel Pascua pascua.samuel.14@gmail.com
drivers/gpu/drm/panel/panel-simple.c | 30 ++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
On 12/30/20 5:17 PM, Iskren Chernev wrote:
From: Samuel Pascua pascua.samuel.14@gmail.com
This panel is used on the Samsung Galaxy S5 (klte).
Signed-off-by: Samuel Pascua pascua.samuel.14@gmail.com
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
On Wed, 30 Dec 2020 17:17:10 +0200, Iskren Chernev wrote:
Add samsung,s6e3fa2 in the allowed simple-panel compat strings.
Signed-off-by: Iskren Chernev iskren.chernev@gmail.com
.../devicetree/bindings/display/panel/panel-simple.yaml | 2 ++ 1 file changed, 2 insertions(+)
Acked-by: Rob Herring robh@kernel.org
dri-devel@lists.freedesktop.org