Customization.h 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. #ifndef _CUSTOMIZATION_H_
  2. #define _CUSTOMIZATION_H_
  3. #include "drv_types.h"
  4. // Custom section
  5. // 0xbc00:F000~0xFFFF (Total Size: 4K)
  6. typedef struct _DARG { // Data Adjust Range // keep 2013/08/12, Richie.Chang
  7. short OSD_MIN; // User mode
  8. short OSD_MAX;
  9. short DRV_MIN; // Register mode
  10. short DRV_MAX;
  11. }DARG, *PDARG;
  12. typedef struct _ADJUST_RANGE_ITEM { // keep 2013/08/12, Richie.Chang
  13. UINT8 Reserved; // 0x105
  14. UINT8 CheckSum; // 0x106 {UINT16 sum = *((UINT16*)(&CheckSum))}
  15. UINT8 CheckSum_H; // 0x107
  16. UINT8 pAdjustData[512-3];//3 for alignment //0x108 struct ADJUST_RANGE will copy there
  17. }ADJUST_RANGE_ITEM, *PADJUST_RANGE_ITEM;
  18. typedef struct _ADJUST_RANGE { // keep 2013/08/12, Richie.Chang
  19. DARG VIP_Brightness; // 0x108
  20. DARG VIP_Contrast; // 0x110
  21. DARG VIP_Sharpness; // 0x118
  22. DARG VIP_Saturation; // 0x120
  23. DARG VIP_Tint; // 0x128
  24. DARG VIP_FleshTone; // 0x130
  25. DARG VIP_ColorTempRgain; // 0x138
  26. DARG VIP_ColorTempGgain; // 0x140
  27. DARG VIP_ColorTempBgain; // 0x148
  28. DARG VIP_ColorTempRoffset; // 0x150
  29. DARG VIP_ColorTempGoffset; // 0x158
  30. DARG VIP_ColorTempBoffset; // 0x160
  31. DARG VIP_RegionColor1; // 0x168
  32. DARG VIP_RegionColor2; // 0x170
  33. DARG VIP_RegionColor3; // 0x178
  34. DARG VIP_RegionColor4; // 0x180
  35. DARG VIP_RegionColor5; // 0x188
  36. DARG VIP_RegionColor6; // 0x190
  37. DARG VIP_PC_Hposition; // 0x198
  38. DARG VIP_PC_Vposition; // 0x1A0
  39. DARG VIP_PC_Hsize; // 0x1A8
  40. DARG VIP_PC_Vsize; // 0x1B0
  41. DARG ADC_PC_Phase; // 0x1B8
  42. DARG ADC_PC_Clock; // 0x1C0
  43. DARG ADC_Rgain; // 0x1C8
  44. DARG ADC_Ggain; // 0x1D0
  45. DARG ADC_Bgain; // 0x1D8
  46. DARG ADC_Roffset; // 0x1E0
  47. DARG ADC_Goffset; // 0x1E8
  48. DARG ADC_Boffset; // 0x1F0
  49. DARG Audio_Equalizer_100Hz; // 0x1F8
  50. DARG Audio_Equalizer_300Hz; // 0x200
  51. DARG Audio_Equalizer_1KHz; // 0x208
  52. DARG Audio_Equalizer_3KHz; // 0x210
  53. DARG Audio_Equalizer_10KHz; // 0x218
  54. DARG Audio_Volume; // 0x220
  55. DARG Audio_Balance; // 0x228
  56. DARG Audio_AV_out_volume; // 0x230
  57. DARG Audio_Volume_offset; // 0x238
  58. DARG Audio_Lip_Sync; // 0x240
  59. DARG CVD2_Brightness; // 0x248
  60. DARG CVD2_Contrast; // 0x250
  61. DARG CVD2_Saturation; // 0x258
  62. DARG CVD2_Hue; // 0x260
  63. DARG CVD2_Primary_CTI; // 0x268
  64. DARG CVD2_Secondary_CTI; // 0x270
  65. DARG CVD2_LTI; // 0x278
  66. DARG CVD2_LDLY; // 0x280
  67. DARG LCD_BackLight; // 0x288 ~ 0x28F
  68. // 515-(49*sizeof(DARG)+3), 0x290 ~ 0x307
  69. }ADJUST_RANGE, *PADJUST_RANGE;
  70. /*
  71. typedef struct _EPG_PARAM {
  72. UINT8 nId[2]; // 'p' 'g'
  73. UINT8 nReserve[2]; // should be zero
  74. unsigned bRemoveColorButton:1;
  75. unsigned bRemoveNoneRating:1;
  76. unsigned bGoto12HourForTimePage:1;
  77. unsigned bEpgTimeOut:1;
  78. unsigned nValue4:1; //unused
  79. unsigned nValue5:1; //unused
  80. unsigned nValue6:1; //unused
  81. unsigned nValue7:1; //unused
  82. unsigned nValue8:24;//unused
  83. }EPG_PARAM, *PEPG_PARAM;
  84. */
  85. typedef struct _GPIO_USAGE {
  86. UINT8 index;
  87. UINT8 type:1; // 1: Open drain 0:Push-Pull output
  88. UINT8 enable_value:1; // high / low
  89. UINT8 enable_internal_pull_up:1;
  90. UINT8 enable_internal_pull_down:1;
  91. UINT8 reserved:4;
  92. }GPIO_USAGE, *PGPIO_USAGE;
  93. typedef struct _IR_Power_On_Key_Code{ // Add 2013/08/12 and remove old struct
  94. UINT16 PowerKey_number;
  95. UINT32 Key_Code[14]; // ADDRESS[31:24], ADDRESS_BAR[23:16] COMMAND[15:8], COMMAND_BAR[7:0]
  96. }IR_PowerOnKeyCode;
  97. typedef struct _IR_Panel_Switch_Key_Code{ // Add 2013/12/13
  98. UINT16 PanelKey_number;
  99. UINT32 Key_Code[CONFIG_PANEL_NUM]; // ADDRESS[31:24], ADDRESS_BAR[23:16] COMMAND[15:8], COMMAND_BAR[7:0]
  100. }IR_PanelSwitchKeyCode;
  101. typedef struct _CUSTIMIZATION_TABLE {
  102. // IR
  103. UINT32 IRCommandType; // 00~03 IR_CODING
  104. UINT32 pIR_Set[33]; // 04~87 (132 bytes (4 x 33))
  105. UINT32 IR2CommandType; // 88~8B IR_CODING
  106. UINT32 pIR2_Set[33]; // 8C~10F (132 bytes (4 x 33))
  107. UINT8 PowerOnKeySets; // 110~113 number of remote controls
  108. // KEYPAD
  109. UINT32 KEYPAD_PWR_ON_KEY; // 114~117
  110. // LED
  111. UINT8 GreenLEDNum :7; // 118, bit[6:0] GPIO/PWM number
  112. UINT8 GreenLEDMode:1; // bit [7] 1: GPIO mode, 0: PWM mode
  113. UINT8 RedLEDNum :7; // 119, bit[6:0] GPIO/PWM number
  114. UINT8 RedLEDMode :1; // bit [7] 1: GPIO mode, 0: PWM mode
  115. UINT8 LEDOnStatus; // 11A, bit 7: 1/0 ==> GREEN LED H/L bit 6: 1/0 ==> RED LED H/L bit [3:0] ==> 0x2ee0000 >> (15-bit[3:0])
  116. UINT8 LEDOffStatus; // 11B, bit 7: 1/0 ==> GREEN LED H/L bit 6: 1/0 ==> RED LED H/L bit [3:0] ==> 0x2ee0000 >> (15-bit[3:0])
  117. // Panel
  118. UINT8 PanelPWROnGPIONum; // 11C
  119. UINT8 PanelBackLightGPIONum; // 11D
  120. UINT8 PanelPWMNum; // 11E
  121. //DVD IR OUT
  122. UINT8 DVD_IROUT_GPIO_NO; // 11F
  123. UINT32 Custom_self_ID; // 120~123 /* Owner each project PM recommend as manufactur ID + serial */ // keep 2013/08/12, Livian.Chen
  124. UINT32 Custom_self_Feature;// 124~127 /* Owner each project PM for bit use it; bit[0] 1: panel Inverse*/ // keep 2013/08/12, Livian.Chen
  125. //HDMI port map
  126. UINT8 HDMISwitchMap; // 128
  127. UINT8 HDMIHPDInvertMap; // 129 Hutplug detecte invert mask for each port
  128. UINT32 HDMIPortMap; // 12C~12E
  129. UINT8 PowerCtrlGPIONO :7; // 130
  130. UINT8 PowerCtrlEnable :1;
  131. UINT8 PanelNum; //131
  132. UINT8 keypad0_adj_b0; //132
  133. UINT8 keypad0_adj_b1; //133
  134. UINT8 keypad0_adj_b2; //134
  135. UINT8 keypad1_adj_b0; //135
  136. UINT8 keypad1_adj_b1; //136
  137. UINT8 keypad1_adj_b2; //137
  138. #ifdef CONFIG_SUPPORT_ETHERNET
  139. // Reserved space
  140. UINT8 Reserved[2];
  141. UINT8 MAC[10];
  142. #else
  143. // Reserved space
  144. UINT8 Reserved[12];//138
  145. #endif
  146. // KEYPAD LEVEL
  147. UINT32 R_MLKEY_0_LEVEL; //level0~3 144
  148. UINT32 R_MLKEY_4_LEVEL; //level4~7 148
  149. UINT8 R_MLKEY_8_LEVEL; //level8 14c
  150. UINT8 Reserved2[3];
  151. //PowerOnKey
  152. IR_PowerOnKeyCode IR_PowerOnKey[CONFIG_ROMOTE_CTL_NUM]; //150~
  153. //keycode array for mapping panel idx if use multi-panel function
  154. IR_PanelSwitchKeyCode IR_PanelMapKey;
  155. }CUSTIMIZATION_TABLE, *CUSTIMIZATION_TABLEPTR;
  156. //}__attribute__((packed)) CUSTIMIZATION_TABLE, *CUSTIMIZATION_TABLEPTR;
  157. #if 0
  158. //--------- Some option to panel set 110725
  159. typedef struct _OPTION_IN_PANEL_SET_
  160. {
  161. union
  162. {
  163. unsigned char optionSize[16];
  164. struct
  165. {
  166. unsigned long option_PanelReserved_0;
  167. unsigned long option_PanelReserved_1;
  168. unsigned long option_PanelReserved_2;
  169. union
  170. {
  171. unsigned long dw_Inverse; //offset 0x07fc 110725
  172. struct
  173. {
  174. unsigned long inverser:1; // panel Inverse
  175. unsigned long Reserved:31;
  176. };
  177. };
  178. };
  179. };
  180. }OPTION_IN_PANEL_SET, *POPTION_IN_PANEL_SET;
  181. typedef struct _OPTIONBR_IN_PANEL_SET_
  182. {
  183. union
  184. {
  185. unsigned char optionBrSize[16];
  186. struct
  187. {
  188. UINT32 option_BRReserved_0;
  189. UINT32 option_BRReserved_1;
  190. UINT32 option_BRReserved_2;
  191. UINT32 option_BR_backupFlag;
  192. };
  193. };
  194. }OPTIONBR_IN_PANEL_SET, *POPTIONBR_IN_PANEL_SET;
  195. #define PANEL_SET_RESERVED_SIZE (2 * 1024)
  196. typedef struct _PANEL_FLASH_BLOCK_
  197. {
  198. union
  199. {
  200. unsigned char panelSetReservedSize[PANEL_SET_RESERVED_SIZE];
  201. struct{
  202. unsigned char panelSetCanUseSize[PANEL_SET_RESERVED_SIZE - 32];
  203. //------
  204. OPTION_IN_PANEL_SET option;
  205. //--------
  206. OPTIONBR_IN_PANEL_SET brFlag; // B o o t R o m
  207. };
  208. };
  209. }PANEL_FLASH_BLOCK, *PPANEL_FLASH_BLOCK;
  210. //---------
  211. #endif
  212. #endif /* _CUSTOMIZATION_H_ */