hv_drv_Bcon.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /*
  2. * @file hv_drv_Bcon.h
  3. * @brief Header file of audio module.
  4. *
  5. * @verbatim
  6. * ==============================================================================
  7. * ##### How to use #####
  8. * ==============================================================================
  9. * (+)
  10. *
  11. * @endverbatim
  12. * @author HiView SoC Software Team
  13. * @version 1.0.0
  14. * @date 2022-08-18
  15. */
  16. #ifndef __DRV_DIMMER__
  17. #define __DRV_DIMMER__
  18. #include "hv_vos_Comm.h"
  19. #include "hv_comm_Assert.h"
  20. typedef enum _BconProtoc
  21. {
  22. BCON_PROT_TI,
  23. BCON_PROT_XX,
  24. BCON_PROT_S,
  25. BCON_PROT_HY,
  26. BCON_PROT_MAX
  27. } BconProtoc;
  28. typedef enum _BconSendMode
  29. {
  30. BCON_CMD_MODE_RAM_ONLY,
  31. BCON_CMD_MODE_CMD_ONLY,
  32. BCON_CMD_MODE_CMD_BOTH,
  33. BCON_CMD_MODE_MAX
  34. } BconSendMode;
  35. typedef enum _BconCmdWidth
  36. {
  37. BCON_CMD_WIDTH_8BIT,
  38. BCON_CMD_WIDTH_16BIT,
  39. BCON_CMD_WIDTH_MAX
  40. } BconCmdWidth;
  41. typedef struct _OSPB{
  42. USHORT16 usHead;
  43. USHORT16 usAddr;
  44. USHORT16 usSubAddr;
  45. USHORT16 usFeedback;
  46. USHORT16 usDataLen;
  47. USHORT16 *pusData;
  48. USHORT16 *pusOutData;
  49. USHORT16 usCrc;
  50. }OSPB;
  51. #define MAX_LANE_NUM_HY (6)
  52. #define INIT_TIME_3 (1)
  53. #define OSPB_CMD_TYPE_DIMMING (0x71)
  54. #define OSPB_CMD_TYPE_BROADCAST (0x72)
  55. #define OSPB_CMD_TYPE_CONFIG (0x73)
  56. #define OSPB_CMD_TYPE_ADDRESS (0x74)
  57. #define OSPB_CMD_TYPE_READBACK (0x75)
  58. VOID Hv_Drv_Bcon_Init(UCHAR8 ucVendor, UINT32 uiClk);
  59. Status Hv_Drv_Bcon_SetClk(UINT32 uiClk);
  60. Status Hv_Drv_Bcon_SetVendor(BconProtoc eProt);
  61. Status Hv_Drv_Bcon_SwitchSram(VOID);
  62. VOID Hv_Drv_Bcon_SetPacketLength(UINT32 uiLength);
  63. UCHAR8 Hv_Drv_Bcon_CheckBusy(UINT32 uiLane);
  64. VOID Hv_Drv_Bcon_WriteData(UCHAR8 ucLaneIndex, USHORT16 *auiBuf, UINT32 uiLength);
  65. VOID Hv_Drv_Bcon_WriteDataU32(UINT32 uiLane, UINT32 *auiBuf, UINT32 uiLength);
  66. VOID Hv_Drv_Bcon_SetPinshare(BconProtoc eProt);
  67. VOID Hv_Drv_Bcon_SetCmdMode(UCHAR8 ucLaneIndex, BconSendMode eMode);
  68. VOID Hv_Drv_Bcon_SetDataLength(UCHAR8 ucLaneIndex, UINT32 uiLength);
  69. VOID Hv_Drv_Bcon_Start(UINT32 uiSel);
  70. VOID Hv_Drv_Bcon_Sram_SingleWriteData(UCHAR8 ucLaneIndex, UINT32 *auiBuf, UINT32 uiLength);
  71. VOID Hv_Drv_Bcon_Set_SingleDataWidth(UCHAR8 ucLaneIndex, BconCmdWidth eWidth);
  72. VOID Hv_Drv_Bcon_Set_SingleCmdWidth(UCHAR8 ucLaneIndex, BconCmdWidth eWidth);
  73. VOID Hv_Drv_Bcon_Set_SingleCmdLength(UCHAR8 ucLaneIndex, UINT32 uiLength);
  74. VOID Hv_Drv_Bcon_ReadData(UCHAR8 ucLane, USHORT16 usLen, USHORT16 *pusBuf);
  75. VOID Hv_Drv_Bcon_HP9309_Send();
  76. VOID Hv_Drv_Bcon_HP9309_Init(UINT32 uiLane);
  77. VOID Hv_Drv_Bcon_HP9309_WriteData(UCHAR8 ucLane, USHORT16* pusData, UINT32 uiLen);
  78. UINT32 Hv_Drv_Bcon_HP9309_DataPrepare(USHORT16 usHead, USHORT16 usAddr, USHORT16 usSubAddr, USHORT16 usFeedBack, USHORT16 *pusData, USHORT16 usDataLen, USHORT16* pusOut);
  79. #endif