The IDK-2121WR from Advantech is a dual-LVDS display.
Signed-off-by: Fabrizio Castro fabrizio.castro@bp.renesas.com
--- v1->v2: * new patch
drivers/gpu/drm/panel/panel-lvds.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c index 1ec57d0..2cd41757 100644 --- a/drivers/gpu/drm/panel/panel-lvds.c +++ b/drivers/gpu/drm/panel/panel-lvds.c @@ -22,6 +22,7 @@
#include <drm/drm_crtc.h> #include <drm/drm_panel.h> +#include <drm/drm_timings.h>
struct panel_lvds { struct drm_panel panel; @@ -259,6 +260,7 @@ static int panel_lvds_probe(struct platform_device *pdev) /* Register the panel. */ drm_panel_init(&lvds->panel); lvds->panel.dev = lvds->dev; + lvds->panel.timings = of_device_get_match_data(lvds->dev); lvds->panel.funcs = &panel_lvds_funcs;
ret = drm_panel_add(&lvds->panel); @@ -287,7 +289,13 @@ static int panel_lvds_remove(struct platform_device *pdev) return 0; }
+static const struct drm_timings advantech_idk_2121wr = { + .dual_link = true, + .link_flags = DRM_LINK_DUAL_LVDS_ODD_EVEN, +}; + static const struct of_device_id panel_lvds_of_table[] = { + { .compatible = "advantech,idk-2121wr", .data = &advantech_idk_2121wr}, { .compatible = "panel-lvds", }, { /* Sentinel */ }, };