⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dual_eeprom.h

📁 realtek LCD monitor, TV开发源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
//**********************************************************************************************************
//  The  Software  is  proprietary,  confidential,  and  valuable to Realtek Semiconductor
//  Corporation  ("Realtek").  All  rights, including but not limited  to  copyrights,
//  patents,  trademarks, trade secrets, mask work rights, and other similar rights and interests,
//  are reserved to Realtek. Without  prior  written  consent  from  Realtek,  copying, reproduction,
//  modification,  distribution,  or  otherwise  is strictly prohibited. The Software  shall  be
//  kept  strictly  in  confidence,  and  shall  not be  disclosed to or otherwise accessed by
//  any third party. @ <2003> - <2008>   The Software is provided "AS IS" without any warranty of any kind,
//  express, implied, statutory or otherwise.
//**********************************************************************************************************
//----------------------------------------------------------------------------------------------------
// ID Code      : Eeprom.h No.0000
// Update Note  :
//----------------------------------------------------------------------------------------------------
//#if(_OSD_TYPE == _DUAL_OSD)
//--------------------------------------------------
// Definitions of EEPROM 2404/2416
//--------------------------------------------------
#define _EEPROM_ADDRESS                         0xA0

//--------------------------------------------------
// 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
                                                                                                                //SIZE  NEXT_START
#define _GLOBAL_DATA0_ADDRESS                   (_EEPROM_PAGE0_BANK0)                                           //6     0x006
#define _GLOBAL_DATA1_ADDRESS                   (_GLOBAL_DATA0_ADDRESS      + sizeof(StructGlobalData0Type))    //10    0x010
#define _DUTYTIMER_DATA_ADDRESS                 (_GLOBAL_DATA1_ADDRESS      + sizeof(StructGlobalData1Type))    //6     0x016
#define _GLOBAL_DATA3_ADDRESS                   (_DUTYTIMER_DATA_ADDRESS    + 6)                                //3     0x019
#define _GLOBAL_DATA4_ADDRESS                   (_GLOBAL_DATA3_ADDRESS      + sizeof(StructGlobalData3Type))    //5     0x01E
#define _PICTURE_DATA_ADDRESS                   (_GLOBAL_DATA4_ADDRESS      + sizeof(StructGlobalData4Type))    //15    0x02D
#define _ADC_DATA_ADDRESS                       (_PICTURE_DATA_ADDRESS      + sizeof(StructSenseyeDataType))    //7     0x034
#define _COLORTEMP_DATA_ADDRESS                 (_ADC_DATA_ADDRESS          + sizeof(StructAdcDataType))        //18    0x046
#define _BLACKLEVEL_DATA_ADDRESS                (_COLORTEMP_DATA_ADDRESS    + sizeof(StructColorTempDataType) ) //6     0x04C
#define _SRGB_DEFAULT_DATA_ADDRESS              (_BLACKLEVEL_DATA_ADDRESS   + sizeof(StructBlackLevelDataType)) //1     0x04D
#define _AC_DATA_ADDRESS                        (_SRGB_DEFAULT_DATA_ADDRESS + 1)                                //1     0x04E
#define _SYSTEM_DATA_ADDRESS                    (_AC_DATA_ADDRESS           + 5)                                //4     0x052
#define _SAVED_MODE_DATA_ADDRESS                (_EEPROM_PAGE0_BANK1)                                           //20*16 0x1C0

#define _EEPROM_HDCP_CTRL_ADDRESS               (_EEPROM_PAGE2_BANK0)
#define _EEPROM_HDCP_KEY_ADDRESS                (_EEPROM_HDCP_CTRL_ADDRESS+5)

#define _EEPROM_9300_ADDRESS                    (_COLORTEMP_DATA_ADDRESS)
#define _EEPROM_7500_ADDRESS                    (_COLORTEMP_DATA_ADDRESS+3)
#define _EEPROM_6500_ADDRESS                    (_COLORTEMP_DATA_ADDRESS+6)
#define _EEPROM_SRGB_ADDRESS                    (_COLORTEMP_DATA_ADDRESS+9)
#define _EEPROM_USER_ADDRESS                    (_COLORTEMP_DATA_ADDRESS+12)

#define _EEPROM_CONTRAST_ADDRESS                _PICTURE_DATA_ADDRESS//ryan 081217
#define _EEPROM_BRIGHT_ADDRESS                    _PICTURE_DATA_ADDRESS+1//ryan 081217
#define _EEPROM_COLORTEMP_ADDRESS               (_GLOBAL_DATA0_ADDRESS+1)
#define _EEPROM_LANGUAGE_ADDRESS                (_GLOBAL_DATA0_ADDRESS+2)

#define _EEPROM_MENUTIMEOUT_BENQ_ADDRESS        (_GLOBAL_DATA1_ADDRESS)
#define _EEPROM_MENUPOSH_BENQ_ADDRESS           (_GLOBAL_DATA1_ADDRESS+1)
#define _EEPROM_MENUPOSV_BENQ_ADDRESS           (_GLOBAL_DATA1_ADDRESS+3)

