fbconfig_kdebug.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. #ifndef __FBCONFIG_KDEBUG_H
  2. #define __FBCONFIG_KDEBUG_H
  3. #include <linux/types.h>
  4. #include "ddp_ovl.h"
  5. void PanelMaster_Init(void);
  6. void PanelMaster_Deinit(void);
  7. int fb_config_execute_cmd(void);
  8. int fbconfig_get_esd_check_exec(void);
  9. #ifndef TOTAL_OVL_LAYER_NUM
  10. #define TOTAL_OVL_LAYER_NUM OVL_LAYER_NUM
  11. #endif
  12. #define MAX_INSTRUCTION 35
  13. #define NUM_OF_DSI 1
  14. typedef enum {
  15. RECORD_CMD = 0,
  16. RECORD_MS = 1,
  17. RECORD_PIN_SET = 2,
  18. } RECORD_TYPE;
  19. typedef enum {
  20. PM_DSI0 = 0,
  21. PM_DSI1 = 1,
  22. PM_DSI_DUAL = 2,
  23. PM_DSI_MAX = 0XFF,
  24. } DSI_INDEX;
  25. typedef struct CONFIG_RECORD {
  26. RECORD_TYPE type; /* msleep;cmd;setpin;resetpin. */
  27. int ins_num;
  28. int ins_array[MAX_INSTRUCTION];
  29. } CONFIG_RECORD;
  30. typedef struct CONFIG_RECORD_LIST {
  31. CONFIG_RECORD record;
  32. struct list_head list;
  33. } CONFIG_RECORD_LIST;
  34. typedef enum {
  35. HS_PRPR = 0,
  36. HS_ZERO = 1,
  37. HS_TRAIL = 2,
  38. TA_GO = 3,
  39. TA_SURE = 4,
  40. TA_GET = 5,
  41. DA_HS_EXIT = 6,
  42. CLK_ZERO = 7,
  43. CLK_TRAIL = 8,
  44. CONT_DET = 9,
  45. CLK_HS_PRPR = 10,
  46. CLK_HS_POST = 11,
  47. CLK_HS_EXIT = 12,
  48. HPW = 13,
  49. HFP = 14,
  50. HBP = 15,
  51. VPW = 16,
  52. VFP = 17,
  53. VBP = 18,
  54. LPX = 19,
  55. SSC_EN = 0xFE,
  56. MAX = 0XFF,
  57. } MIPI_SETTING_TYPE;
  58. typedef struct MIPI_TIMING {
  59. MIPI_SETTING_TYPE type;
  60. unsigned int value;
  61. } MIPI_TIMING;
  62. typedef struct SETTING_VALUE {
  63. DSI_INDEX dsi_index;
  64. unsigned int value[NUM_OF_DSI];
  65. } SETTING_VALUE;
  66. typedef struct PM_LAYER_EN {
  67. int layer_en[TOTAL_OVL_LAYER_NUM];
  68. } PM_LAYER_EN;
  69. typedef struct PM_LAYER_INFO {
  70. int index;
  71. int height;
  72. int width;
  73. int fmt;
  74. unsigned int layer_size;
  75. } PM_LAYER_INFO;
  76. typedef struct ESD_PARA {
  77. int addr;
  78. int type;
  79. int para_num;
  80. char *esd_ret_buffer;
  81. } ESD_PARA;
  82. #if 0
  83. typedef struct LAYER_H_SIZE {
  84. int layer_size;
  85. int height;
  86. int fmt;
  87. } LAYER_H_SIZE;
  88. #endif
  89. typedef struct MIPI_CLK_V2 {
  90. unsigned char div1;
  91. unsigned char div2;
  92. unsigned short fbk_div;
  93. } MIPI_CLK_V2;
  94. typedef struct LCM_TYPE_FB {
  95. int clock;
  96. int lcm_type;
  97. } LCM_TYPE_FB;
  98. typedef struct DSI_RET {
  99. int dsi[NUM_OF_DSI]; /* for there are totally 2 dsi. */
  100. } DSI_RET;
  101. typedef struct LCM_REG_READ {
  102. int check_addr;
  103. int check_para_num;
  104. int check_type;
  105. char *check_buffer;
  106. } LCM_REG_READ;
  107. typedef struct {
  108. void (*set_cmd_mode)(void);
  109. int (*set_mipi_clk)(unsigned int clk);
  110. void (*set_dsi_post)(void);
  111. void (*set_lane_num)(unsigned int lane_num);
  112. void (*set_mipi_timing)(MIPI_TIMING timing);
  113. void (*set_te_enable)(char enable);
  114. void (*set_continuous_clock)(int enable);
  115. int (*set_spread_frequency)(unsigned int clk);
  116. int (*set_get_misc)(const char *name, void *parameter);
  117. } FBCONFIG_DISP_IF;
  118. struct misc_property {
  119. unsigned int dual_port:1;
  120. unsigned int overall_layer_num:5;
  121. unsigned int reserved:26;
  122. };
  123. void Panel_Master_DDIC_config(void);
  124. int fbconfig_get_esd_check(DSI_INDEX dsi_id, uint32_t cmd, uint8_t *buffer, uint32_t num);
  125. #include <linux/uaccess.h>
  126. #include <linux/compat.h>
  127. #ifdef CONFIG_COMPAT
  128. struct compat_lcm_type_fb {
  129. compat_int_t clock;
  130. compat_int_t lcm_type;
  131. };
  132. struct compat_config_record {
  133. compat_int_t type; /* msleep;cmd;setpin;resetpin. */
  134. compat_int_t ins_num;
  135. compat_int_t ins_array[MAX_INSTRUCTION];
  136. };
  137. struct compat_dsi_ret {
  138. compat_int_t dsi[NUM_OF_DSI]; /* for there are totally 2 dsi. */
  139. };
  140. struct compat_mipi_timing {
  141. compat_int_t type;
  142. compat_uint_t value;
  143. };
  144. struct compat_pm_layer_en {
  145. compat_int_t layer_en[TOTAL_OVL_LAYER_NUM];
  146. };
  147. struct compat_pm_layer_info {
  148. compat_int_t index;
  149. compat_int_t height;
  150. compat_int_t width;
  151. compat_int_t fmt;
  152. compat_uint_t layer_size;
  153. };
  154. struct compat_esd_para {
  155. compat_int_t addr;
  156. compat_int_t type;
  157. compat_int_t para_num;
  158. compat_uint_t esd_ret_buffer;
  159. };
  160. #endif
  161. /* end CONFIG_COMPAT */
  162. #endif
  163. /* __FBCONFIG_KDEBUG_H */