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 <[email protected]> Signed-off-by: Robin Murphy <[email protected]> --- v2: Clarify issue with the generic binding --- drivers/gpu/drm/panel/panel-edp.c | 26 ++++++++++++++++++++++++++ drivers/gpu/drm/panel/panel-simple.c | 25 ------------------------- 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c index 415b894890ad..dd53ccc209ce 100644 --- a/drivers/gpu/drm/panel/panel-edp.c +++ b/drivers/gpu/drm/panel/panel-edp.c @@ -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, diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index b26b682826bc..3ea52667b858 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -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, @@ -5235,9 +5213,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 -- 2.34.1
