{
        struct analogix_dp_device *dp = bridge->driver_private;
        struct drm_encoder *encoder = dp->encoder;
-       struct drm_connector *connector = &dp->connector;
-       int ret;
+       struct drm_connector *connector = NULL;
+       int ret = 0;
 
        if (!bridge->encoder) {
                DRM_ERROR("Parent encoder object not found");
                return -ENODEV;
        }
 
-       connector->polled = DRM_CONNECTOR_POLL_HPD;
+       if (!dp->plat_data->skip_connector) {
+               connector = &dp->connector;
+               connector->polled = DRM_CONNECTOR_POLL_HPD;
 
-       ret = drm_connector_init(dp->drm_dev, connector,
-                                &analogix_dp_connector_funcs,
-                                DRM_MODE_CONNECTOR_eDP);
-       if (ret) {
-               DRM_ERROR("Failed to initialize connector with drm\n");
-               return ret;
-       }
+               ret = drm_connector_init(dp->drm_dev, connector,
+                                        &analogix_dp_connector_funcs,
+                                        DRM_MODE_CONNECTOR_eDP);
+               if (ret) {
+                       DRM_ERROR("Failed to initialize connector with drm\n");
+                       return ret;
+               }
 
-       drm_connector_helper_add(connector,
-                                &analogix_dp_connector_helper_funcs);
-       drm_mode_connector_attach_encoder(connector, encoder);
+               drm_connector_helper_add(connector,
+                                        &analogix_dp_connector_helper_funcs);
+               drm_mode_connector_attach_encoder(connector, encoder);
+       }
 
        /*
         * NOTE: the connector registration is implemented in analogix