|
@@ -627,6 +627,31 @@ int mipi_dsi_dcs_get_power_mode(struct mipi_dsi_device *dsi, u8 *mode)
|
|
|
}
|
|
|
EXPORT_SYMBOL(mipi_dsi_dcs_get_power_mode);
|
|
|
|
|
|
+/**
|
|
|
+ * mipi_dsi_dcs_get_pixel_format() - gets the pixel format for the RGB image
|
|
|
+ * data used by the interface
|
|
|
+ * @dsi: DSI peripheral device
|
|
|
+ * @format: return location for the pixel format
|
|
|
+ *
|
|
|
+ * Return: 0 on success or a negative error code on failure.
|
|
|
+ */
|
|
|
+int mipi_dsi_dcs_get_pixel_format(struct mipi_dsi_device *dsi, u8 *format)
|
|
|
+{
|
|
|
+ ssize_t err;
|
|
|
+
|
|
|
+ err = mipi_dsi_dcs_read(dsi, MIPI_DCS_GET_PIXEL_FORMAT, format,
|
|
|
+ sizeof(*format));
|
|
|
+ if (err <= 0) {
|
|
|
+ if (err == 0)
|
|
|
+ err = -ENODATA;
|
|
|
+
|
|
|
+ return err;
|
|
|
+ }
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(mipi_dsi_dcs_get_pixel_format);
|
|
|
+
|
|
|
/**
|
|
|
* mipi_dsi_dcs_enter_sleep_mode() - disable all unnecessary blocks inside the
|
|
|
* display module except interface communication
|
|
@@ -745,6 +770,27 @@ int mipi_dsi_dcs_set_tear_on(struct mipi_dsi_device *dsi,
|
|
|
}
|
|
|
EXPORT_SYMBOL(mipi_dsi_dcs_set_tear_on);
|
|
|
|
|
|
+/**
|
|
|
+ * mipi_dsi_dcs_set_pixel_format() - sets the pixel format for the RGB image
|
|
|
+ * data used by the interface
|
|
|
+ * @dsi: DSI peripheral device
|
|
|
+ * @format: pixel format
|
|
|
+ *
|
|
|
+ * Return: 0 on success or a negative error code on failure.
|
|
|
+ */
|
|
|
+int mipi_dsi_dcs_set_pixel_format(struct mipi_dsi_device *dsi, u8 format)
|
|
|
+{
|
|
|
+ ssize_t err;
|
|
|
+
|
|
|
+ err = mipi_dsi_dcs_write(dsi, MIPI_DCS_SET_PIXEL_FORMAT, &format,
|
|
|
+ sizeof(format));
|
|
|
+ if (err < 0)
|
|
|
+ return err;
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(mipi_dsi_dcs_set_pixel_format);
|
|
|
+
|
|
|
static int mipi_dsi_drv_probe(struct device *dev)
|
|
|
{
|
|
|
struct mipi_dsi_driver *drv = to_mipi_dsi_driver(dev->driver);
|