diff options
| -rw-r--r-- | drivers/video/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/video/panel-uclass.c | 11 | ||||
| -rw-r--r-- | include/panel.h | 18 | 
3 files changed, 29 insertions, 1 deletions
| diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 5ee9032dc9b..a2d7e109384 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -410,7 +410,6 @@ config VIDEO_MVEBU  config I2C_EDID  	bool "Enable EDID library" -	depends on DM_I2C  	default n  	help  	   This enables library for accessing EDID data from an LCD panel. diff --git a/drivers/video/panel-uclass.c b/drivers/video/panel-uclass.c index 2841bb3f3aa..aec44a8bf7a 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 46dca48bf75..6237d32657d 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 | 
