When HDMI is not initialized (e.g. no monitor is plugged), the current
SimpleFB code will still create a broken SimpleFB node.

Detect whether HDMI is initialized when creating SimpleFB node.

Fixes: be5b96f0e411 ("sunxi: setup simplefb for Allwinner DE2")
Signed-off-by: Icenowy Zheng <icen...@aosc.io>
---
 drivers/video/sunxi/sunxi_de2.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/drivers/video/sunxi/sunxi_de2.c b/drivers/video/sunxi/sunxi_de2.c
index e8903400ec..6d6bb2e0c3 100644
--- a/drivers/video/sunxi/sunxi_de2.c
+++ b/drivers/video/sunxi/sunxi_de2.c
@@ -346,13 +346,19 @@ int sunxi_simplefb_setup(void *blob)
                                         "sunxi_dw_hdmi", &hdmi);
        if (ret) {
                debug("HDMI not present\n");
-               return 0;
+       } else if (device_active(hdmi)) {
+               if (mux == 0)
+                       pipeline = "mixer0-lcd0-hdmi";
+               else
+                       pipeline = "mixer1-lcd1-hdmi";
+       } else {
+               debug("HDMI present but not probed\n");
        }
 
-       if (mux == 0)
-               pipeline = "mixer0-lcd0-hdmi";
-       else
-               pipeline = "mixer1-lcd1-hdmi";
+       if (!pipeline) {
+               debug("No active display present\n");
+               return 0;
+       }
 
        de2_priv = dev_get_uclass_priv(de2);
        de2_plat = dev_get_uclass_platdata(de2);
-- 
2.13.6

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to