#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_ */