/drivers/amlogic/input/touch_screen/ssd253x-ts_TP.h

http://github.com/madmaze/Meson-3-Kernel · C Header · 127 lines · 109 code · 13 blank · 5 comment · 0 complexity · 8766959146a967e70b997d33a35f77b7 MD5 · raw file

  1. #define DRIVENO 19
  2. #define SENSENO 34
  3. #define ENABLE_INT 2 // 0->Polling, 1->Interupt, 2->Hybrid
  4. #define EdgeDisable 1 // if Edge Disable, set it to 1, else reset to 0, OR SSD2533 set 0
  5. #define RunningAverageMode 2 //{0,8},{5,3},{6,2},{7,1}
  6. #define RunningAverageDist 4 // Threshold Between two consecutive points
  7. #define MicroTimeTInterupt 25000000// 100Hz - 10,000,000us
  8. #define FINGERNO 5//10
  9. #define THRESHOLD 0x20
  10. #define SSDS53X_SCREEN_MAX_X 1024
  11. #define SSDS53X_SCREEN_MAX_Y 600
  12. #define SSD253x_TOUCH_KEY
  13. #undef SSD253x_TOUCH_KEY
  14. #ifdef SSD253x_TOUCH_KEY
  15. static uint32_t key_code[4] = {KEY_MENU, KEY_HOME, KEY_BACK, KEY_SEARCH };
  16. #endif
  17. #define SSD253x_CUT_EDGE //0x8b must be 0x00; EdgeDisable set 0
  18. #undef SSD253x_CUT_EDGE
  19. #ifdef SSD253x_CUT_EDGE
  20. #define XPOS_MAX (DRIVENO -EdgeDisable) *64
  21. #define YPOS_MAX (SENSENO -EdgeDisable) *64
  22. #endif
  23. #define SSD253x_SIMULATED_KEY
  24. //#undef SSD253x_SIMULATED_KEY
  25. #ifdef SSD253x_SIMULATED_KEY
  26. typedef struct{
  27. unsigned long left_x;
  28. unsigned long left_y;
  29. unsigned long right_x;
  30. unsigned long right_y;
  31. }SKey_Info,*pSKey_Info;
  32. SKey_Info SKeys[]={
  33. {1043,88,1088,50},
  34. {1043,238,1088,200},
  35. {1043,404,1088,362},
  36. {1043,532,1088,490},
  37. };
  38. static uint32_t key_code[4] = {KEY_SEARCH, KEY_HOME, KEY_MENU, KEY_BACK };
  39. #endif
  40. // SSD2533 Setting
  41. // Touch Panel Example
  42. struct ChipSetting ssd253xcfgTable[]={
  43. { 1, 0x06, 0x12, 0x00},
  44. { 1, 0x06, 0x12, 0x00},
  45. { 1, 0x07, 0x21, 0x00},
  46. { 2, 0x08, 0x00, 0x08},
  47. { 2, 0x09, 0x00, 0x87},
  48. { 2, 0x0A, 0x00, 0x86},
  49. { 2, 0x0B, 0x00, 0x85},
  50. { 2, 0x0C, 0x00, 0x84},
  51. { 2, 0x0D, 0x00, 0x83},
  52. { 2, 0x0E, 0x00, 0x82},
  53. { 2, 0x0F, 0x00, 0x81},
  54. { 2, 0x10, 0x00, 0X96},
  55. { 2, 0x11, 0x00, 0x95},
  56. { 2, 0x12, 0x00, 0x94},
  57. { 2, 0x13, 0x00, 0x93},
  58. { 2, 0x14, 0x00, 0X92},
  59. { 2, 0x15, 0x00, 0x91},
  60. { 2, 0x16, 0x00, 0x30},
  61. { 2, 0x17, 0x00, 0x6f},
  62. { 1, 0x1F, 0x01, 0x00},
  63. { 1, 0xD5, 0x05, 0x00},
  64. { 1, 0xD8, 0x04, 0x00},
  65. { 1, 0x2A, 0x07, 0x00},
  66. { 1, 0x2C, 0x01, 0x00},
  67. { 1, 0x2E, 0x0B, 0x00},
  68. { 1, 0x2F, 0x01, 0x00},
  69. { 1, 0x30, 0x05, 0x00},
  70. { 1, 0x31, 0x09, 0x00},
  71. { 1, 0xD7, 0x05, 0x00},
  72. { 1, 0xDB, 0x01, 0x00},
  73. { 2, 0x33, 0x00, 0x01},
  74. { 2, 0X34, 0X00, 0x50},
  75. { 2, 0x35, 0x00, 0x20},
  76. { 2, 0x36, 0x00, 0x18},
  77. { 1, 0x37, 0x00, 0x00},
  78. { 1, 0x39, 0x02, 0x00},
  79. { 1, 0x53, 0x16, 0x00},
  80. { 2, 0X54, 0X00, 0X90},
  81. { 2, 0x55, 0x00, 0x90},
  82. { 2, 0X5E, 0x00, 0x50},
  83. { 1, 0x5B, 0x20, 0x00},
  84. { 1, 0x8A, 0x06, 0x00},
  85. { 1, 0x8B, 0x01, 0x00},
  86. { 1, 0x8C, 0xB0, 0x00},
  87. { 1, 0x3D, 0x02, 0x00},
  88. { 1, 0x40, 0x60, 0x00},
  89. { 1, 0x44, 0x01, 0x00},
  90. { 1, 0x65, 0x03, 0x00},
  91. { 2, 0X66, 0x7f, 0xF8},
  92. { 2, 0X67, 0x7E, 0x48},
  93. { 2, 0x7A, 0xFF, 0xFF},
  94. { 2, 0x7B, 0x00, 0x00},
  95. { 1, 0x25, 0x0A, 0x00},
  96. };
  97. // For SSD2533 Bug Version Only //
  98. //#define SSD2533FIXEDCODE
  99. struct ChipSetting ssd253xcfgTable1[]={
  100. { 1, 0xA4, 0x00, 0x00}, //MCU prescaler default=01
  101. { 1, 0xD4, 0x08, 0x00}, //Dummy Code
  102. { 1, 0xD4, 0x08, 0x00}, //Set Osc frequency default=8, range 0 to F
  103. };
  104. struct ChipSetting Reset[]={
  105. { 0, 0x04, 0x00, 0x00}, // SSD2533
  106. };
  107. struct ChipSetting Resume[]={
  108. { 0, 0x04, 0x00, 0x00}, // SSD2533
  109. { 1, 0x25, 0x0A, 0x00}, // Set Operation Mode //Set from int setting
  110. };
  111. struct ChipSetting Suspend[] ={
  112. { 1, 0x25, 0x00, 0x00}, // Set Operation Mode
  113. { 0, 0x05, 0x00, 0x00}, // SSD2533
  114. };