mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-09 03:21:51 +00:00
dm: video: Add a uclass for display port
eDP (Embedded DisplayPort) is a standard widely used in laptops to drive LCD panels. Add a uclass for this which supports a few simple operations. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Tom Warren <twarren@nvidia.com>
This commit is contained in:
parent
00cf1167bb
commit
51f2c99e14
5 changed files with 106 additions and 0 deletions
60
include/displayport.h
Normal file
60
include/displayport.h
Normal file
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* Copyright 2014 Google Inc.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef _DISPLAYPORT_H
|
||||
#define _DISPLAYPORT_H
|
||||
|
||||
struct udevice;
|
||||
struct display_timing;
|
||||
|
||||
/**
|
||||
* display_port_read_edid() - Read information from EDID
|
||||
*
|
||||
* @dev: Device to read from
|
||||
* @buf: Buffer to read into (should be EDID_SIZE bytes)
|
||||
* @buf_size: Buffer size (should be EDID_SIZE)
|
||||
* @return number of bytes read, <=0 for error
|
||||
*/
|
||||
int display_port_read_edid(struct udevice *dev, u8 *buf, int buf_size);
|
||||
|
||||
/**
|
||||
* display_port_enable() - Enable a display port device
|
||||
*
|
||||
* @dev: Device to enable
|
||||
* @panel_bpp: Number of bits per pixel for panel
|
||||
* @timing: Display timings
|
||||
* @return 0 if OK, -ve on error
|
||||
*/
|
||||
int display_port_enable(struct udevice *dev, int panel_bpp,
|
||||
const struct display_timing *timing);
|
||||
|
||||
struct dm_display_port_ops {
|
||||
/**
|
||||
* read_edid() - Read information from EDID
|
||||
*
|
||||
* @dev: Device to read from
|
||||
* @buf: Buffer to read into (should be EDID_SIZE bytes)
|
||||
* @buf_size: Buffer size (should be EDID_SIZE)
|
||||
* @return number of bytes read, <=0 for error
|
||||
*/
|
||||
int (*read_edid)(struct udevice *dev, u8 *buf, int buf_size);
|
||||
|
||||
/**
|
||||
* enable() - Enable the display port device
|
||||
*
|
||||
* @dev: Device to enable
|
||||
* @panel_bpp: Number of bits per pixel for panel
|
||||
* @timing: Display timings
|
||||
* @return 0 if OK, -ve on error
|
||||
*/
|
||||
int (*enable)(struct udevice *dev, int panel_bpp,
|
||||
const struct display_timing *timing);
|
||||
};
|
||||
|
||||
#define display_port_get_ops(dev) \
|
||||
((struct dm_display_port_ops *)(dev)->driver->ops)
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue