ddp_dpi.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. #ifndef __DDP_DPI_H__
  2. #define __DDP_DPI_H__
  3. /*#include <mach/mt_typedefs.h>*/
  4. #include <linux/types.h>
  5. #include "lcm_drv.h"
  6. #include "ddp_info.h"
  7. #include "cmdq_record.h"
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. #ifndef FALSE
  12. #define FALSE (0)
  13. #endif
  14. #ifndef TRUE
  15. #define TRUE (1)
  16. #endif
  17. #ifndef NULL
  18. #define NULL (0)
  19. #endif
  20. #define DPI_PHY_ADDR 0x14012000
  21. #define DPI_CHECK_RET(expr) \
  22. do { \
  23. enum DPI_STATUS ret = (expr); \
  24. ASSERT(DPI_STATUS_OK == ret); \
  25. } while (0) \
  26. /*for legacy DPI Driver*/
  27. enum LCD_IF_ID {
  28. LCD_IF_PARALLEL_0 = 0,
  29. LCD_IF_PARALLEL_1 = 1,
  30. LCD_IF_PARALLEL_2 = 2,
  31. LCD_IF_SERIAL_0 = 3,
  32. LCD_IF_SERIAL_1 = 4,
  33. LCD_IF_ALL = 0xFF,
  34. };
  35. struct LCD_REG_CMD_ADDR {
  36. unsigned rsv_0:4;
  37. unsigned addr:4;
  38. unsigned rsv_8:24;
  39. };
  40. struct LCD_REG_DAT_ADDR {
  41. unsigned rsv_0:4;
  42. unsigned addr:4;
  43. unsigned rsv_8:24;
  44. };
  45. enum LCD_IF_FMT_COLOR_ORDER {
  46. LCD_IF_FMT_COLOR_ORDER_RGB = 0,
  47. LCD_IF_FMT_COLOR_ORDER_BGR = 1,
  48. };
  49. enum LCD_IF_FMT_TRANS_SEQ {
  50. LCD_IF_FMT_TRANS_SEQ_MSB_FIRST = 0,
  51. LCD_IF_FMT_TRANS_SEQ_LSB_FIRST = 1,
  52. };
  53. enum LCD_IF_FMT_PADDING {
  54. LCD_IF_FMT_PADDING_ON_LSB = 0,
  55. LCD_IF_FMT_PADDING_ON_MSB = 1,
  56. };
  57. enum LCD_IF_FORMAT {
  58. LCD_IF_FORMAT_RGB332 = 0,
  59. LCD_IF_FORMAT_RGB444 = 1,
  60. LCD_IF_FORMAT_RGB565 = 2,
  61. LCD_IF_FORMAT_RGB666 = 3,
  62. LCD_IF_FORMAT_RGB888 = 4,
  63. };
  64. enum LCD_IF_WIDTH {
  65. LCD_IF_WIDTH_8_BITS = 0,
  66. LCD_IF_WIDTH_9_BITS = 2,
  67. LCD_IF_WIDTH_16_BITS = 1,
  68. LCD_IF_WIDTH_18_BITS = 3,
  69. LCD_IF_WIDTH_24_BITS = 4,
  70. LCD_IF_WIDTH_32_BITS = 5,
  71. };
  72. enum DPI_STATUS {
  73. DPI_STATUS_OK = 0,
  74. DPI_STATUS_ERROR,
  75. };
  76. enum DPI_POLARITY {
  77. DPI_POLARITY_RISING = 0,
  78. DPI_POLARITY_FALLING = 1
  79. };
  80. enum DPI_RGB_ORDER {
  81. DPI_RGB_ORDER_RGB = 0,
  82. DPI_RGB_ORDER_BGR = 1,
  83. };
  84. enum DPI_CLK_FREQ {
  85. DPI_CLK_480p = 27027,
  86. DPI_CLK_480p_3D = 27027 * 2,
  87. DPI_CLK_720p = 74250,
  88. DPI_CLK_1080p = 148500
  89. };
  90. struct LCD_REG_WROI_CON {
  91. unsigned RGB_ORDER:1;
  92. unsigned BYTE_ORDER:1;
  93. unsigned PADDING:1;
  94. unsigned DATA_FMT:3;
  95. unsigned IF_FMT:2;
  96. unsigned COMMAND:5;
  97. unsigned rsv_13:2;
  98. unsigned ENC:1;
  99. unsigned rsv_16:8;
  100. unsigned SEND_RES_MODE:1;
  101. unsigned IF_24:1;
  102. unsigned rsv_6:6;
  103. };
  104. int ddp_dpi_stop(DISP_MODULE_ENUM module, void *cmdq_handle);
  105. int ddp_dpi_power_on(DISP_MODULE_ENUM module, void *cmdq_handle);
  106. int ddp_dpi_power_off(DISP_MODULE_ENUM module, void *cmdq_handle);
  107. int ddp_dpi_dump(DISP_MODULE_ENUM module, int level);
  108. int ddp_dpi_start(DISP_MODULE_ENUM module, void *cmdq);
  109. int ddp_dpi_init(DISP_MODULE_ENUM module, void *cmdq);
  110. int ddp_dpi_deinit(DISP_MODULE_ENUM module, void *cmdq_handle);
  111. int ddp_dpi_config(DISP_MODULE_ENUM module, disp_ddp_path_config *config,
  112. void *cmdq_handle);
  113. int ddp_dpi_trigger(DISP_MODULE_ENUM module, void *cmdq);
  114. int ddp_dpi_reset(DISP_MODULE_ENUM module, void *cmdq_handle);
  115. int ddp_dpi_ioctl(DISP_MODULE_ENUM module, void *cmdq_handle, unsigned int ioctl_cmd,
  116. unsigned long *params);
  117. int _Enable_Interrupt(void);
  118. enum AviColorSpace_e {
  119. acsRGB = 0, acsYCbCr422 = 1, acsYCbCr444 = 2, acsFuture = 3
  120. };
  121. extern struct DPI_REGS *DPI_REG;
  122. #ifdef __cplusplus
  123. }
  124. #endif
  125. #endif /*__DPI_DRV_H__*/