| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #ifndef __mt8193ddc_h__
- #define __mt8193ddc_h__
- #ifdef HDMI_MT8193_SUPPORT
- #define EDID_BLOCK_LEN 128
- #define EDID_SIZE 512
- #define SIF1_CLOK 260 /* 27M/432 = 62.5Khz */
- #define EDID_ID 0x50 /* 0xA0 */
- #define EDID_ID1 0x51 /* 0xA2 */
- #define EDID_ADDR_HEADER 0x00
- #define EDID_ADDR_VERSION 0x12
- #define EDID_ADDR_REVISION 0x13
- #define EDID_IMAGE_HORIZONTAL_SIZE 0x15
- #define EDID_IMAGE_VERTICAL_SIZE 0x16
- #define EDID_ADDR_FEATURE_SUPPORT 0x18
- #define EDID_ADDR_TIMING_DSPR_1 0x36
- #define EDID_ADDR_TIMING_DSPR_2 0x48
- #define EDID_ADDR_MONITOR_DSPR_1 0x5A
- #define EDID_ADDR_MONITOR_DSPR_2 0x6C
- #define EDID_ADDR_EXT_BLOCK_FLAG 0x7E
- #define EDID_ADDR_EXTEND_BYTE3 0x03 /* EDID address: 0x83 */
- /* for ID receiver if RGB, YCbCr 4:2:2 or 4:4:4 */
- /* Extension Block 1: */
- #define EXTEDID_ADDR_TAG 0x00
- #define EXTEDID_ADDR_REVISION 0x01
- #define EXTEDID_ADDR_OFST_TIME_DSPR 0x02
- /* ddcci master */
- #define DDC_DDCMCTL0 ((unsigned int)0x0)
- #define DDCM_ODRAIN ((unsigned int)0x1<<31)
- #define DDCM_CLK_DIV_OFFSET ((unsigned int)16)
- #define DDCM_CLK_DIV_MASK ((unsigned int)0xFFF<<16)
- #define DDCM_CS_STATUS ((unsigned int)0x1<<4)
- #define DDCM_SCL_STATE ((unsigned int)0x1<<3)
- #define DDCM_SDA_STATE ((unsigned int)0x1<<2)
- #define DDCM_SM0EN ((unsigned int)0x1<<1)
- #define DDCM_SCL_STRECH ((unsigned int)0x1<<0)
- #define DDC_DDCMCTL1 ((unsigned int)0x4)
- #define DDCM_ACK_OFFSET ((unsigned int)16)
- #define DDCM_ACK_MASK ((unsigned int)0xFF<<16)
- #define DDCM_PGLEN_OFFSET ((unsigned int)8)
- #define DDCM_PGLEN_MASK ((unsigned int)0x7<<8)
- #define DDCM_SIF_MODE_OFFSET ((unsigned int)4)
- #define DDCM_SIF_MODE_MASK ((unsigned int)0x7<<4)
- #define DDCM_START ((unsigned int)0x1)
- #define DDCM_WRITE_DATA ((unsigned int)0x2)
- #define DDCM_STOP ((unsigned int)0x3)
- #define DDCM_READ_DATA_NO_ACK ((unsigned int)0x4)
- #define DDCM_READ_DATA_ACK ((unsigned int)0x5)
- #define DDCM_TRI ((unsigned int)0x1<<0)
- #define DDC_DDCMD0 ((unsigned int)0x8)
- #define DDCM_DATA3 ((unsigned int)0xFF<<24)
- #define DDCM_DATA2 ((unsigned int)0xFF<<16)
- #define DDCM_DATA1 ((unsigned int)0xFF<<8)
- #define DDCM_DATA0 ((unsigned int)0xFF<<0)
- #define DDC_DDCMD1 ((unsigned int)0xC)
- #define DDCM_DATA7 ((unsigned int)0xFF<<24)
- #define DDCM_DATA6 ((unsigned int)0xFF<<16)
- #define DDCM_DATA5 ((unsigned int)0xFF<<8)
- #define DDCM_DATA4 ((unsigned int)0xFF<<0)
- enum _SIF_BIT_T {
- SIF_8_BIT, /* /< [8 bits data address.] */
- SIF_16_BIT, /* /< [16 bits data address.] */
- };
- #define SIF_BIT_T enum _SIF_BIT_T
- enum _SIF_TYPE_T {
- SIF_NORMAL, /* /< [Normal, always select this.] */
- SIF_OTHER, /* /< [Other.] */
- };
- #define SIF_TYPE_T enum _SIF_TYPE_T
- /* / [Sif control mode select.] */
- struct _SIF_MODE_T {
- SIF_BIT_T eBit; /* /< [The data address type. ] */
- SIF_TYPE_T eType; /* /< [The control mode.] */
- };
- #define SIF_MODE_T struct _SIF_MODE_T
- extern unsigned char fgDDCDataRead(unsigned char bDevice,
- unsigned char bData_Addr, unsigned char bDataCount, unsigned char *prData);
- extern unsigned char fgDDCDataWrite(unsigned char bDevice,
- unsigned char bData_Addr, unsigned char bDataCount, unsigned char *prData);
- #endif
- #endif
|