struct sun8i_mixer *mixer,
                                               int index)
 {
+       enum drm_plane_type type = DRM_PLANE_TYPE_OVERLAY;
        u32 supported_encodings, supported_ranges;
        unsigned int plane_cnt, format_count;
        struct sun8i_vi_layer *layer;
                format_count = ARRAY_SIZE(sun8i_vi_layer_formats);
        }
 
+       if (!mixer->cfg->ui_num && index == 0)
+               type = DRM_PLANE_TYPE_PRIMARY;
+
        /* possible crtcs are set later */
        ret = drm_universal_plane_init(drm, &layer->plane, 0,
                                       &sun8i_vi_layer_funcs,
                                       formats, format_count,
                                       sun8i_layer_modifiers,
-                                      DRM_PLANE_TYPE_OVERLAY, NULL);
+                                      type, NULL);
        if (ret) {
                dev_err(drm->dev, "Couldn't initialize layer\n");
                return ERR_PTR(ret);