arm: configs: enable some touchscreen driver
[firefly-linux-kernel-4.4.55.git] / include / drm / drm_mipi_dsi.h
index f1d8d0dbb4f162f9ea1c90dda44beedf14e4c175..4396c9f22af5998d7189da51aa35bcf1d9cf8159 100644 (file)
@@ -163,6 +163,31 @@ static inline struct mipi_dsi_device *to_mipi_dsi_device(struct device *dev)
        return container_of(dev, struct mipi_dsi_device, dev);
 }
 
+/**
+ * mipi_dsi_pixel_format_to_bpp - obtain the number of bits per pixel for any
+ *                                given pixel format defined by the MIPI DSI
+ *                                specification
+ * @fmt: MIPI DSI pixel format
+ *
+ * Returns: The number of bits per pixel of the given pixel format.
+ */
+static inline int mipi_dsi_pixel_format_to_bpp(enum mipi_dsi_pixel_format fmt)
+{
+       switch (fmt) {
+       case MIPI_DSI_FMT_RGB888:
+       case MIPI_DSI_FMT_RGB666:
+               return 24;
+
+       case MIPI_DSI_FMT_RGB666_PACKED:
+               return 18;
+
+       case MIPI_DSI_FMT_RGB565:
+               return 16;
+       }
+
+       return -EINVAL;
+}
+
 struct mipi_dsi_device *of_find_mipi_dsi_device_by_node(struct device_node *np);
 int mipi_dsi_attach(struct mipi_dsi_device *dsi);
 int mipi_dsi_detach(struct mipi_dsi_device *dsi);