提交 cd529f7a 编写于 作者: A Arnaud Patard (Rtp) 提交者: Anatolij Gustschin

rockchip: video: edp: Add missing reset support

In order to ensure that the eDP registers are in correct state,
add missing support for the eDP reset lines found in the device-tree.
Signed-off-by: NArnaud Patard <arnaud.patard@rtp-net.org>
Tested-by: NPeter Robinson <pbrobinson@gmail.com>
上级 3fd64112
......@@ -8,11 +8,13 @@
#include <clk.h>
#include <display.h>
#include <dm.h>
#include <dm/device_compat.h>
#include <edid.h>
#include <log.h>
#include <malloc.h>
#include <panel.h>
#include <regmap.h>
#include <reset.h>
#include <syscon.h>
#include <asm/gpio.h>
#include <asm/io.h>
......@@ -1053,6 +1055,7 @@ static int rk_edp_probe(struct udevice *dev)
struct rk_edp_priv *priv = dev_get_priv(dev);
struct rk3288_edp *regs = priv->regs;
struct rockchip_dp_data *edp_data = (struct rockchip_dp_data *)dev_get_driver_data(dev);
struct reset_ctl dp_rst;
struct clk clk;
int ret;
......@@ -1065,6 +1068,25 @@ static int rk_edp_probe(struct udevice *dev)
return ret;
}
ret = reset_get_by_name(dev, "dp", &dp_rst);
if (ret) {
dev_err(dev, "failed to get dp reset (ret=%d)\n", ret);
return ret;
}
ret = reset_assert(&dp_rst);
if (ret) {
dev_err(dev, "failed to assert dp reset (ret=%d)\n", ret);
return ret;
}
udelay(20);
ret = reset_deassert(&dp_rst);
if (ret) {
dev_err(dev, "failed to deassert dp reset (ret=%d)\n", ret);
return ret;
}
int vop_id = uc_plat->source_id;
debug("%s, uc_plat=%p, vop_id=%u\n", __func__, uc_plat, vop_id);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册