diff options
Diffstat (limited to 'drivers/gpu/drm/imx')
| -rw-r--r-- | drivers/gpu/drm/imx/imx-ldb.c | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c index 56dd7a9a8e25..dd5312b02a8d 100644 --- a/drivers/gpu/drm/imx/imx-ldb.c +++ b/drivers/gpu/drm/imx/imx-ldb.c @@ -612,6 +612,9 @@ static int imx_ldb_bind(struct device *dev, struct device *master, void *data)  		return PTR_ERR(imx_ldb->regmap);  	} +	/* disable LDB by resetting the control register to POR default */ +	regmap_write(imx_ldb->regmap, IOMUXC_GPR2, 0); +  	imx_ldb->dev = dev;  	if (of_id) @@ -652,14 +655,14 @@ static int imx_ldb_bind(struct device *dev, struct device *master, void *data)  		if (ret || i < 0 || i > 1)  			return -EINVAL; +		if (!of_device_is_available(child)) +			continue; +  		if (dual && i > 0) {  			dev_warn(dev, "dual-channel mode, ignoring second output\n");  			continue;  		} -		if (!of_device_is_available(child)) -			continue; -  		channel = &imx_ldb->channel[i];  		channel->ldb = imx_ldb;  		channel->chno = i;  |