mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
dm: video: Add a operation to display uclass
The current display class only allow to get timing from edid. So add a operation to get timing directly from driver. In driver, I will use fdtdec_decode_display_timing to get timing. Signed-off-by: Jacob Chen <jacob-chen@iotwrt.com> Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
df61a74e68
commit
eab314f590
2 changed files with 13 additions and 1 deletions
|
@ -36,6 +36,9 @@ int display_read_timing(struct udevice *dev, struct display_timing *timing)
|
|||
u8 buf[EDID_EXT_SIZE];
|
||||
int ret;
|
||||
|
||||
if (ops && ops->read_timing)
|
||||
return ops->read_timing(dev, timing);
|
||||
|
||||
if (!ops || !ops->read_edid)
|
||||
return -ENOSYS;
|
||||
ret = ops->read_edid(dev, buf, sizeof(buf));
|
||||
|
|
|
@ -23,7 +23,7 @@ struct display_plat {
|
|||
};
|
||||
|
||||
/**
|
||||
* display_read_timing() - Read timing information from EDID
|
||||
* display_read_timing() - Read timing information
|
||||
*
|
||||
* @dev: Device to read from
|
||||
* @return 0 if OK, -ve on error
|
||||
|
@ -42,6 +42,15 @@ int display_enable(struct udevice *dev, int panel_bpp,
|
|||
const struct display_timing *timing);
|
||||
|
||||
struct dm_display_ops {
|
||||
/**
|
||||
* read_timing() - Read information directly
|
||||
*
|
||||
* @dev: Device to read from
|
||||
* @timing: Display timings
|
||||
* @return 0 if OK, -ve on error
|
||||
*/
|
||||
int (*read_timing)(struct udevice *dev, struct display_timing *timing);
|
||||
|
||||
/**
|
||||
* read_edid() - Read information from EDID
|
||||
*
|
||||
|
|
Loading…
Add table
Reference in a new issue