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