#ifndef _DRV_DAMP_INTERFACE_H #define _DRV_DAMP_INTERFACE_H // john@20110615 add for flag of AUDIO_PEQ_SET for cmd RX_SETPEQ enum { PEQ_SET_TAS570X = 0, PEQ_SET_SIS, }; // used by flag that is PEQ_SET_TAS570X in structure AUDIO_DAMPEQ_SET enum { TAS570X_PEQ_DEFAULT = 0, //default value for others project which use TI570x DAMP TAS570X_PEQ_DESK, //TCL default value TAS570X_PEQ_WALL, }; // ~john typedef enum _AUDIODEVICE_TYPE_t { ADTYPE_DAMP_DRC = 0, ADTYPE_DAMP_EQ, ADTYPE_DSP_YSS952, ADTYPE_DAMP_AD83586, ADTYPE_DAMP_YDA174, } AUDIODEVICE_TYPE_t; // john@20111013 add flag for YSS952 typedef enum _YSS952_DAMP_INTERFACE_FLAG { YSS952_FLAG_SET_MODE = 0, YSS952_FLAG_SET_OUTPUT_VOLUME, YSS952_FLAG_SET_MIC_VOLUME, YSS952_FLAG_SET_MUSIC_VOLUME, YSS952_FLAG_SET_MIC_ECHO, YSS952_FLAG_SET_KEY, YSS952_FLAG_SET_MUTE, YSS952_FLAG_SET_AUDIO_MODE, YSS952_FLAG_SET_KARAOKE_SOUND_FIELD, YSS952_FLAG_SET_MUSIC_SOUND_FIELD, YSS952_FLAG_SET_DTV_SOUND_FIELD, YSS952_FLAG_GET_DSP_EXIST, YSS952_FLAG_GET_MODE, YSS952_FLAG_SET_MIC_VOLUME_L, YSS952_FLAG_SET_MIC_VOLUME_R, YSS952_FLAG_PLAY_FM, YSS952_FLAG_PRESET_ROM, YSS952_FLAG_SET_HELIOS, YSS952_FLAG_SET_POWER_LIMITER } YSS952_DAMP_INTERFACE_FLAG; // ~john // 20120103 add flag for AD83586 interface typedef enum _AD83586_DAMP_INTERFACE_FLAG { AD83586_FLAG_SURROUND = 0, AD83586_FLAG_BASE_CROSSOVER, AD83586_FLAG_BASE_CROSSOVER_FREQUENCY } AD83586_DAMP_INTERFACE_FLAG; typedef enum _AD83586_SURROUND { AD83586_SURROUND_OFF = 0, AD83586_SURROUND_ON } AD83586_SURROUND; typedef enum _AD83586_BASE_CROSSOVER { AD83586_BASE_CROSSOVER_OFF = 0, // All channel disable AD83586_BASE_CROSSOVER_ON, // All channel enable AD83586_BASE_CROSSOVER_CH1_CH2_ON, // Only channel1 and channel2 enable AD83586_BASE_CROSSOVER_CH3_ON, // Only channel3(subwoofer) enable } AD83586_BASE_CROSSOVER; typedef enum _AD83586_BASE_CROSSOVER_FREQUENCY { AD83586_BASE_CROSSOVER_FREQUENCY_80HZ = 0, AD83586_BASE_CROSSOVER_FREQUENCY_100HZ, AD83586_BASE_CROSSOVER_FREQUENCY_120HZ, AD83586_BASE_CROSSOVER_FREQUENCY_140HZ, AD83586_BASE_CROSSOVER_FREQUENCY_160HZ, AD83586_BASE_CROSSOVER_FREQUENCY_180HZ, AD83586_BASE_CROSSOVER_FREQUENCY_200HZ, AD83586_BASE_CROSSOVER_FREQUENCY_220HZ, AD83586_BASE_CROSSOVER_FREQUENCY_240HZ, AD83586_BASE_CROSSOVER_FREQUENCY_260HZ, AD83586_BASE_CROSSOVER_FREQUENCY_280HZ, AD83586_BASE_CROSSOVER_FREQUENCY_300HZ, AD83586_BASE_CROSSOVER_FREQUENCY_320HZ, AD83586_BASE_CROSSOVER_FREQUENCY_340HZ, AD83586_BASE_CROSSOVER_FREQUENCY_360HZ } AD83586_BASE_CROSSOVER_FREQUENCY; // john@20121003 add flag for YDA174 interface typedef enum _YDA174_DAMP_INTERFACE_FLAG { YDA174_FLAG_AUDIO_PRESETS = 0, YDA174_FLAG_TREBLE, YDA174_FLAG_BASS, YDA174_FLAG_SURROUND, } YDA174_DAMP_INTERFACE_FLAG; typedef enum _YDA174_AUDIO_PRESET { YDA174_AUDIO_PRESETS_ROCK = 0, YDA174_AUDIO_PRESETS_POP, YDA174_AUDIO_PRESETS_CLASSICAL, YDA174_AUDIO_PRESETS_FLAT, YDA174_AUDIO_PRESETS_CUSTOM, } YDA174_AUDIO_PRESET; // ~john typedef struct _TAS5708_VOL { UINT8 MasterVol;//0x07 UINT8 Ch1Vol; UINT8 Ch2Vol; UINT8 FineVol;//0x0a }TAS5708_VOL, *pTAS5708_VOL; typedef struct _AUDIO_DEVICE_SET { INT32 flag; union { INT32 DAmp_DRC_Table_Idx; INT32 DAmp_EQ_Table_Idx; union { void* DAmp_Interface_Param_Addr; INT8 DAmp_Interface_Buf[256]; }; }; } AUDIO_DEVICE_SET, *pAUDIO_DEVICE_SET; // john@20110615 add interface for setting D-AMP EQ, used by command RX_SETPEQ typedef struct _AUDIO_PEQ_SET { INT32 flag; union { UINT8 tas570x; // TAS570X EQ setting }; } AUDIO_PEQ_SET, *pAUDIO_PEQ_SET; // ~john // john@20111013 john add for YSS952 DSP interface typedef struct _ADTYPE_YSS952_STRUCT { UINT8 flag; INT32 value; } ADTYPE_YSS952_STRUCT, *pADTYPE_YSS952_STRUCT; // ~john // john@20120103 john add for AD83586 interface typedef struct _ADTYPE_AD83586_STRUCT { UINT8 flag; INT32 value; } ADTYPE_AD83586_STRUCT, *pADTYPE_AD83586_STRUCT; // ~john // john@20121004 john add for YDA174 interface typedef struct _ADTYPE_YDA174_STRUCT { UINT8 flag; INT32 value; } ADTYPE_YDA174_STRUCT, *pADTYPE_YDA174_STRUCT; // ~john #endif