panel_simple_parse_panel_timing_node(dev, panel, &dt);
        }
 
-       if (desc->connector_type == DRM_MODE_CONNECTOR_LVDS)
+       if (desc->connector_type == DRM_MODE_CONNECTOR_LVDS) {
                /* Catch common mistakes for LVDS panels. */
                WARN_ON(desc->bus_flags &
                        ~(DRM_BUS_FLAG_DE_LOW |
                          DRM_BUS_FLAG_DE_HIGH |
                          DRM_BUS_FLAG_DATA_MSB_TO_LSB |
                          DRM_BUS_FLAG_DATA_LSB_TO_MSB));
+               WARN_ON(desc->bus_format != MEDIA_BUS_FMT_RGB666_1X7X3_SPWG &&
+                       desc->bus_format != MEDIA_BUS_FMT_RGB888_1X7X4_SPWG &&
+                       desc->bus_format != MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA);
+               WARN_ON(desc->bus_format == MEDIA_BUS_FMT_RGB666_1X7X3_SPWG &&
+                       desc->bpc != 6);
+               WARN_ON((desc->bus_format == MEDIA_BUS_FMT_RGB888_1X7X4_SPWG ||
+                        desc->bus_format == MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA) &&
+                       desc->bpc != 8);
+       }
 
        drm_panel_init(&panel->base, dev, &panel_simple_funcs,
                       desc->connector_type);