Merge tag 'video-for-2019.10' of https://gitlab.denx.de/u-boot/custodians/u-boot-video
- dcu and imx7 DM_VIDEO conversion - lb070wv8 compatible in simple_panel driver - bmp_logo improvements for DM_VIDEO - EDID updates to filter supported modes - meson_dw_hdmi: support EDID mode filtering - dw_hdmi: support ddc-i2c-bus phandle for external I2C masters - fix rpi crash when firmware doesn't report connected display
This commit is contained in:
@@ -170,7 +170,7 @@
|
||||
#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M
|
||||
#define DFU_DEFAULT_POLL_TIMEOUT 300
|
||||
|
||||
#ifdef CONFIG_VIDEO
|
||||
#if defined(CONFIG_VIDEO) || defined(CONFIG_DM_VIDEO)
|
||||
#define CONFIG_VIDEO_MXS
|
||||
#define MXS_LCDIF_BASE MX6UL_LCDIF1_BASE_ADDR
|
||||
#define CONFIG_VIDEO_LOGO
|
||||
|
||||
@@ -80,6 +80,16 @@ struct dm_display_ops {
|
||||
*/
|
||||
int (*enable)(struct udevice *dev, int panel_bpp,
|
||||
const struct display_timing *timing);
|
||||
|
||||
/**
|
||||
* mode_valid() - Check if mode is supported
|
||||
*
|
||||
* @dev: Device to enable
|
||||
* @timing: Display timings
|
||||
* @return true if supported, false if not
|
||||
*/
|
||||
bool (*mode_valid)(struct udevice *dev,
|
||||
const struct display_timing *timing);
|
||||
};
|
||||
|
||||
#define display_get_ops(dev) ((struct dm_display_ops *)(dev)->driver->ops)
|
||||
|
||||
@@ -542,6 +542,7 @@ struct dw_hdmi {
|
||||
u8 i2c_clk_low;
|
||||
u8 reg_io_width;
|
||||
struct hdmi_data_info hdmi_data;
|
||||
struct udevice *ddc_bus;
|
||||
|
||||
int (*phy_set)(struct dw_hdmi *hdmi, uint mpixelclock);
|
||||
void (*write_reg)(struct dw_hdmi *hdmi, u8 val, int offset);
|
||||
|
||||
@@ -306,6 +306,28 @@ int edid_get_ranges(struct edid1_info *edid, unsigned int *hmin,
|
||||
|
||||
struct display_timing;
|
||||
|
||||
/**
|
||||
* edid_get_timing_validate() - Get basic digital display parameters with
|
||||
* mode selection callback
|
||||
*
|
||||
* @param buf Buffer containing EDID data
|
||||
* @param buf_size Size of buffer in bytes
|
||||
* @param timing Place to put preferring timing information
|
||||
* @param panel_bits_per_colourp Place to put the number of bits per
|
||||
* colour supported by the panel. This will be set to
|
||||
* -1 if not available
|
||||
* @param mode_valid Callback validating mode, returning true is mode is
|
||||
* supported, false otherwise.
|
||||
* @parem valid_priv Pointer to private data for mode_valid callback
|
||||
* @return 0 if timings are OK, -ve on error
|
||||
*/
|
||||
int edid_get_timing_validate(u8 *buf, int buf_size,
|
||||
struct display_timing *timing,
|
||||
int *panel_bits_per_colourp,
|
||||
bool (*mode_valid)(void *priv,
|
||||
const struct display_timing *timing),
|
||||
void *mode_valid_priv);
|
||||
|
||||
/**
|
||||
* edid_get_timing() - Get basic digital display parameters
|
||||
*
|
||||
|
||||
@@ -6,11 +6,17 @@
|
||||
*/
|
||||
#include <linux/fb.h>
|
||||
|
||||
int fsl_dcu_init(unsigned int xres, unsigned int yres,
|
||||
int fsl_dcu_init(struct fb_info *fbinfo,
|
||||
unsigned int xres,
|
||||
unsigned int yres,
|
||||
unsigned int pixel_format);
|
||||
|
||||
int fsl_dcu_fixedfb_setup(void *blob);
|
||||
|
||||
/* Prototypes for external board-specific functions */
|
||||
int platform_dcu_init(unsigned int xres, unsigned int yres,
|
||||
const char *port, struct fb_videomode *dcu_fb_videomode);
|
||||
int platform_dcu_init(struct fb_info *fbinfo,
|
||||
unsigned int xres,
|
||||
unsigned int yres,
|
||||
const char *port,
|
||||
struct fb_videomode *dcu_fb_videomode);
|
||||
unsigned int dcu_set_pixel_clock(unsigned int pixclock);
|
||||
|
||||
Reference in New Issue
Block a user