From 86cb1bdc45a5f688a927a5380daff1bfa2397866 Mon Sep 17 00:00:00 2001 From: Svyatoslav Ryhel Date: Mon, 27 Mar 2023 11:11:49 +0300 Subject: [PATCH] simple_panel: add support for get_display_timing Some cases may require passing display timings from panel driver. To handle such cases support parsing device tree panel node for timing subnode. Tested-by: Robert Eckelmann # ASUS TF101 T20 Tested-by: Nicolas Chauvet # Paz00 Tested-by: Svyatoslav Ryhel # Google Nexus 7 2012 Signed-off-by: Svyatoslav Ryhel --- drivers/video/simple_panel.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/video/simple_panel.c b/drivers/video/simple_panel.c index 91c91ee75d..5a8262669a 100644 --- a/drivers/video/simple_panel.c +++ b/drivers/video/simple_panel.c @@ -48,6 +48,15 @@ static int simple_panel_set_backlight(struct udevice *dev, int percent) return 0; } +static int simple_panel_get_display_timing(struct udevice *dev, + struct display_timing *timings) +{ + const void *blob = gd->fdt_blob; + + return fdtdec_decode_display_timing(blob, dev_of_offset(dev), + 0, timings); +} + static int simple_panel_of_to_plat(struct udevice *dev) { struct simple_panel_priv *priv = dev_get_priv(dev); @@ -102,6 +111,7 @@ static int simple_panel_probe(struct udevice *dev) static const struct panel_ops simple_panel_ops = { .enable_backlight = simple_panel_enable_backlight, .set_backlight = simple_panel_set_backlight, + .get_display_timing = simple_panel_get_display_timing, }; static const struct udevice_id simple_panel_ids[] = { -- 2.39.5