linux/include/video/sh_mipi_dsi.h
<<
>>
Prefs
   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
  13enum 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
  46struct 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