• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
60