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 struct sh_mobile_lcdc_chan_cfg; 29 30 #define SH_MIPI_DSI_HSABM (1 << 0) 31 #define SH_MIPI_DSI_HBPBM (1 << 1) 32 #define SH_MIPI_DSI_HFPBM (1 << 2) 33 #define SH_MIPI_DSI_BL2E (1 << 3) 34 #define SH_MIPI_DSI_VSEE (1 << 4) 35 #define SH_MIPI_DSI_HSEE (1 << 5) 36 #define SH_MIPI_DSI_HSAE (1 << 6) 37 38 #define SH_MIPI_DSI_HSbyteCLK (1 << 24) 39 #define SH_MIPI_DSI_HS6divCLK (1 << 25) 40 #define SH_MIPI_DSI_HS4divCLK (1 << 26) 41 42 #define SH_MIPI_DSI_SYNC_PULSES_MODE (SH_MIPI_DSI_VSEE | \ 43 SH_MIPI_DSI_HSEE | \ 44 SH_MIPI_DSI_HSAE) 45 #define SH_MIPI_DSI_SYNC_EVENTS_MODE (0) 46 #define SH_MIPI_DSI_SYNC_BURST_MODE (SH_MIPI_DSI_BL2E) 47 48 struct sh_mipi_dsi_info { 49 enum sh_mipi_dsi_data_fmt data_format; 50 struct sh_mobile_lcdc_chan_cfg *lcd_chan; 51 int lane; 52 unsigned long flags; 53 u32 clksrc; 54 unsigned int vsynw_offset; 55 int (*set_dot_clock)(struct platform_device *pdev, 56 void __iomem *base, 57 int enable); 58 }; 59 60 #endif 61