drv_damp_interface.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. #ifndef _DRV_DAMP_INTERFACE_H
  2. #define _DRV_DAMP_INTERFACE_H
  3. // john@20110615 add for flag of AUDIO_PEQ_SET for cmd RX_SETPEQ
  4. enum
  5. {
  6. PEQ_SET_TAS570X = 0,
  7. PEQ_SET_SIS,
  8. };
  9. // used by flag that is PEQ_SET_TAS570X in structure AUDIO_DAMPEQ_SET
  10. enum
  11. {
  12. TAS570X_PEQ_DEFAULT = 0, //default value for others project which use TI570x DAMP
  13. TAS570X_PEQ_DESK, //TCL default value
  14. TAS570X_PEQ_WALL,
  15. };
  16. // ~john
  17. typedef enum _AUDIODEVICE_TYPE_t
  18. {
  19. ADTYPE_DAMP_DRC = 0,
  20. ADTYPE_DAMP_EQ,
  21. ADTYPE_DSP_YSS952,
  22. ADTYPE_DAMP_AD83586,
  23. ADTYPE_DAMP_YDA174,
  24. } AUDIODEVICE_TYPE_t;
  25. // john@20111013 add flag for YSS952
  26. typedef enum _YSS952_DAMP_INTERFACE_FLAG
  27. {
  28. YSS952_FLAG_SET_MODE = 0,
  29. YSS952_FLAG_SET_OUTPUT_VOLUME,
  30. YSS952_FLAG_SET_MIC_VOLUME,
  31. YSS952_FLAG_SET_MUSIC_VOLUME,
  32. YSS952_FLAG_SET_MIC_ECHO,
  33. YSS952_FLAG_SET_KEY,
  34. YSS952_FLAG_SET_MUTE,
  35. YSS952_FLAG_SET_AUDIO_MODE,
  36. YSS952_FLAG_SET_KARAOKE_SOUND_FIELD,
  37. YSS952_FLAG_SET_MUSIC_SOUND_FIELD,
  38. YSS952_FLAG_SET_DTV_SOUND_FIELD,
  39. YSS952_FLAG_GET_DSP_EXIST,
  40. YSS952_FLAG_GET_MODE,
  41. YSS952_FLAG_SET_MIC_VOLUME_L,
  42. YSS952_FLAG_SET_MIC_VOLUME_R,
  43. YSS952_FLAG_PLAY_FM,
  44. YSS952_FLAG_PRESET_ROM,
  45. YSS952_FLAG_SET_HELIOS,
  46. YSS952_FLAG_SET_POWER_LIMITER
  47. } YSS952_DAMP_INTERFACE_FLAG;
  48. // ~john
  49. // 20120103 add flag for AD83586 interface
  50. typedef enum _AD83586_DAMP_INTERFACE_FLAG
  51. {
  52. AD83586_FLAG_SURROUND = 0,
  53. AD83586_FLAG_BASE_CROSSOVER,
  54. AD83586_FLAG_BASE_CROSSOVER_FREQUENCY
  55. } AD83586_DAMP_INTERFACE_FLAG;
  56. typedef enum _AD83586_SURROUND
  57. {
  58. AD83586_SURROUND_OFF = 0,
  59. AD83586_SURROUND_ON
  60. } AD83586_SURROUND;
  61. typedef enum _AD83586_BASE_CROSSOVER
  62. {
  63. AD83586_BASE_CROSSOVER_OFF = 0, // All channel disable
  64. AD83586_BASE_CROSSOVER_ON, // All channel enable
  65. AD83586_BASE_CROSSOVER_CH1_CH2_ON, // Only channel1 and channel2 enable
  66. AD83586_BASE_CROSSOVER_CH3_ON, // Only channel3(subwoofer) enable
  67. } AD83586_BASE_CROSSOVER;
  68. typedef enum _AD83586_BASE_CROSSOVER_FREQUENCY
  69. {
  70. AD83586_BASE_CROSSOVER_FREQUENCY_80HZ = 0,
  71. AD83586_BASE_CROSSOVER_FREQUENCY_100HZ,
  72. AD83586_BASE_CROSSOVER_FREQUENCY_120HZ,
  73. AD83586_BASE_CROSSOVER_FREQUENCY_140HZ,
  74. AD83586_BASE_CROSSOVER_FREQUENCY_160HZ,
  75. AD83586_BASE_CROSSOVER_FREQUENCY_180HZ,
  76. AD83586_BASE_CROSSOVER_FREQUENCY_200HZ,
  77. AD83586_BASE_CROSSOVER_FREQUENCY_220HZ,
  78. AD83586_BASE_CROSSOVER_FREQUENCY_240HZ,
  79. AD83586_BASE_CROSSOVER_FREQUENCY_260HZ,
  80. AD83586_BASE_CROSSOVER_FREQUENCY_280HZ,
  81. AD83586_BASE_CROSSOVER_FREQUENCY_300HZ,
  82. AD83586_BASE_CROSSOVER_FREQUENCY_320HZ,
  83. AD83586_BASE_CROSSOVER_FREQUENCY_340HZ,
  84. AD83586_BASE_CROSSOVER_FREQUENCY_360HZ
  85. } AD83586_BASE_CROSSOVER_FREQUENCY;
  86. // john@20121003 add flag for YDA174 interface
  87. typedef enum _YDA174_DAMP_INTERFACE_FLAG
  88. {
  89. YDA174_FLAG_AUDIO_PRESETS = 0,
  90. YDA174_FLAG_TREBLE,
  91. YDA174_FLAG_BASS,
  92. YDA174_FLAG_SURROUND,
  93. } YDA174_DAMP_INTERFACE_FLAG;
  94. typedef enum _YDA174_AUDIO_PRESET
  95. {
  96. YDA174_AUDIO_PRESETS_ROCK = 0,
  97. YDA174_AUDIO_PRESETS_POP,
  98. YDA174_AUDIO_PRESETS_CLASSICAL,
  99. YDA174_AUDIO_PRESETS_FLAT,
  100. YDA174_AUDIO_PRESETS_CUSTOM,
  101. } YDA174_AUDIO_PRESET;
  102. // ~john
  103. typedef struct _TAS5708_VOL
  104. {
  105. UINT8 MasterVol;//0x07
  106. UINT8 Ch1Vol;
  107. UINT8 Ch2Vol;
  108. UINT8 FineVol;//0x0a
  109. }TAS5708_VOL, *pTAS5708_VOL;
  110. typedef struct _AUDIO_DEVICE_SET
  111. {
  112. INT32 flag;
  113. union
  114. {
  115. INT32 DAmp_DRC_Table_Idx;
  116. INT32 DAmp_EQ_Table_Idx;
  117. union
  118. {
  119. void* DAmp_Interface_Param_Addr;
  120. INT8 DAmp_Interface_Buf[256];
  121. };
  122. };
  123. } AUDIO_DEVICE_SET, *pAUDIO_DEVICE_SET;
  124. // john@20110615 add interface for setting D-AMP EQ, used by command RX_SETPEQ
  125. typedef struct _AUDIO_PEQ_SET
  126. {
  127. INT32 flag;
  128. union
  129. {
  130. UINT8 tas570x; // TAS570X EQ setting
  131. };
  132. } AUDIO_PEQ_SET, *pAUDIO_PEQ_SET;
  133. // ~john
  134. // john@20111013 john add for YSS952 DSP interface
  135. typedef struct _ADTYPE_YSS952_STRUCT
  136. {
  137. UINT8 flag;
  138. INT32 value;
  139. } ADTYPE_YSS952_STRUCT, *pADTYPE_YSS952_STRUCT;
  140. // ~john
  141. // john@20120103 john add for AD83586 interface
  142. typedef struct _ADTYPE_AD83586_STRUCT
  143. {
  144. UINT8 flag;
  145. INT32 value;
  146. } ADTYPE_AD83586_STRUCT, *pADTYPE_AD83586_STRUCT;
  147. // ~john
  148. // john@20121004 john add for YDA174 interface
  149. typedef struct _ADTYPE_YDA174_STRUCT
  150. {
  151. UINT8 flag;
  152. INT32 value;
  153. } ADTYPE_YDA174_STRUCT, *pADTYPE_YDA174_STRUCT;
  154. // ~john
  155. #endif