123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- #ifndef __HDMI_HW_H__
- #define __HDMI_HW_H__
- #include "drv_types.h"
- #include "reg_hdmirx_def.h"
- #include "reg_cec_def.h"
- #include "reg_hdmirx_cbus_def.h"
- #include "hdmi_infoframe_api.h"
- #define IRQ_HDMI 35
- #define HDMIRXDRV_DEVNAME "/dev/hdmirx"
- /* HDMIRX Interrupt start */
- #define INTR_AVI_infoframe 0x00000001
- #define INTR_ACP_packets 0x00000002
- #define INTR_Audio_infoframe 0x00000004
- #define INTR_ISRC1_packets 0x00000008
- #define INTR_ISRC2_packets 0x00000010
- #define INTR_SPD_infoframe 0x00000020
- #define INTR_MPEG_source_infoframe 0x00000040
- #define INTR_AV_Mute 0x00000080
- #define INTR_Clear_AV_Mute 0x00000100
- #define INTR_Buffer_Change_Pulse 0x00000200
- #define INTR_Channel_Status_Lock_Pulse 0x00000400
- #define INTR_Channel_Status_Unlock_Pulse 0x00000800
- #define INTR_Inactive_to_Active 0x00001000
- #define INTR_Active_to_Inactive 0x00002000
- #define INTR_VSI_packets 0x00004000
- #define INTR_Layout_change 0x00008000
- #define INTR_HDCP_Key_Request 0x00010000
- #define INTR_hdmi_enable 0x00020000
- #define INTR_dvi_enable 0x00040000
- #define INTR_audio_sample_coming 0x00080000
- #define INTR_HBR_audio_sample_coming 0x00100000
- #define INTR_reserved_intr_21 0x00200000
- #define INTR_deep_color_mode_change 0x00400000
- #define INTR_hdcp_try_intr 0x00800000
- #define INTR_GamutBoundaryData 0x01000000
- #define INTR_Mode_Change 0x02000000
- #define INTR_PLLLOCK 0x04000000 //same as INTR_phy_PLLLOCK
- #define INTR_Ctrl_First_Pulse 0x08000000 //one channel symbol lock
- #define INTR_phy_PLLRSTJ 0x10000000
- #define INTR_phy_IN_RANGE 0x20000000
- #define INTR_phy_CDRRSTJ 0x40000000
- #define INTR_phy_PLLLOCK 0x80000000
- #define INTR_ALL 0xFFFFFFFF
- //#define USE_HW_ADAPTIVE_EQ
- #ifdef USE_HW_ADAPTIVE_EQ
- #define INTR_Phy_Ovsp_int 0x01000000
- #endif
- #define HDMI_USE_EXT_DIVSEL
- //#define Manu_EQ_Adjust //For Debug Only
- /* HDMIRX Interrupt end */
- //****************************************************************************
- //
- // Function : HDMI_RegisterWrite
- // Params : ulRegisterName -address of the index register
- // ulValue - value to program to the given bits of the register
- // Description: Sets the given bits of the given index register to the given value
- // ulRegisterName data format: TTTT WWWW WWSS SSSS AAAA AAAA AAAA AAAA
- // 0:reserved
- // T:register type 4=HDMIRX_register (offset 0xBE0E)
- // W:register used width
- // S:register start bit
- // A:register address
- // Returns : void
- //****************************************************************************
- void HDMI_RegisterWrite(UINT32 ulRegisterName, UINT32 ulValue);
- //****************************************************************************
- //
- // Function : HDMI_RegisterRead
- // Params : ulRegisterName -address of the index register
- // Description: read the given bits of the given index register to the value
- // ulRegisterName data format: TTTT WWWW WWSS SSSS AAAA AAAA AAAA AAAA
- // 0:reserved
- // T:register type 4=HDMIRX_register (offset 0xBE0E)
- // W:register used width
- // S:register start bit
- // A:register address
- // Returns : register data
- //****************************************************************************
- UINT32 HDMI_RegisterRead(UINT32 ulRegisterName);
- void HDMI_Interrupt_Enable(UINT32 ulIntr);
- void HDMI_Interrupt_Disable(UINT32 ulIntr);
- void HDMI_PHY_Enable(BOOL fEn);
- void HDMI_PLL_Init(void);
- void HDMI_SetPLL_ByFreq(void);
- void HDMI_MHL_SetPLL_ByFreq(void);
- void HDMI_Reset_HDMI_PLL(void);
- //set force to HDMI mode, (set 1: force HDMI mode)
- void HDMI_MHL_RxSense_Term_Debug(BOOL fEn);
- void HDMI_MHL_CABLE_IN(BOOL fIn);
- void HDMI_MHL_CTS(BOOL fIn);
- UINT8 HDMI_Get_SPD_INFOFRAME(struct hdmi_spd_infoframe *frame);
- //------------------------------------------------------------------------------
- // Function: DrvHDMIPortSelectBitsGet
- // Description: Reads the HDMI selected port(s)bit-field.
- // Parameters: None
- // Returns: HDMI selected port(s)bit-field.
- //
- //------------------------------------------------------------------------------
- UINT8 DrvHDMIPortSelectBitsGet(void);
- #ifdef USE_HW_ADAPTIVE_EQ
- void HDMI_Adaptive_EQ_Init(void);
- #endif
- #endif /* __HDMI_HW_H__ */
|