drm: introduce bus_flags in drm_display_info

Introduce bus_flags to specify display bus properties like signal
polarities. This is useful for parallel display buses, e.g. to
specify the pixel clock or data enable polarity.

Suggested-by: Thierry Reding <thierry.reding@gmail.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Manfred Schlaegl <manfred.schlaegl@gmx.at>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Stefan Agner <stefan@agner.ch>
This commit is contained in:
Stefan Agner 2016-02-08 11:38:14 -08:00
parent 0552f7651b
commit f0aa08387b
2 changed files with 11 additions and 0 deletions

View File

@ -72,6 +72,7 @@ struct panel_desc {
} delay; } delay;
u32 bus_format; u32 bus_format;
u32 bus_flags;
}; };
struct panel_simple { struct panel_simple {
@ -144,6 +145,7 @@ static int panel_simple_get_fixed_modes(struct panel_simple *panel)
if (panel->desc->bus_format) if (panel->desc->bus_format)
drm_display_info_set_bus_formats(&connector->display_info, drm_display_info_set_bus_formats(&connector->display_info,
&panel->desc->bus_format, 1); &panel->desc->bus_format, 1);
connector->display_info.bus_flags = panel->desc->bus_flags;
return num; return num;
} }

View File

@ -118,6 +118,14 @@ enum subpixel_order {
#define DRM_COLOR_FORMAT_RGB444 (1<<0) #define DRM_COLOR_FORMAT_RGB444 (1<<0)
#define DRM_COLOR_FORMAT_YCRCB444 (1<<1) #define DRM_COLOR_FORMAT_YCRCB444 (1<<1)
#define DRM_COLOR_FORMAT_YCRCB422 (1<<2) #define DRM_COLOR_FORMAT_YCRCB422 (1<<2)
#define DRM_BUS_FLAG_DE_LOW (1<<0)
#define DRM_BUS_FLAG_DE_HIGH (1<<1)
/* drive data on pos. edge */
#define DRM_BUS_FLAG_PIXDATA_POSEDGE (1<<2)
/* drive data on neg. edge */
#define DRM_BUS_FLAG_PIXDATA_NEGEDGE (1<<3)
/* /*
* Describes a given display (e.g. CRT or flat panel) and its limitations. * Describes a given display (e.g. CRT or flat panel) and its limitations.
*/ */
@ -139,6 +147,7 @@ struct drm_display_info {
const u32 *bus_formats; const u32 *bus_formats;
unsigned int num_bus_formats; unsigned int num_bus_formats;
u32 bus_flags;
/* Mask of supported hdmi deep color modes */ /* Mask of supported hdmi deep color modes */
u8 edid_hdmi_dc_modes; u8 edid_hdmi_dc_modes;