Merge tag 'v3.10.65' into update
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / video / sh_mipi_dsi.h
1 /*
2 * Public SH-mobile MIPI DSI header
3 *
4 * Copyright (C) 2010 Guennadi Liakhovetski <g.liakhovetski@gmx.de>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10 #ifndef VIDEO_SH_MIPI_DSI_H
11 #define VIDEO_SH_MIPI_DSI_H
12
13 enum sh_mipi_dsi_data_fmt {
14 MIPI_RGB888,
15 MIPI_RGB565,
16 MIPI_RGB666_LP,
17 MIPI_RGB666,
18 MIPI_BGR888,
19 MIPI_BGR565,
20 MIPI_BGR666_LP,
21 MIPI_BGR666,
22 MIPI_YUYV,
23 MIPI_UYVY,
24 MIPI_YUV420_L,
25 MIPI_YUV420,
26 };
27
28 #define SH_MIPI_DSI_HSABM (1 << 0)
29 #define SH_MIPI_DSI_HBPBM (1 << 1)
30 #define SH_MIPI_DSI_HFPBM (1 << 2)
31 #define SH_MIPI_DSI_BL2E (1 << 3)
32 #define SH_MIPI_DSI_VSEE (1 << 4)
33 #define SH_MIPI_DSI_HSEE (1 << 5)
34 #define SH_MIPI_DSI_HSAE (1 << 6)
35
36 #define SH_MIPI_DSI_HSbyteCLK (1 << 24)
37 #define SH_MIPI_DSI_HS6divCLK (1 << 25)
38 #define SH_MIPI_DSI_HS4divCLK (1 << 26)
39
40 #define SH_MIPI_DSI_SYNC_PULSES_MODE (SH_MIPI_DSI_VSEE | \
41 SH_MIPI_DSI_HSEE | \
42 SH_MIPI_DSI_HSAE)
43 #define SH_MIPI_DSI_SYNC_EVENTS_MODE (0)
44 #define SH_MIPI_DSI_SYNC_BURST_MODE (SH_MIPI_DSI_BL2E)
45
46 struct sh_mipi_dsi_info {
47 enum sh_mipi_dsi_data_fmt data_format;
48 int channel;
49 int lane;
50 unsigned long flags;
51 u32 clksrc;
52 u32 phyctrl; /* for extra setting */
53 unsigned int vsynw_offset;
54 int (*set_dot_clock)(struct platform_device *pdev,
55 void __iomem *base,
56 int enable);
57 };
58
59 #endif