summaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@nokia.com>2009-12-16 13:53:15 +0100
committerTomi Valkeinen <tomi.valkeinen@nokia.com>2010-02-15 14:14:41 +0100
commit828c48f8c51ebfc2a00e1a834b0bc9e7fd35060f (patch)
tree616907853717f904d68196906ee654b7cadcdf00 /drivers/video/omap2
parentOMAP: DSS2: DSI: add dsi_bus_is_locked() (diff)
downloadlinux-828c48f8c51ebfc2a00e1a834b0bc9e7fd35060f.tar.xz
linux-828c48f8c51ebfc2a00e1a834b0bc9e7fd35060f.zip
OMAP: DSS2: DSI: add helpers for DCS read/write
Add helper functions for most common DCS read and write operations. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Diffstat (limited to 'drivers/video/omap2')
-rw-r--r--drivers/video/omap2/dss/dsi.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index b38974523d48..e49f063fb615 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -2176,6 +2176,21 @@ int dsi_vc_dcs_write(int channel, u8 *data, int len)
}
EXPORT_SYMBOL(dsi_vc_dcs_write);
+int dsi_vc_dcs_write_0(int channel, u8 dcs_cmd)
+{
+ return dsi_vc_dcs_write(channel, &dcs_cmd, 1);
+}
+EXPORT_SYMBOL(dsi_vc_dcs_write_0);
+
+int dsi_vc_dcs_write_1(int channel, u8 dcs_cmd, u8 param)
+{
+ u8 buf[2];
+ buf[0] = dcs_cmd;
+ buf[1] = param;
+ return dsi_vc_dcs_write(channel, buf, 2);
+}
+EXPORT_SYMBOL(dsi_vc_dcs_write_1);
+
int dsi_vc_dcs_read(int channel, u8 dcs_cmd, u8 *buf, int buflen)
{
u32 val;
@@ -2268,6 +2283,21 @@ int dsi_vc_dcs_read(int channel, u8 dcs_cmd, u8 *buf, int buflen)
}
EXPORT_SYMBOL(dsi_vc_dcs_read);
+int dsi_vc_dcs_read_1(int channel, u8 dcs_cmd, u8 *data)
+{
+ int r;
+
+ r = dsi_vc_dcs_read(channel, dcs_cmd, data, 1);
+
+ if (r < 0)
+ return r;
+
+ if (r != 1)
+ return -EIO;
+
+ return 0;
+}
+EXPORT_SYMBOL(dsi_vc_dcs_read_1);
int dsi_vc_set_max_rx_packet_size(int channel, u16 len)
{