diff options
author | Yannick Fertré <yannick.fertre@st.com> | 2018-07-13 14:11:09 +0200 |
---|---|---|
committer | Anatolij Gustschin <agust@denx.de> | 2018-08-01 18:03:58 +0200 |
commit | 28576f81823d9fbb9edc525aba5cb130882b8b1f (patch) | |
tree | 41d383f7eb44c8cfdf3b0ba67b71a67de78ad7c4 | |
parent | ba71ab8246d1d1c4778ebe5dd892d569c8d6219c (diff) | |
download | u-boot-28576f81823d9fbb9edc525aba5cb130882b8b1f.tar.gz |
dm: panel: get timings from panel
Get timings from panel instead of read device tree.
Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | drivers/video/panel-uclass.c | 11 | ||||
-rw-r--r-- | include/panel.h | 18 |
2 files changed, 29 insertions, 0 deletions
diff --git a/drivers/video/panel-uclass.c b/drivers/video/panel-uclass.c index 2841bb3f3a..aec44a8bf7 100644 --- a/drivers/video/panel-uclass.c +++ b/drivers/video/panel-uclass.c @@ -18,6 +18,17 @@ int panel_enable_backlight(struct udevice *dev) return ops->enable_backlight(dev); } +int panel_get_display_timing(struct udevice *dev, + struct display_timing *timings) +{ + struct panel_ops *ops = panel_get_ops(dev); + + if (!ops->get_display_timing) + return -ENOSYS; + + return ops->get_display_timing(dev, timings); +} + UCLASS_DRIVER(panel) = { .id = UCLASS_PANEL, .name = "panel", diff --git a/include/panel.h b/include/panel.h index 46dca48bf7..6237d32657 100644 --- a/include/panel.h +++ b/include/panel.h @@ -15,6 +15,15 @@ struct panel_ops { * @return 0 if OK, -ve on error */ int (*enable_backlight)(struct udevice *dev); + /** + * get_timings() - Get display timings from panel. + * + * @dev: Panel device containing the display timings + * @tim: Place to put timings + * @return 0 if OK, -ve on error + */ + int (*get_display_timing)(struct udevice *dev, + struct display_timing *timing); }; #define panel_get_ops(dev) ((struct panel_ops *)(dev)->driver->ops) @@ -27,4 +36,13 @@ struct panel_ops { */ int panel_enable_backlight(struct udevice *dev); +/** + * panel_get_display_timing() - Get display timings from panel. + * + * @dev: Panel device containing the display timings + * @return 0 if OK, -ve on error + */ +int panel_get_display_timing(struct udevice *dev, + struct display_timing *timing); + #endif |