On Tue, Nov 12, 2013 at 03:14:22PM +0100, Andrzej Hajda wrote:
Hi Thierry,
I have already sent patch with DSI bus implementation [1]. It was posted as the first step of CDF implementation attempt, but in fact it do not depend on CDF.
[1] http://www.mail-archive.com/dri-devel@lists.freedesktop.org/msg45252.html
Seems like that patchset was never merged. I guess probably because it was posted as part of CDF work.
Do you have any plans on continuing work on that? If not I could extract the DSI bus patch from the series, it's largely similar to the patch I proposed here, and rework it somewhat. I'd very much like to avoid putting the code in drivers/video, though, since that's considered obsolete. Furthermore I think if we kept the transfer function proposed in my patch should make it easier to address Bert's comments from your posting.
One comment below.
On 11/11/2013 01:00 PM, Thierry Reding wrote:
In order to support DSI peripherals, add a DSI bus type that devices and drivers can be registered with.
Signed-off-by: Thierry Reding treding@nvidia.com
[snip]
+/*
- DSI packet data types
- */
+/* processor-sourced packets */ +#define DSI_CMD_VSYNC_START 0x01 +#define DSI_CMD_VSYNC_END 0x11 +#define DSI_CMD_HSYNC_START 0x21 +#define DSI_CMD_HSYNC_END 0x31 +#define DSI_CMD_EOT 0x08 +#define DSI_CMD_COLOR_MODE_OFF 0x02 +#define DSI_CMD_COLOR_MODE_ON 0x12 +#define DSI_CMD_SHUT_DOWN 0x22 +#define DSI_CMD_TURN_ON 0x32 +#define DSI_CMD_GEN_SHORT_WRITE_0 0x03 +#define DSI_CMD_GEN_SHORT_WRITE_1 0x13 +#define DSI_CMD_GEN_SHORT_WRITE_2 0x23 +#define DSI_CMD_GEN_SHORT_READ_0 0x04 +#define DSI_CMD_GEN_SHORT_READ_1 0x14 +#define DSI_CMD_GEN_SHORT_READ_2 0x24 +#define DSI_CMD_DCS_SHORT_WRITE_0 0x05 +#define DSI_CMD_DCS_SHORT_WRITE_1 0x15 +#define DSI_CMD_DCS_SHORT_READ 0x06 +#define DSI_CMD_SET_MAX_RETURN_PACKET_SIZE 0x37 +#define DSI_CMD_NULL 0x09 +#define DSI_CMD_BLANK 0x19 +#define DSI_CMD_GEN_LONG_WRITE 0x29 +#define DSI_CMD_DCS_LONG_WRITE 0x39 +#define DSI_CMD_YCbCr422_20 0x0c +#define DSI_CMD_YCbCr422_24 0x1c +#define DSI_CMD_YCbCr422_16 0x2c +#define DSI_CMD_RGB30 0x0d +#define DSI_CMD_RGB36 0x1d +#define DSI_CMD_YCbCr420 0x3d +#define DSI_CMD_RGB16 0x0e +#define DSI_CMD_RGB18 0x1e +#define DSI_CMD_RGB18NP 0x2e +#define DSI_CMD_RGB24 0x3e
+/* peripheral-sourced */ +#define DSI_RSP_ACK_ERR 0x02 +#define DSI_RSP_EOT 0x08 +#define DSI_RSP_GEN_SHORT_READ_1 0x11 +#define DSI_RSP_GEN_SHORT_READ_2 0x12 +#define DSI_RSP_GEN_LONG_READ 0x1a +#define DSI_RSP_DCS_LONG_READ 0x1c +#define DSI_RSP_DCS_SHORT_READ_1 0x21 +#define DSI_RSP_DCS_SHORT_READ_2 0x22
Those macros are already defined in include/video/mipi_display.h
I wasn't aware, thanks for the pointer. It's somewhat unfortunate that that's in include/video, but judging by the git log, it has been there for quite a while.
Thierry