sh_mipi_dsi.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. enum sh_mipi_dsi_data_fmt {
  13. MIPI_RGB888,
  14. MIPI_RGB565,
  15. MIPI_RGB666_LP,
  16. MIPI_RGB666,
  17. MIPI_BGR888,
  18. MIPI_BGR565,
  19. MIPI_BGR666_LP,
  20. MIPI_BGR666,
  21. MIPI_YUYV,
  22. MIPI_UYVY,
  23. MIPI_YUV420_L,
  24. MIPI_YUV420,
  25. };
  26. #define SH_MIPI_DSI_HSABM (1 << 0)
  27. #define SH_MIPI_DSI_HBPBM (1 << 1)
  28. #define SH_MIPI_DSI_HFPBM (1 << 2)
  29. #define SH_MIPI_DSI_BL2E (1 << 3)
  30. #define SH_MIPI_DSI_VSEE (1 << 4)
  31. #define SH_MIPI_DSI_HSEE (1 << 5)
  32. #define SH_MIPI_DSI_HSAE (1 << 6)
  33. #define SH_MIPI_DSI_HSbyteCLK (1 << 24)
  34. #define SH_MIPI_DSI_HS6divCLK (1 << 25)
  35. #define SH_MIPI_DSI_HS4divCLK (1 << 26)
  36. #define SH_MIPI_DSI_SYNC_PULSES_MODE (SH_MIPI_DSI_VSEE | \
  37. SH_MIPI_DSI_HSEE | \
  38. SH_MIPI_DSI_HSAE)
  39. #define SH_MIPI_DSI_SYNC_EVENTS_MODE (0)
  40. #define SH_MIPI_DSI_SYNC_BURST_MODE (SH_MIPI_DSI_BL2E)
  41. struct sh_mipi_dsi_info {
  42. enum sh_mipi_dsi_data_fmt data_format;
  43. int channel;
  44. int lane;
  45. unsigned long flags;
  46. u32 clksrc;
  47. u32 phyctrl; /* for extra setting */
  48. unsigned int vsynw_offset;
  49. int (*set_dot_clock)(struct platform_device *pdev,
  50. void __iomem *base,
  51. int enable);
  52. };
  53. #endif