#define _EEPROM_MENUTIMEOUT_GENERIC_ADDRESS     (_GLOBAL_DATA1_ADDRESS)//ryan 081217
#define _EEPROM_MENUPOSH_GENERIC_ADDRESS        (_GLOBAL_DATA1_ADDRESS+1)//ryan 081217
#define _EEPROM_MENUPOSV_GENERIC_ADDRESS        (_GLOBAL_DATA1_ADDRESS+3)//ryan 081217

#define _EEPROM_VOLUME_BENQ_ADDRESS             (_GLOBAL_DATA4_ADDRESS+1)

#define _EEPROM_VOLUME_GENERIC_ADDRESS          (_GLOBAL_DATA4_ADDRESS+1)//ryan 081217

//#define _EEPROM_SRGB_BRIGHT_ADDRESS             0x2B//0x00AB //ok

#define _EEPROM_SN_ADDRESS                      0x01F2
#define _CHECKSUM_DATA_ADDRESS                  0x01FD

//------stGlobalData0.MonitorFlag----------------------------------------------------------------------------------------------

#define GET_DISP_RATIO()                        (stGlobalData0.MonitorFlag & (_BIT1 | _BIT0))
#define SET_DISP_RATIO(x)                       (stGlobalData0.MonitorFlag = ((stGlobalData0.MonitorFlag & (~(_BIT1 | _BIT0))) | (x & (_BIT1 | _BIT0))))
/*RESERVED
#define GET_DCR_STATUS()                        ((stGlobalData0.MonitorFlag & (_BIT2)) >> 2)
#define SET_DCR_STATUS(x)                       (stGlobalData0.MonitorFlag = ((stGlobalData0.MonitorFlag & (~(_BIT2))) | (x & (_BIT0)) << 2))
*/
//********************ryan add new osd func******************************//
#define CHECKECOON()                        ((stGlobalData0.MonitorFlag&0x04)==0x04)
#define CHECKECOOFF()                       ((stGlobalData0.MonitorFlag&0x04)==0x00)
#define RECORDECOON()                        (stGlobalData0.MonitorFlag|=0x04)
#define RECORDECOOFF()                       (stGlobalData0.MonitorFlag&=0xFB)
//********************ryan add new osd func******************************//

#define GET_DDCCI_STATUS()                      ((stGlobalData0.MonitorFlag & (_BIT3)) >> 3)
#define SET_DDCCI_STATUS(x)                     (stGlobalData0.MonitorFlag = ((stGlobalData0.MonitorFlag & (~(_BIT3))) | (x & (_BIT0)) << 3))

#define GET_SERVICEMODE_STATUS()                ((stGlobalData0.MonitorFlag & (_BIT4)) >> 4)
#define SET_SERVICEMODE_STATUS(x)               (stGlobalData0.MonitorFlag = ((stGlobalData0.MonitorFlag & (~(_BIT4))) | (x & (_BIT0)) << 4))

#define GET_SENSEYE_STATUS()                    ((stGlobalData0.MonitorFlag & (_BIT5)) >> 5)
#define SET_SENSEYE_STATUS(x)                   (stGlobalData0.MonitorFlag = ((stGlobalData0.MonitorFlag & (~(_BIT5))) | (x & (_BIT0)) << 5))

#define GET_FACTORY_MODE()                      ((stGlobalData0.MonitorFlag & (_BIT6)) >> 6)
#define SET_FACTORY_MODE(x)                     (stGlobalData0.MonitorFlag = ((stGlobalData0.MonitorFlag & (~(_BIT6))) | (x & (_BIT0)) << 6))

#define GET_LASTPOWER_STATUS()                  ((stGlobalData0.MonitorFlag & (_BIT7)) >> 7)
#define SET_LASTPOWER_STATUS(x)                 (stGlobalData0.MonitorFlag = ((stGlobalData0.MonitorFlag & (~(_BIT7))) | (x & (_BIT0)) << 7))

//------stGlobalData0.SettingFlag1----------------------------------------------------------------------------------------------

#define GET_AUTOPOWER_STATUS()                  (stGlobalData0.SettingFlag1 & (_BIT0))
#define SET_AUTOPOWER_STATUS(x)                 (stGlobalData0.SettingFlag1 = ((stGlobalData0.SettingFlag1 & (~(_BIT0))) | (x & (_BIT0))))

#define GET_LOGO_STATUS()                       ((stGlobalData0.SettingFlag1 & (_BIT1)) >> 1)
#define SET_LOGO_STATUS(x)                      (stGlobalData0.SettingFlag1 = ((stGlobalData0.SettingFlag1 & (~(_BIT1))) | (x & (_BIT0)) << 1))

#define GET_OVERSCAN_STATUS()                   ((stGlobalData0.SettingFlag1 & (_BIT2)) >> 2)
#define SET_OVERSCAN_STATUS(x)                  (stGlobalData0.SettingFlag1 = ((stGlobalData0.SettingFlag1 & (~(_BIT2))) | (x & (_BIT0)) << 2))

