提交 987a404a 编写于 作者: S Simon Glass

rockchip: video: Check for device in use

Check whether a display device is in use before using it. Add a comment as
to why two displays cannot currently be used at the same time.

This allows us to remove the device-tree change that disables vopb on
jerry.
Signed-off-by: NSimon Glass <sjg@chromium.org>
上级 1b68283b
......@@ -108,11 +108,6 @@
pinctrl-0 = <&vcc50_hdmi_en>;
};
&vopb {
/* Disable this so that we use vopl */
status = "disabled";
};
&edp {
pinctrl-names = "default";
pinctrl-0 = <&edp_hpd>;
......
......@@ -13,6 +13,8 @@
/ {
aliases {
i2c20 = &i2c_tunnel;
video0 = &vopl;
video1 = &vopb;
};
gpio_keys: gpio-keys {
......
......@@ -221,6 +221,11 @@ int rk_display_init(struct udevice *dev, ulong fbbase,
disp_uc_plat = dev_get_uclass_platdata(disp);
debug("Found device '%s', disp_uc_priv=%p\n", disp->name, disp_uc_plat);
if (display_in_use(disp)) {
debug(" - device in use\n");
return -EBUSY;
}
disp_uc_plat->source_id = remote_vop_id;
disp_uc_plat->src_dev = dev;
......@@ -311,6 +316,10 @@ static int rk_vop_probe(struct udevice *dev)
/*
* Try all the ports until we find one that works. In practice this
* tries EDP first if available, then HDMI.
*
* Note that rockchip_vop_set_clk() always uses NPLL as the source
* clock so it is currently not possible to use more than one display
* device simultaneously.
*/
port = fdt_subnode_offset(blob, dev->of_offset, "port");
if (port < 0)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册