]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/panel-edp: Move FriendlyELEC HD702E
authorRobin Murphy <robin.murphy@arm.com>
Fri, 23 Jan 2026 19:22:21 +0000 (19:22 +0000)
committerDouglas Anderson <dianders@chromium.org>
Mon, 2 Feb 2026 16:48:44 +0000 (08:48 -0800)
FriendlyELEC's HD702E module is an eDP panel (in as much as it's some
LVDS LCD behind a Chrontel CH7511B eDP bridge), so move its data over
to the eDP driver, also resolving the warning about the missing bpc
value in the process.

The unfortunate combination of HPD not being wired up and the RK3399 eDP
controller's behaviour seems to result in the EDID not being readable
over DP-AUX without probing the panel first, thus the hard-coded mode is
still needed to get things going.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patch.msgid.link/a00a59dcef3693efb02a8ee942848fbeaeaf05ba.1769191673.git.robin.murphy@arm.com
drivers/gpu/drm/panel/panel-edp.c
drivers/gpu/drm/panel/panel-simple.c

index c9eacfffd5b291efd9509a119b6f0ef151acce7f..f5f0e2c505b644cbf7f1e26b4432fb9b2e0e183e 100644 (file)
@@ -1256,6 +1256,29 @@ static const struct panel_desc boe_nv140fhmn49 = {
        },
 };
 
+static const struct drm_display_mode friendlyarm_hd702e_mode = {
+       .clock          = 67185,
+       .hdisplay       = 800,
+       .hsync_start    = 800 + 20,
+       .hsync_end      = 800 + 20 + 24,
+       .htotal         = 800 + 20 + 24 + 20,
+       .vdisplay       = 1280,
+       .vsync_start    = 1280 + 4,
+       .vsync_end      = 1280 + 4 + 8,
+       .vtotal         = 1280 + 4 + 8 + 4,
+       .flags          = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
+};
+
+static const struct panel_desc friendlyarm_hd702e = {
+       .modes = &friendlyarm_hd702e_mode,
+       .num_modes = 1,
+       .bpc = 8,
+       .size = {
+               .width  = 94,
+               .height = 151,
+       },
+};
+
 static const struct drm_display_mode innolux_n116bca_ea1_mode = {
        .clock = 76420,
        .hdisplay = 1366,
@@ -1663,6 +1686,9 @@ static const struct of_device_id platform_of_match[] = {
        }, {
                .compatible = "boe,nv140fhmn49",
                .data = &boe_nv140fhmn49,
+       }, {
+               .compatible = "friendlyarm,hd702e",
+               .data = &friendlyarm_hd702e,
        }, {
                .compatible = "innolux,n116bca-ea1",
                .data = &innolux_n116bca_ea1,
index c606e5932ca75a7acd22de4c6fd2f11160461d78..67efea702f46fd3db329239180c67313d863e4f9 100644 (file)
@@ -2359,28 +2359,6 @@ static const struct panel_desc frida_frd350h54004 = {
        .connector_type = DRM_MODE_CONNECTOR_DPI,
 };
 
-static const struct drm_display_mode friendlyarm_hd702e_mode = {
-       .clock          = 67185,
-       .hdisplay       = 800,
-       .hsync_start    = 800 + 20,
-       .hsync_end      = 800 + 20 + 24,
-       .htotal         = 800 + 20 + 24 + 20,
-       .vdisplay       = 1280,
-       .vsync_start    = 1280 + 4,
-       .vsync_end      = 1280 + 4 + 8,
-       .vtotal         = 1280 + 4 + 8 + 4,
-       .flags          = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
-};
-
-static const struct panel_desc friendlyarm_hd702e = {
-       .modes = &friendlyarm_hd702e_mode,
-       .num_modes = 1,
-       .size = {
-               .width  = 94,
-               .height = 151,
-       },
-};
-
 static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
        .clock = 9000,
        .hdisplay = 480,
@@ -5286,9 +5264,6 @@ static const struct of_device_id platform_of_match[] = {
        }, {
                .compatible = "frida,frd350h54004",
                .data = &frida_frd350h54004,
-       }, {
-               .compatible = "friendlyarm,hd702e",
-               .data = &friendlyarm_hd702e,
        }, {
                .compatible = "giantplus,gpg482739qs5",
                .data = &giantplus_gpg482739qs5