#define GET_AMA_STATUS()                        ((stGlobalData0.SettingFlag1 & (_BIT3)) >> 3)
#define SET_AMA_STATUS(x)                       (stGlobalData0.SettingFlag1 = ((stGlobalData0.SettingFlag1 & (~(_BIT3))) | (x & (_BIT0)) << 3))

#define GET_BUZZER_STATUS()                     ((stGlobalData0.SettingFlag1 & (_BIT4)) >> 4)
#define SET_BUZZER_STATUS(x)                    (stGlobalData0.SettingFlag1 = ((stGlobalData0.SettingFlag1 & (~(_BIT4))) | (x & (_BIT0)) << 4))

#define GET_INPUTAUDIO_STATUS()                 ((stGlobalData0.SettingFlag1 & (_BIT5)) >> 5)
#define SET_INPUTAUDIO_STATUS(x)                (stGlobalData0.SettingFlag1 = ((stGlobalData0.SettingFlag1 & (~(_BIT5))) | (x & (_BIT0)) << 5))

#define GET_INPUTSOURCE_STATUS()                ((stGlobalData0.SettingFlag1 & (_BIT6 | _BIT7)) >> 6)
#define SET_INPUTSOURCE_STATUS(x)               (stGlobalData0.SettingFlag1 = ((stGlobalData0.SettingFlag1 & (~(_BIT6 | _BIT7))) | (x & (_BIT0 | _BIT1)) << 6))

//------stGlobalData0.SettingFlag2----------------------------------------------------------------------------------------------

#define GET_AUTOHDMI_STATUS()                  (stGlobalData0.SettingFlag2 & (_BIT0))
#define SET_AUTOHDMI_STATUS(x)                 (stGlobalData0.SettingFlag2 = ((stGlobalData0.SettingFlag2 & (~(_BIT0))) | (x & (_BIT0))))

//************************ryan add od func**********************
#define GET_OD_STATUS()                   ((stGlobalData0.SettingFlag2 & (_BIT2)) >> 2)
#define SET_OD_STATUS(x)                  (stGlobalData0.SettingFlag2 = ((stGlobalData0.SettingFlag1 & (~(_BIT2))) | (x & (_BIT0)) << 2))
//************************ryan add od func**********************
//RESERVED
/*
#define GET_LOGO_STATUS()                       ((stGlobalData0.SettingFlag2 & (_BIT1)) >> 1)
#define SET_LOGO_STATUS(x)                      (stGlobalData0.SettingFlag2 = ((stGlobalData0.SettingFlag2 & (~(_BIT1))) | (x & (_BIT0)) << 1))

#define GET_OVERSCAN_STATUS()                   ((stGlobalData0.SettingFlag2 & (_BIT2)) >> 2)
#define SET_OVERSCAN_STATUS(x)                  (stGlobalData0.SettingFlag2 = ((stGlobalData0.SettingFlag2 & (~(_BIT2))) | (x & (_BIT0)) << 2))

#define GET_AMA_STATUS()                        ((stGlobalData0.SettingFlag2 & (_BIT3)) >> 3)
#define SET_AMA_STATUS(x)                       (stGlobalData0.SettingFlag2 = ((stGlobalData0.SettingFlag2 & (~(_BIT3))) | (x & (_BIT0)) << 3))

#define GET_BUZZER_STATUS()                     ((stGlobalData0.SettingFlag2 & (_BIT4)) >> 4)
#define SET_BUZZER_STATUS(x)                    (stGlobalData0.SettingFlag2 = ((stGlobalData0.SettingFlag2 & (~(_BIT4))) | (x & (_BIT0)) << 4))

#define GET_INPUTAUDIO_STATUS()                 ((stGlobalData0.SettingFlag2 & (_BIT5)) >> 5)
#define SET_INPUTAUDIO_STATUS(x)                (stGlobalData0.SettingFlag2 = ((stGlobalData0.SettingFlag2 & (~(_BIT5))) | (x & (_BIT0)) << 5))

#define GET_INPUTSOURCE_STATUS()                ((stGlobalData0.SettingFlag2 & (_BIT6 | _BIT7)) >> 6)
#define SET_INPUTSOURCE_STATUS(x)               (stGlobalData0.SettingFlag2 = ((stGlobalData0.SettingFlag2 & (~(_BIT6 | _BIT7))) | (x & (_BIT0 | _BIT1)) << 6))
*/


//--------------------------------------------------
// Definitions of Flash Page Index
//--------------------------------------------------
#define _PRESET                                 0
#define _AUTO_PRESET                            1
#define _FIFO                                   2
#define _USER                                   3
#define _AUTO_USER                              4
#define _GLOBAL                                 5

#define _START_PAGE                             16 //( 0 ~ 22)
#define _END_PAGE                               30 //(28 ~ 30)
#define _EDID                                   _END_PAGE + 1

#define _DEFAULT_EDID                           0
#define _FLASH_EDID                             1

//----------------------------------------------------------------------------------------------------

#ifdef __EEPROM__

#if(((_MCU_TYPE == _REALTEK_RTD2120) || (_MCU_TYPE == _REALTEK_RTD2122)) && (_MEMORY_LOCATION == _FLASH))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -