goto err_free_dotclock;
        }
 
-       /*
-        * If we have an LVDS panel connected to the TCON, we should
-        * just probe the LVDS connector. Otherwise, just probe RGB as
-        * we used to.
-        */
-       remote = of_graph_get_remote_node(dev->of_node, 1, 0);
-       if (of_device_is_compatible(remote, "panel-lvds"))
-               if (can_lvds)
-                       ret = sun4i_lvds_init(drm, tcon);
+       if (tcon->quirks->has_channel_0) {
+               /*
+                * If we have an LVDS panel connected to the TCON, we should
+                * just probe the LVDS connector. Otherwise, just probe RGB as
+                * we used to.
+                */
+               remote = of_graph_get_remote_node(dev->of_node, 1, 0);
+               if (of_device_is_compatible(remote, "panel-lvds"))
+                       if (can_lvds)
+                               ret = sun4i_lvds_init(drm, tcon);
+                       else
+                               ret = -EINVAL;
                else
-                       ret = -EINVAL;
-       else
-               ret = sun4i_rgb_init(drm, tcon);
-       of_node_put(remote);
+                       ret = sun4i_rgb_init(drm, tcon);
+               of_node_put(remote);
 
-       if (ret < 0)
-               goto err_free_dotclock;
+               if (ret < 0)
+                       goto err_free_dotclock;
+       }
 
        if (tcon->quirks->needs_de_be_mux) {
                /*