123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237 |
- #ifndef _CUSTOMIZATION_H_
- #define _CUSTOMIZATION_H_
- #include "drv_types.h"
- // Custom section
- // 0xbc00:F000~0xFFFF (Total Size: 4K)
- typedef struct _DARG { // Data Adjust Range // keep 2013/08/12, Richie.Chang
- short OSD_MIN; // User mode
- short OSD_MAX;
- short DRV_MIN; // Register mode
- short DRV_MAX;
- }DARG, *PDARG;
- typedef struct _ADJUST_RANGE_ITEM { // keep 2013/08/12, Richie.Chang
- UINT8 Reserved; // 0x105
- UINT8 CheckSum; // 0x106 {UINT16 sum = *((UINT16*)(&CheckSum))}
- UINT8 CheckSum_H; // 0x107
- UINT8 pAdjustData[512-3];//3 for alignment //0x108 struct ADJUST_RANGE will copy there
- }ADJUST_RANGE_ITEM, *PADJUST_RANGE_ITEM;
- typedef struct _ADJUST_RANGE { // keep 2013/08/12, Richie.Chang
- DARG VIP_Brightness; // 0x108
- DARG VIP_Contrast; // 0x110
- DARG VIP_Sharpness; // 0x118
- DARG VIP_Saturation; // 0x120
- DARG VIP_Tint; // 0x128
- DARG VIP_FleshTone; // 0x130
- DARG VIP_ColorTempRgain; // 0x138
- DARG VIP_ColorTempGgain; // 0x140
- DARG VIP_ColorTempBgain; // 0x148
- DARG VIP_ColorTempRoffset; // 0x150
- DARG VIP_ColorTempGoffset; // 0x158
- DARG VIP_ColorTempBoffset; // 0x160
- DARG VIP_RegionColor1; // 0x168
- DARG VIP_RegionColor2; // 0x170
- DARG VIP_RegionColor3; // 0x178
- DARG VIP_RegionColor4; // 0x180
- DARG VIP_RegionColor5; // 0x188
- DARG VIP_RegionColor6; // 0x190
- DARG VIP_PC_Hposition; // 0x198
- DARG VIP_PC_Vposition; // 0x1A0
- DARG VIP_PC_Hsize; // 0x1A8
- DARG VIP_PC_Vsize; // 0x1B0
- DARG ADC_PC_Phase; // 0x1B8
- DARG ADC_PC_Clock; // 0x1C0
- DARG ADC_Rgain; // 0x1C8
- DARG ADC_Ggain; // 0x1D0
- DARG ADC_Bgain; // 0x1D8
- DARG ADC_Roffset; // 0x1E0
- DARG ADC_Goffset; // 0x1E8
- DARG ADC_Boffset; // 0x1F0
- DARG Audio_Equalizer_100Hz; // 0x1F8
- DARG Audio_Equalizer_300Hz; // 0x200
- DARG Audio_Equalizer_1KHz; // 0x208
- DARG Audio_Equalizer_3KHz; // 0x210
- DARG Audio_Equalizer_10KHz; // 0x218
- DARG Audio_Volume; // 0x220
- DARG Audio_Balance; // 0x228
- DARG Audio_AV_out_volume; // 0x230
- DARG Audio_Volume_offset; // 0x238
- DARG Audio_Lip_Sync; // 0x240
- DARG CVD2_Brightness; // 0x248
- DARG CVD2_Contrast; // 0x250
- DARG CVD2_Saturation; // 0x258
- DARG CVD2_Hue; // 0x260
- DARG CVD2_Primary_CTI; // 0x268
- DARG CVD2_Secondary_CTI; // 0x270
- DARG CVD2_LTI; // 0x278
- DARG CVD2_LDLY; // 0x280
- DARG LCD_BackLight; // 0x288 ~ 0x28F
- // 515-(49*sizeof(DARG)+3), 0x290 ~ 0x307
- }ADJUST_RANGE, *PADJUST_RANGE;
- /*
- typedef struct _EPG_PARAM {
- UINT8 nId[2]; // 'p' 'g'
- UINT8 nReserve[2]; // should be zero
- unsigned bRemoveColorButton:1;
- unsigned bRemoveNoneRating:1;
- unsigned bGoto12HourForTimePage:1;
- unsigned bEpgTimeOut:1;
- unsigned nValue4:1; //unused
- unsigned nValue5:1; //unused
- unsigned nValue6:1; //unused
- unsigned nValue7:1; //unused
- unsigned nValue8:24;//unused
- }EPG_PARAM, *PEPG_PARAM;
- */
- typedef struct _GPIO_USAGE {
- UINT8 index;
- UINT8 type:1; // 1: Open drain 0:Push-Pull output
- UINT8 enable_value:1; // high / low
- UINT8 enable_internal_pull_up:1;
- UINT8 enable_internal_pull_down:1;
- UINT8 reserved:4;
- }GPIO_USAGE, *PGPIO_USAGE;
- typedef struct _IR_Power_On_Key_Code{ // Add 2013/08/12 and remove old struct
- UINT16 PowerKey_number;
- UINT32 Key_Code[14]; // ADDRESS[31:24], ADDRESS_BAR[23:16] COMMAND[15:8], COMMAND_BAR[7:0]
- }IR_PowerOnKeyCode;
- typedef struct _IR_Panel_Switch_Key_Code{ // Add 2013/12/13
- UINT16 PanelKey_number;
- UINT32 Key_Code[CONFIG_PANEL_NUM]; // ADDRESS[31:24], ADDRESS_BAR[23:16] COMMAND[15:8], COMMAND_BAR[7:0]
- }IR_PanelSwitchKeyCode;
- typedef struct _CUSTIMIZATION_TABLE {
- // IR
- UINT32 IRCommandType; // 00~03 IR_CODING
- UINT32 pIR_Set[33]; // 04~87 (132 bytes (4 x 33))
- UINT32 IR2CommandType; // 88~8B IR_CODING
- UINT32 pIR2_Set[33]; // 8C~10F (132 bytes (4 x 33))
- UINT8 PowerOnKeySets; // 110~113 number of remote controls
- // KEYPAD
- UINT32 KEYPAD_PWR_ON_KEY; // 114~117
-
- // LED
- UINT8 GreenLEDNum :7; // 118, bit[6:0] GPIO/PWM number
- UINT8 GreenLEDMode:1; // bit [7] 1: GPIO mode, 0: PWM mode
- UINT8 RedLEDNum :7; // 119, bit[6:0] GPIO/PWM number
- UINT8 RedLEDMode :1; // bit [7] 1: GPIO mode, 0: PWM mode
- 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])
- 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])
- // Panel
- UINT8 PanelPWROnGPIONum; // 11C
- UINT8 PanelBackLightGPIONum; // 11D
- UINT8 PanelPWMNum; // 11E
- //DVD IR OUT
- UINT8 DVD_IROUT_GPIO_NO; // 11F
-
- UINT32 Custom_self_ID; // 120~123 /* Owner each project PM recommend as manufactur ID + serial */ // keep 2013/08/12, Livian.Chen
- 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
- //HDMI port map
- UINT8 HDMISwitchMap; // 128
- UINT8 HDMIHPDInvertMap; // 129 Hutplug detecte invert mask for each port
- UINT32 HDMIPortMap; // 12C~12E
- UINT8 PowerCtrlGPIONO :7; // 130
- UINT8 PowerCtrlEnable :1;
- UINT8 PanelNum; //131
- UINT8 keypad0_adj_b0; //132
- UINT8 keypad0_adj_b1; //133
- UINT8 keypad0_adj_b2; //134
- UINT8 keypad1_adj_b0; //135
- UINT8 keypad1_adj_b1; //136
- UINT8 keypad1_adj_b2; //137
- #ifdef CONFIG_SUPPORT_ETHERNET
- // Reserved space
- UINT8 Reserved[2];
- UINT8 MAC[10];
- #else
- // Reserved space
- UINT8 Reserved[12];//138
- #endif
- // KEYPAD LEVEL
- UINT32 R_MLKEY_0_LEVEL; //level0~3 144
- UINT32 R_MLKEY_4_LEVEL; //level4~7 148
- UINT8 R_MLKEY_8_LEVEL; //level8 14c
- UINT8 Reserved2[3];
- //PowerOnKey
- IR_PowerOnKeyCode IR_PowerOnKey[CONFIG_ROMOTE_CTL_NUM]; //150~
- //keycode array for mapping panel idx if use multi-panel function
- IR_PanelSwitchKeyCode IR_PanelMapKey;
- }CUSTIMIZATION_TABLE, *CUSTIMIZATION_TABLEPTR;
- //}__attribute__((packed)) CUSTIMIZATION_TABLE, *CUSTIMIZATION_TABLEPTR;
- #if 0
- //--------- Some option to panel set 110725
- typedef struct _OPTION_IN_PANEL_SET_
- {
- union
- {
- unsigned char optionSize[16];
- struct
- {
- unsigned long option_PanelReserved_0;
- unsigned long option_PanelReserved_1;
- unsigned long option_PanelReserved_2;
- union
- {
- unsigned long dw_Inverse; //offset 0x07fc 110725
- struct
- {
- unsigned long inverser:1; // panel Inverse
- unsigned long Reserved:31;
- };
- };
- };
- };
- }OPTION_IN_PANEL_SET, *POPTION_IN_PANEL_SET;
- typedef struct _OPTIONBR_IN_PANEL_SET_
- {
- union
- {
- unsigned char optionBrSize[16];
- struct
- {
- UINT32 option_BRReserved_0;
- UINT32 option_BRReserved_1;
- UINT32 option_BRReserved_2;
- UINT32 option_BR_backupFlag;
- };
- };
- }OPTIONBR_IN_PANEL_SET, *POPTIONBR_IN_PANEL_SET;
- #define PANEL_SET_RESERVED_SIZE (2 * 1024)
- typedef struct _PANEL_FLASH_BLOCK_
- {
- union
- {
- unsigned char panelSetReservedSize[PANEL_SET_RESERVED_SIZE];
- struct{
- unsigned char panelSetCanUseSize[PANEL_SET_RESERVED_SIZE - 32];
- //------
- OPTION_IN_PANEL_SET option;
- //--------
- OPTIONBR_IN_PANEL_SET brFlag; // B o o t R o m
- };
- };
- }PANEL_FLASH_BLOCK, *PPANEL_FLASH_BLOCK;
- //---------
- #endif
- #endif /* _CUSTOMIZATION_H_ */
|