//---------------------------------------------------------------------------------------------------- // ID Code : Eeprom.h No.0000 // Update Note : // //---------------------------------------------------------------------------------------------------- #if 0 //-------------------------------------------------- // Definitions of EEPROM 2404/2416 //-------------------------------------------------- #define _EEPROM_ADDRESS 0xA0 #define _EEPROM_FLASH_ADDRESS 0x31000 //for HDCP //20080421, DDC support for VGA. start... #define _EEPROM_FLASH_EDID_ADDRESS 0x30000 //20080421, DDC support for VGA. end... //20080421, DDC support for digital port 0. start... #if _HDMI_EDID_RW #define _EEPROM_FLASH_EDID_HDMI0_ADDRESS 0x32000 #define _EEPROM_FLASH_EDID_HDMI1_ADDRESS 0x33000 #endif // #if _HDMI_EDID_RW //20080421, DDC support for digital port 0. end... //-------------------------------------------------- // Definitions of Eeprom Data Address //-------------------------------------------------- #define _EEPROM_PAGE0_BANK0 0 #define _EEPROM_PAGE0_BANK1 128 #define _EEPROM_PAGE1_BANK0 256 #define _EEPROM_PAGE1_BANK1 384 #define _EEPROM_PAGE2_BANK0 512 #define _EEPROM_PAGE2_BANK1 640 #define _EEPROM_PAGE3_BANK0 768 #define _EEPROM_PAGE3_BANK1 896 #define _EEPROM_PAGE4_BANK0 1024 #define _EEPROM_PAGE4_BANK1 1152 #define _EEPROM_PAGE5_BANK0 1280 #define _EEPROM_PAGE5_BANK1 1408 #define _EEPROM_PAGE6_BANK0 1536 #define _EEPROM_PAGE6_BANK1 1664 #define _EEPROM_PAGE7_BANK0 1792 #define _EEPROM_PAGE7_BANK1 1920 #define _MODE_DATA_0_ADDRESS (_EEPROM_PAGE0_BANK0) // Max 54 #define _USER_FIFO_MODE_DATA_0_ADDRESS (_EEPROM_PAGE1_BANK1+0x30) #define _USER_FIFO_MODE_DATA_1_ADDRESS (_EEPROM_PAGE2_BANK0+0x30) #define _MODE_CENTER_DATA_ADDRESS (_EEPROM_PAGE2_BANK1+0x30) // 64 *8 + #define _USER_DATA_ADDRESS (_EEPROM_PAGE4_BANK1+0x60) // for system data is 1 Page #define _SYSTEM_DATA_ADDRESS (_USER_DATA_ADDRESS + 0) #define _OSDUSER_DATA_ADDRESS (_SYSTEM_DATA_ADDRESS + sizeof(StructSystemDataType)) #define _BACKLIGHT_DATA_ADDRESS (_OSDUSER_DATA_ADDRESS+sizeof(StructOsdUserDataType)) #define _ICM_COLOR_ADDRESS (_BACKLIGHT_DATA_ADDRESS + sizeof(StructBacklightDataType)) #define _PICT_MODE_DATA_ADDRESS (_ICM_COLOR_ADDRESS + sizeof(StructICMColor)) #define _COLORTEMP_MODE_DATA_ADDRESS (_PICT_MODE_DATA_ADDRESS + sizeof(StructPictModeType)) #define _ADC_DATA_ADDRESS (_COLORTEMP_MODE_DATA_ADDRESS + sizeof(StructColorTempModeType)) #define _MODE_DATA_YPBPR_ADDRESS (_ADC_DATA_ADDRESS + sizeof(StructAdcDataType)) //!!! PC max mode is 54!!! #define _YPbPr_DATA_ADDRESS (_MODE_DATA_YPBPR_ADDRESS + sizeof(StructAdcDataType)) #define _COLOR_PROC0_ADDRESS (_YPbPr_DATA_ADDRESS + sizeof(StructYPbPrDataType)) #define _TV_DATA_ADDRESS (_COLOR_PROC0_ADDRESS + 4*sizeof(StructColorProc0DataType)) #define _PEAKING_DATA_ADDRESS (_TV_DATA_ADDRESS + sizeof(StructTvDataType)) #define _COLORTEMP_DATA_ADDRESS (_PEAKING_DATA_ADDRESS + sizeof(StructPeakingCoringType)) #define _AUDIO_DATA_ADDRESS (_COLORTEMP_DATA_ADDRESS + 4 * sizeof(StructColorTempDataType)) #define _HueSaturation_DATA_ADDRESS (_AUDIO_DATA_ADDRESS+sizeof(StructAudioDataType)) #define _VERSION_ADDRESS (_HueSaturation_DATA_ADDRESS + 4 * sizeof(StructHueSaturationDataType)) #define _TIME_DATA_ADDRESS (_VERSION_ADDRESS+0x02) //20071129 //!!! AT24C16, GET_TV_MAX_CH()<=121 #define _TV_PDB_DATA_ADDRESS (_EEPROM_PAGE5_BANK1) #define _TVCH_STATUS_ADDRESS (_EEPROM_PAGE7_BANK0+0x70) #define _TV_FINETUNE_DATA_ADDRESS (_EEPROM_PAGE7_BANK1) //get ch:x address, x is 1..(GET_TV_MAX_CH()-1) #define _TV_PDB_ADDR(x) (_TV_PDB_DATA_ADDRESS+(x)*sizeof(StructTvPdb)) //---------------------------------------------------------------------------------------------------- #endif //-------------------------------------------------- // Definitions of EEPROM 2404/2416 //-------------------------------------------------- #define _EEPROM_ADDRESS 0xA0 #if _HDMI_EDID_RW #if _SPI_FLASH_EN25F40 #define _EEPROM_FLASH_ADDRESS 0x30000 //reserved 1 sector #define _EEPROM_FLASH_EDID_HDMI0_ADDRESS 0x31000//HDMI0 EDID #define _EEPROM_FLASH_EDID_HDMI1_ADDRESS 0x32000//HDMI1 EDID #define _EEPROM_FLASH_EDID_ADDRESS 0x33000//VGA EDID #define _EEPROM_FLASH_HDCP_KEY0_ADDRESS 0x34000//HDCP KEY: 0-127 #define _EEPROM_FLASH_HDCP_KEY1_ADDRESS 0x35000//HDCP KEY: 128-255 #define _EEPROM_FLASH_HDCP_KEY2_ADDRESS 0x36000//HDCP KEY: 256-385 #else #define _EEPROM_FLASH_EDID_HDMI0_ADDRESS 0x31000//HDMI0 EDID (reserved) #define _EEPROM_FLASH_EDID_HDMI1_ADDRESS 0x32000//HDMI1 EDID (reserved) #define _EEPROM_FLASH_EDID_ADDRESS 0x33000//VGA EDID #define _EEPROM_FLASH_ADDRESS 0x34000//HDCP #endif #else #define _EEPROM_FLASH_ADDRESS 0x30000//HDCP #define _EEPROM_FLASH_EDID_ADDRESS 0x33000//VGA EDID #define _EEPROM_FLASH_EDID_HDMI0_ADDRESS 0x31000//HDMI0 EDID (reserved) #define _EEPROM_FLASH_EDID_HDMI1_ADDRESS 0x32000//HDMI1 EDID (reserved) #endif //-------------------------------------------------- // Definitions of Eeprom Data Address //-------------------------------------------------- #define _EEPROM_PAGE0_BANK0 0 #define _EEPROM_PAGE0_BANK1 128 #define _EEPROM_PAGE1_BANK0 256 #define _EEPROM_PAGE1_BANK1 384 #define _EEPROM_PAGE2_BANK0 512 #define _EEPROM_PAGE2_BANK1 640 #define _EEPROM_PAGE3_BANK0 768 #define _EEPROM_PAGE3_BANK1 896 #define _EEPROM_PAGE4_BANK0 1024 #define _EEPROM_PAGE4_BANK1 1152 #define _EEPROM_PAGE5_BANK0 1280 #define _EEPROM_PAGE5_BANK1 1408 #define _EEPROM_PAGE6_BANK0 1536 #define _EEPROM_PAGE6_BANK1 1664 #define _EEPROM_PAGE7_BANK0 1792 #define _EEPROM_PAGE7_BANK1 1920 #define _MODE_DATA_0_ADDRESS (_EEPROM_PAGE0_BANK0) // Max 64 is 2 Page #define _USER_FIFO_MODE_DATA_0_ADDRESS (_EEPROM_PAGE2_BANK0) // Max 16 is 0.5 Page #define _USER_FIFO_MODE_DATA_1_ADDRESS (_EEPROM_PAGE2_BANK1) // Max 16 is 0.5 Page #define _MODE_CENTER_DATA_ADDRESS (_EEPROM_PAGE6_BANK0) // AIR / CATV offset / staus is 1 Page #define _MODE_DATA_YPBPR_ADDRESS (_EEPROM_PAGE1_BANK1+0x30) //!!! PC max mode is 54!!! //20081027ccy add to 200 chn #if _CUSTOMER_TOLIP //20071129 //!!! AT24C16, GET_TV_MAX_CH()<=121 #define _TV_PDB_DATA_ADDRESS (_EEPROM_PAGE3_BANK0) //get ch:x address, x is 1..(GET_TV_MAX_CH()-1) #define _TV_PDB_ADDR(x) (_TV_PDB_DATA_ADDRESS+(x)*sizeof(StructTvPdb)) #define _TV_FINETUNE_DATA_ADDRESS (_TV_PDB_DATA_ADDRESS + GET_TV_MAX_CH() * sizeof(StructTvPdb)) #define _TVCH_STATUS_ADDRESS (_TV_FINETUNE_DATA_ADDRESS + 0xd0) // !!! #if _TIMER_SLEEP_HINT_SUPPORT #define _TIME_DATA_ADDRESS (_TVCH_STATUS_ADDRESS+0x20) #endif //#if _TIMER_SLEEP_HINT_SUPPORT #define _USER_DATA_ADDRESS (_EEPROM_PAGE7_BANK1) // for system data is 1 Page #else //20071129 //!!! AT24C16, GET_TV_MAX_CH()<=121 #define _TV_PDB_DATA_ADDRESS (_EEPROM_PAGE3_BANK0) //get ch:x address, x is 1..(GET_TV_MAX_CH()-1) #define _TV_PDB_ADDR(x) (_TV_PDB_DATA_ADDRESS+(x)*sizeof(StructTvPdb)) #define _TV_FINETUNE_DATA_ADDRESS (_TV_PDB_DATA_ADDRESS + GET_TV_MAX_CH() * sizeof(StructTvPdb)) #define _TVCH_STATUS_ADDRESS (_TV_FINETUNE_DATA_ADDRESS + 0x80) // !!! #if _TIMER_SLEEP_HINT_SUPPORT #define _TIME_DATA_ADDRESS (_TVCH_STATUS_ADDRESS+0x10) #endif //#if _TIMER_SLEEP_HINT_SUPPORT #define _USER_DATA_ADDRESS (_EEPROM_PAGE5_BANK1) // for system data is 1 Page #endif #define _SYSTEM_DATA_ADDRESS (_USER_DATA_ADDRESS + 0) #define _OSDUSER_DATA_ADDRESS (_SYSTEM_DATA_ADDRESS + sizeof(StructSystemDataType)) #define _BACKLIGHT_DATA_ADDRESS (_OSDUSER_DATA_ADDRESS+sizeof(StructOsdUserDataType)) #define _ICM_COLOR_ADDRESS (_BACKLIGHT_DATA_ADDRESS + sizeof(StructBacklightDataType)) #if (_PICT_EFFECT_SUPPORT) #define _PICT_MODE_DATA_ADDRESS (_ICM_COLOR_ADDRESS + sizeof(StructICMColor)) #endif #if (_CT_INDEPENDENT_SUPPORT) #define _COLORTEMP_MODE_DATA_ADDRESS (_PICT_MODE_DATA_ADDRESS + sizeof(StructPictModeType)) #endif #define _ADC_DATA_ADDRESS (_COLORTEMP_MODE_DATA_ADDRESS + sizeof(StructColorTempModeType)) #define _YPbPr_DATA_ADDRESS (_ADC_DATA_ADDRESS + sizeof(StructAdcDataType)) #define _COLOR_PROC0_ADDRESS (_YPbPr_DATA_ADDRESS + sizeof(StructYPbPrDataType)) #define _TV_DATA_ADDRESS (_COLOR_PROC0_ADDRESS + 4*sizeof(StructColorProc0DataType)) #if _SHARPNESS_REWRITE #define _PEAKING_DATA_ADDRESS (_TV_DATA_ADDRESS + sizeof(StructTvDataType)) #define _COLORTEMP_DATA_ADDRESS (_PEAKING_DATA_ADDRESS + sizeof(StructPeakingCoringType)) #else //#if _SHARPNESS_REWRITE #define _NULL0_DATA_ADDRESS (_TV_DATA_ADDRESS + sizeof(StructTvDataType)) #define _COLORTEMP_DATA_ADDRESS (_NULL0_DATA_ADDRESS + 4) #endif //#if _SHARPNESS_REWRITE #define _AUDIO_DATA_ADDRESS (_COLORTEMP_DATA_ADDRESS + 4 * sizeof(StructColorTempDataType)) #define _HueSaturation_DATA_ADDRESS (_AUDIO_DATA_ADDRESS+sizeof(StructAudioDataType)) #define _VERSION_ADDRESS (_HueSaturation_DATA_ADDRESS + 4 * sizeof(StructHueSaturationDataType)) #ifdef __EEPROM__ //-------------------------------------------------- // Global Variables //-------------------------------------------------- //-------------------------------------------------- // Function Prototypes //-------------------------------------------------- void CEepromStartupCheck(void); void CEepromWriteVersion(void); void CEepromLoadDefault(void); void CEepromLoadDefaultSource(void); bit CEepromWrite(WORD usAddr, WORD usLength, BYTE *pWriteArray); bit CEepromRead(WORD usAddr, WORD usLength, BYTE *pReadArray); void CEepromSaveModeData(BYTE ucMode); void CEepromLoadModeData(BYTE ucMode); void CEepromInitialModeData(void); void CEepromSaveUserFIFOModeData(StructModeUserFIFODataType stUserFIFOMode); void CEepromLoadUserFIFOModeData(BYTE ucNum, BYTE *pArray); void CEepromInitialUserFIFOModeData(void); void CEepromSaveCenterModeData(BYTE ucMode); void CEepromLoadCenterModeData(BYTE ucMode); void CEepromInitialCenterModeData(void); void CEepromSaveSystemData(void); void CEepromLoadSystemData(void); void CEepromLoadSystemDataDefault(void); void CEepromSaveOsdUserData(void); void CEepromLoadOsdUserData(void); void CEepromLoadOsdUserDataDefault(void); void CEepromSaveAdcData(void); void CEepromLoadAdcData(void); void CEepromLoadYPbPrDataDefault(void); void CEepromLoadAdcDataDefault(void); void CEepromSaveBriConData(void); void CEepromLoadBriConData(void); void CEepromLoadBriConDataDefault(void); void CEepromSaveColorTempData(void); void CEepromLoadColorTempData(void); void CEepromLoadColorTempDataDefault(void); void CEepromSaveEDIDData(void); void CEepromLoadEDIDData(void); void CEepromLoadEDIDDataDefault(void); void CEepromSaveTvData(void); void CEepromLoadTvData(void); //yf_zhang //void CEepromSaveTVSystem(UINT8 chn,UINT8 picORAudio,UINT8 Value); void CEepromLoadTvDataDefault(void); void CEepromGetTvPdbData(BYTE chn, UINT8 *st); void CEepromSaveTvPdbData(BYTE chn, UINT8 *offset); void CEepromGetTvFinetuneData(BYTE chn, UINT8 *pFinetune); void CEepromSaveTvFinetuneData(BYTE chn, UINT8 *pFinetune); void CEepromSaveAudioData(void); void CEepromLoadAudioData(void); void CEepromLoadAudioDataDefault(void); #if (_PICT_EFFECT_SUPPORT) void CEepromSavePictModeData(void); void CEepromLoadPictModeData(void); void CEepromLoadPictModeDataDefault(void); #endif #if (_CT_INDEPENDENT_SUPPORT) void CEepromSaveColorTempModeData(void); void CEepromLoadColorTempModeData(void); void CEepromLoadColorTempModeDataDefault(void); #endif void CEepromLoadTvChStatus(void); void CEepromSaveTvChStatus(void); void CEepromSaveTvChStatusOfChn(UINT8 chn); #if _HDCP_WR_BY_RS232 bit CEepromWriteFlash(WORD usAddr, WORD usLength, BYTE *pWriteArray); bit CEepromReadFlash(WORD usAddr, WORD usLength, BYTE *pWriteArray); void CEepromLoadHdcpKeyDefualtData(void); #endif //20080421, DDC support for VGA. start... void CEepromSaveFlashEdidData(void); void CEepromLoadFlashEdidData(void); void CEepromLoadFlashEdidDataDefault(void); //20080421, DDC support for VGA. end... //20080421, DDC support for digital port 0. start... void CEepromLoadFlashEdidHdmiData(void); void CEepromSaveFlashEdidHdmiData(void); //20080421, DDC support for digital port 0. end... #if _BACKLIGHT_SUPPORT void CEepromSaveBacklightData(void); void CEepromLoadBacklightData(void); void CEepromLoadBacklightDataDefault(void); #endif void CEepromSaveYPbPrData(void); void CEepromLoadYPbPrData(void); void CEepromLoadYPbPrDataDefault(void); #if _TIMER_SLEEP_HINT_SUPPORT //20070331 void CEepromSaveTimeData(void); void CEepromLoadTimeData(void); void CEepromLoadTimeDataDefault(void); #endif //#if _TIMER_SLEEP_HINT_SUPPORT void CEepromSaveModeDataYPbPr(BYTE ucMode); void CEepromLoadModeDataYPbPr(BYTE ucMode); void CEepromInitialModeDataYPbPr(void); void CEepromLoadICMColorDataDefault(void); #if _SHARPNESS_REWRITE //20080213 void CEepromSavePeakingCoringData(void); void CEepromLoadPeakingCoringData(void); void CEepromLoadPeakingCoringDataDefault(void); #endif //#if _SHARPNESS_REWRITE #if _CUSTOMER_CGT void CEepromLoadTvChStatusDefault(void); #endif //#if _CUSTOMER_CGT #if _FLASH_PROTECT_SUPPORT //090427 BYTE CFlashReadStatusByte(void); void CFlashWriteEnableWEL(void); void CFlashWriteDisableWEL(void); void CFlashWriteStatusByte(unsigned char status); #endif #else //-------------------------------------------------- // Extern Function Prototypes //-------------------------------------------------- extern void CEepromStartupCheck(void); extern void CEepromWriteVersion(void); extern void CEepromLoadDefault(void); extern void CEepromLoadDefaultSource(void); extern bit CEepromWrite(WORD usAddr, WORD usLength, BYTE *pWriteArray); extern bit CEepromRead(WORD usAddr, WORD usLength, BYTE *pReadArray); extern void CEepromSaveModeData(BYTE ucMode); extern void CEepromLoadModeData(BYTE ucMode); extern void CEepromInitialModeData(void); extern void CEepromSaveUserFIFOModeData(StructModeUserFIFODataType stUserFIFOMode); extern void CEepromLoadUserFIFOModeData(BYTE ucNum, BYTE *pArray); extern void CEepromInitialUserFIFOModeData(void); extern void CEepromSaveCenterModeData(BYTE ucMode); extern void CEepromLoadCenterModeData(BYTE ucMode); extern void CEepromInitialCenterModeData(void); extern void CEepromSaveSystemData(void); extern void CEepromLoadSystemData(void); extern void CEepromLoadSystemDataDefault(void); extern void CEepromSaveOsdUserData(void); extern void CEepromLoadOsdUserData(void); extern void CEepromLoadOsdUserDataDefault(void); extern void CEepromSaveAdcData(void); extern void CEepromLoadAdcData(void); extern void CEepromLoadAdcDataDefault(void); extern void CEepromLoadYPbPrDataDefault(void); extern void CEepromSaveBriConData(void); extern void CEepromLoadBriConData(void); extern void CEepromLoadBriConDataDefault(void); extern void CEepromSaveColorTempData(void); extern void CEepromLoadColorTempData(void); extern void CEepromLoadColorTempDataDefault(void); extern void CEepromSaveEDIDData(void); extern void CEepromLoadEDIDData(void); extern void CEepromLoadEDIDDataDefault(void); extern void CEepromSaveTvData(void); extern void CEepromLoadTvData(void); extern void CEepromLoadTvDataDefault(void); extern void CEepromGetTvPdbData(BYTE chn, UINT8 *st); extern void CEepromSaveTvPdbData(BYTE chn, UINT8 *offset); extern void CEepromGetTvFinetuneData(BYTE chn, UINT8 *pFinetune); extern void CEepromSaveTvFinetuneData(BYTE chn, UINT8 *pFinetune); extern void CEepromSaveAudioData(void); extern void CEepromLoadAudioData(void); extern void CEepromLoadAudioDataDefault(void); extern bit CEepromWrite(WORD usAddr, WORD usLength, BYTE *pWriteArray); //#if(_EXTERNAL_FLASH_TABLE == _ON) extern BYTE CEepromFlasReadOneByte(UINT32 ucFlashAddr); //#endif #if (_PICT_EFFECT_SUPPORT) extern void CEepromSavePictModeData(void); extern void CEepromLoadPictModeData(void); extern void CEepromLoadPictModeDataDefault(void); #endif #if (_CT_INDEPENDENT_SUPPORT) extern void CEepromSaveColorTempModeData(void); extern void CEepromLoadColorTempModeData(void); extern void CEepromLoadColorTempModeDataDefault(void); #endif extern void CEepromLoadTvChStatus(void); extern void CEepromSaveTvChStatus(void); extern void CEepromSaveTvChStatusOfChn(UINT8 chn); #if _HDCP_WR_BY_RS232 extern bit CEepromWriteFlash(WORD usAddr, WORD usLength, BYTE *pWriteArray); extern bit CEepromReadFlash(WORD usAddr, WORD usLength, BYTE *pWriteArray); extern void CEepromLoadHdcpKeyDefualtData(void); #endif //20080421, DDC support for VGA. start... extern void CEepromSaveFlashEdidData(void); extern void CEepromLoadFlashEdidData(void); extern void CEepromLoadFlashEdidDataDefault(void); //20080421, DDC support for VGA. end... //20080421, DDC support for digital port 0. start... extern void CEepromLoadFlashEdidHdmiData(void); extern void CEepromSaveFlashEdidHdmiData(void); //20080421, DDC support for digital port 0. end... #if _BACKLIGHT_SUPPORT extern void CEepromSaveBacklightData(void); extern void CEepromLoadBacklightData(void); extern void CEepromLoadBacklightDataDefault(void); #endif extern void CEepromSaveYPbPrData(void); extern void CEepromLoadYPbPrData(void); extern void CEepromLoadYPbPrDataDefault(void); #if _TIMER_SLEEP_HINT_SUPPORT //20070331 extern void CEepromSaveTimeData(void); extern void CEepromLoadTimeData(void); extern void CEepromLoadTimeDataDefault(void); #endif //#if _TIMER_SLEEP_HINT_SUPPORT extern void CEepromSaveModeDataYPbPr(BYTE ucMode); extern void CEepromLoadModeDataYPbPr(BYTE ucMode); extern void CEepromInitialModeDataYPbPr(void); extern void CEepromLoadICMColorDataDefault(void); #if _SHARPNESS_REWRITE //20080213 extern void CEepromSavePeakingCoringData(void); extern void CEepromLoadPeakingCoringData(void); extern void CEepromLoadPeakingCoringDataDefault(void); #endif //#if _SHARPNESS_REWRITE #if _CUSTOMER_CGT extern void CEepromLoadTvChStatusDefault(void); #endif //#if _CUSTOMER_CGT #if _FLASH_PROTECT_SUPPORT //090427 extern BYTE CFlashReadStatusByte(void); extern void CFlashWriteEnableWEL(void); extern void CFlashWriteDisableWEL(void); extern void CFlashWriteStatusByte(unsigned char status); #endif #endif //#if