hv_drv_Demura.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /**
  2. * @file hv_drv_Demura.h
  3. * @brief Header file of TX-demura module.
  4. *
  5. * @verbatim
  6. * ==============================================================================
  7. * ##### How to use #####
  8. * ==============================================================================
  9. *
  10. * @endverbatim
  11. *
  12. * @author HiView SoC Software Team
  13. * @version 0.0.0
  14. * @date 2022-04-17
  15. */
  16. #ifndef _HV_DRV_DEMURA_H_
  17. #define _HV_DRV_DEMURA_H_
  18. #include "hv_comm_DataType.h"
  19. typedef struct _DemuraInitParams
  20. {
  21. UCHAR8 ucColorMode; /*0-mono, 1-rgb*/
  22. UCHAR8 ucLayerNum; /*Layer number*/
  23. UCHAR8 ucBlkXBit; /*HblockSize bit num*/
  24. UCHAR8 ucBlkYBit; /*VblockSize bit num*/
  25. USHORT16 usHact; /*Hactive from panel*/
  26. USHORT16 usVact; /*Vactive from panel*/
  27. USHORT16 usBlackLimit; /*Low gray level limit*/
  28. USHORT16 usWhiteLimit; /*High gray level limit*/
  29. USHORT16 ausBound[9]; /*9-gray level div maxnum*/
  30. USHORT16 ausStrengthGain[3]; /*low/middle/high strength gain*/
  31. UINT32 uiDDRAddr;
  32. const UINT32 *puiDemuraLut;
  33. UINT32 uiLutLen;
  34. } DemuraInitParams;
  35. /**
  36. * @brief Demura module init
  37. * @param[in] pstDemuraInitParam Pointer to demura init params structure.
  38. * @return None
  39. */
  40. VOID Hv_Drv_Demura_Init(DemuraInitParams *pstDemuraInitParam);
  41. /**
  42. * @brief Demura function enable control.
  43. * @param[in] bEn HV_TRUE-Enable, HV_FALSE-Disable
  44. * @return None
  45. */
  46. VOID Hv_Drv_Demura_Enable(BOOL bEn);
  47. /**
  48. * @brief Demura使能CRC控制
  49. * @param[in] bEn 控制标志:HV_TRUE-Enable, HV_FALSE-Disable
  50. * @return None
  51. */
  52. VOID Hv_Drv_Demura_EnableCRC(BOOL bEn);
  53. /**
  54. * @brief Get demura crc flag
  55. * @return crc fail flag
  56. */
  57. UCHAR8 Hv_Drv_Demura_GetCRCFlag(VOID);
  58. /**
  59. * @brief set demura strengh gain low/high threold
  60. * @param[in] uiLowGain-low strenth gain thr, uiHighGain-high strenth gain thr
  61. * @return None
  62. */
  63. VOID Hv_Drv_Demura_SetStrengthGainThr(UINT32 uiLowGain, UINT32 uiHighGain);
  64. /**
  65. * @brief Set demura strengh gain size
  66. * @param[in] uiStrGain Value of gain
  67. * @return None
  68. */
  69. VOID Hv_Drv_Demura_SetStrengthGain(UINT32 uiStrGain);
  70. /**
  71. * @brief Get demura strengh gain size
  72. * @return strengh gain
  73. */
  74. UINT32 Hv_Drv_Demura_GetStrengthGain(VOID);
  75. #endif