diff options
| author | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
|---|---|---|
| committer | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
| commit | 79828b4fa835f73cdaf4bffa48696abdcbea9d02 (patch) | |
| tree | 5e0fa7156acb75ba603022bc807df8f2fedb97a8 /drivers/gpu/drm/imx | |
| parent | 721b51fcf91898299d96f4b72cb9434cda29dce6 (diff) | |
| parent | 8c1a9d6323abf0fb1e5dad96cf3f1c783505ea5a (diff) | |
Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-fix-rt5645
Diffstat (limited to 'drivers/gpu/drm/imx')
| -rw-r--r-- | drivers/gpu/drm/imx/dw_hdmi-imx.c | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/imx/imx-tve.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/imx/parallel-display.c | 21 | 
3 files changed, 21 insertions, 7 deletions
diff --git a/drivers/gpu/drm/imx/dw_hdmi-imx.c b/drivers/gpu/drm/imx/dw_hdmi-imx.c index a3ecf1069b76..644edf65dbe0 100644 --- a/drivers/gpu/drm/imx/dw_hdmi-imx.c +++ b/drivers/gpu/drm/imx/dw_hdmi-imx.c @@ -75,6 +75,11 @@ static const struct dw_hdmi_curr_ctrl imx_cur_ctr[] = {  	},  }; +/* + * Resistance term 133Ohm Cfg + * PREEMP config 0.00 + * TX/CK level 10 + */  static const struct dw_hdmi_phy_config imx_phy_config[] = {  	/*pixelclk   symbol   term   vlev */  	{ 148500000, 0x800d, 0x0005, 0x01ad}, diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c index 214eceefc981..e671ad369416 100644 --- a/drivers/gpu/drm/imx/imx-tve.c +++ b/drivers/gpu/drm/imx/imx-tve.c @@ -301,7 +301,7 @@ static void imx_tve_encoder_prepare(struct drm_encoder *encoder)  	switch (tve->mode) {  	case TVE_MODE_VGA: -		imx_drm_set_bus_format_pins(encoder, MEDIA_BUS_FMT_YUV8_1X24, +		imx_drm_set_bus_format_pins(encoder, MEDIA_BUS_FMT_GBR888_1X24,  					    tve->hsync_pin, tve->vsync_pin);  		break;  	case TVE_MODE_TVOUT: diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c index 74a9ce40ddc4..b4deb9cf9d71 100644 --- a/drivers/gpu/drm/imx/parallel-display.c +++ b/drivers/gpu/drm/imx/parallel-display.c @@ -21,6 +21,7 @@  #include <drm/drm_panel.h>  #include <linux/videodev2.h>  #include <video/of_display_timing.h> +#include <linux/of_graph.h>  #include "imx-drm.h" @@ -208,7 +209,7 @@ static int imx_pd_bind(struct device *dev, struct device *master, void *data)  {  	struct drm_device *drm = data;  	struct device_node *np = dev->of_node; -	struct device_node *panel_node; +	struct device_node *port;  	const u8 *edidp;  	struct imx_parallel_display *imxpd;  	int ret; @@ -234,11 +235,19 @@ static int imx_pd_bind(struct device *dev, struct device *master, void *data)  			imxpd->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;  	} -	panel_node = of_parse_phandle(np, "fsl,panel", 0); -	if (panel_node) { -		imxpd->panel = of_drm_find_panel(panel_node); -		if (!imxpd->panel) -			return -EPROBE_DEFER; +	/* port@1 is the output port */ +	port = of_graph_get_port_by_id(np, 1); +	if (port) { +		struct device_node *endpoint, *remote; + +		endpoint = of_get_child_by_name(port, "endpoint"); +		if (endpoint) { +			remote = of_graph_get_remote_port_parent(endpoint); +			if (remote) +				imxpd->panel = of_drm_find_panel(remote); +			if (!imxpd->panel) +				return -EPROBE_DEFER; +		}  	}  	imxpd->dev = dev;  |