hdmi_hw.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #ifndef __HDMI_HW_H__
  2. #define __HDMI_HW_H__
  3. #include "drv_types.h"
  4. #include "reg_hdmirx_def.h"
  5. #include "reg_cec_def.h"
  6. #include "reg_hdmirx_cbus_def.h"
  7. #include "hdmi_infoframe_api.h"
  8. #define IRQ_HDMI 35
  9. #define HDMIRXDRV_DEVNAME "/dev/hdmirx"
  10. /* HDMIRX Interrupt start */
  11. #define INTR_AVI_infoframe 0x00000001
  12. #define INTR_ACP_packets 0x00000002
  13. #define INTR_Audio_infoframe 0x00000004
  14. #define INTR_ISRC1_packets 0x00000008
  15. #define INTR_ISRC2_packets 0x00000010
  16. #define INTR_SPD_infoframe 0x00000020
  17. #define INTR_MPEG_source_infoframe 0x00000040
  18. #define INTR_AV_Mute 0x00000080
  19. #define INTR_Clear_AV_Mute 0x00000100
  20. #define INTR_Buffer_Change_Pulse 0x00000200
  21. #define INTR_Channel_Status_Lock_Pulse 0x00000400
  22. #define INTR_Channel_Status_Unlock_Pulse 0x00000800
  23. #define INTR_Inactive_to_Active 0x00001000
  24. #define INTR_Active_to_Inactive 0x00002000
  25. #define INTR_VSI_packets 0x00004000
  26. #define INTR_Layout_change 0x00008000
  27. #define INTR_HDCP_Key_Request 0x00010000
  28. #define INTR_hdmi_enable 0x00020000
  29. #define INTR_dvi_enable 0x00040000
  30. #define INTR_audio_sample_coming 0x00080000
  31. #define INTR_HBR_audio_sample_coming 0x00100000
  32. #define INTR_reserved_intr_21 0x00200000
  33. #define INTR_deep_color_mode_change 0x00400000
  34. #define INTR_hdcp_try_intr 0x00800000
  35. #define INTR_GamutBoundaryData 0x01000000
  36. #define INTR_Mode_Change 0x02000000
  37. #define INTR_PLLLOCK 0x04000000 //same as INTR_phy_PLLLOCK
  38. #define INTR_Ctrl_First_Pulse 0x08000000 //one channel symbol lock
  39. #define INTR_phy_PLLRSTJ 0x10000000
  40. #define INTR_phy_IN_RANGE 0x20000000
  41. #define INTR_phy_CDRRSTJ 0x40000000
  42. #define INTR_phy_PLLLOCK 0x80000000
  43. #define INTR_ALL 0xFFFFFFFF
  44. #ifdef CONFIG_CHIP_512L
  45. //#define USE_HW_ADAPTIVE_EQ
  46. #ifdef USE_HW_ADAPTIVE_EQ
  47. #define INTR_Phy_Ovsp_int 0x00800000
  48. #endif
  49. #endif
  50. /* HDMIRX Interrupt end */
  51. //****************************************************************************
  52. //
  53. // Function : HDMI_RegisterWrite
  54. // Params : ulRegisterName -address of the index register
  55. // ulValue - value to program to the given bits of the register
  56. // Description: Sets the given bits of the given index register to the given value
  57. // ulRegisterName data format: TTTT WWWW WWSS SSSS AAAA AAAA AAAA AAAA
  58. // 0:reserved
  59. // T:register type 4=HDMIRX_register (offset 0xBE0E)
  60. // W:register used width
  61. // S:register start bit
  62. // A:register address
  63. // Returns : void
  64. //****************************************************************************
  65. void HDMI_RegisterWrite(UINT32 ulRegisterName, UINT32 ulValue);
  66. //****************************************************************************
  67. //
  68. // Function : HDMI_RegisterRead
  69. // Params : ulRegisterName -address of the index register
  70. // Description: read the given bits of the given index register to the value
  71. // ulRegisterName data format: TTTT WWWW WWSS SSSS AAAA AAAA AAAA AAAA
  72. // 0:reserved
  73. // T:register type 4=HDMIRX_register (offset 0xBE0E)
  74. // W:register used width
  75. // S:register start bit
  76. // A:register address
  77. // Returns : register data
  78. //****************************************************************************
  79. UINT32 HDMI_RegisterRead(UINT32 ulRegisterName);
  80. void HDMI_Interrupt_Enable(UINT32 ulIntr);
  81. void HDMI_Interrupt_Disable(UINT32 ulIntr);
  82. void HDMI_PHY_Enable(BOOL fEn);
  83. void HDMI_PLL_Init(void);
  84. void HDMI_SetPLL_ByFreq(void);
  85. void HDMI_MHL_SetPLL_ByFreq(void);
  86. void HDMI_Reset_HDMI_PLL(void);
  87. //set force to HDMI mode, (set 1: force HDMI mode)
  88. void HDMI_MHL_RxSense_Term_Debug(BOOL fEn);
  89. void HDMI_MHL_CABLE_IN(BOOL fIn);
  90. void HDMI_MHL_CTS(BOOL fIn);
  91. UINT8 HDMI_Get_SPD_INFOFRAME(struct hdmi_spd_infoframe *frame);
  92. //------------------------------------------------------------------------------
  93. // Function: DrvHDMIPortSelectBitsGet
  94. // Description: Reads the HDMI selected port(s)bit-field.
  95. // Parameters: None
  96. // Returns: HDMI selected port(s)bit-field.
  97. //
  98. //------------------------------------------------------------------------------
  99. UINT8 DrvHDMIPortSelectBitsGet(void);
  100. #ifdef USE_HW_ADAPTIVE_EQ
  101. void HDMI_Adaptive_EQ_Init(void);
  102. #endif
  103. #endif /* __HDMI_HW_H__ */