123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- /* Copyright (C) 2018 RDA Technologies Limited and/or its affiliates("RDA").
- * All rights reserved.
- *
- * This software is supplied "AS IS" without any warranties.
- * RDA assumes no responsibility or liability for the use of the software,
- * conveys no license or title under any patent, copyright, or mask work
- * right to the product. RDA reserves the right to make changes in the
- * software without notification. RDA also make no representation or
- * warranty that such application will be suitable for the specified use
- * without further testing or modification.
- */
- #ifndef _AT_CMD_AUDIO_
- #define _AT_CMD_AUDIO_
- #include "osi_compiler.h"
- OSI_EXTERN_C_BEGIN
- #ifdef CONFIG_SOC_8910
- // =============================================================================
- // TYPES
- // =============================================================================
- typedef struct
- {
- int32_t id;
- uint32_t freq;
- int32_t clockMode;
- } HAL_I2C_CFG_T;
- typedef struct
- {
- uint32_t regAddr;
- uint16_t val;
- uint16_t delay;
- } HAL_CODEC_REG_T;
- typedef enum
- {
- HAL_AIF_RX_DELAY_ALIGN,
- HAL_AIF_RX_DELAY_1,
- HAL_AIF_RX_DELAY_2,
- HAL_AIF_RX_DELAY_3,
- HAL_AIF_RX_DELAY_QTY
- } HAL_AIF_RX_DELAY_T;
- typedef enum
- {
- HAL_AIF_RX_MODE_STEREO_STEREO,
- HAL_AIF_RX_MODE_STEREO_MONO_FROM_L,
- HAL_AIF_RX_MODE_QTY
- } HAL_AIF_RX_MODE_T;
- typedef enum
- {
- HAL_SERIAL_MODE_I2S,
- HAL_SERIAL_MODE_VOICE,
- HAL_SERIAL_MODE_DAI,
- HAL_SERIAL_MODE_QTY
- } HAL_SERIAL_MODE_T;
- typedef enum
- {
- HAL_AIF_TX_DELAY_ALIGN,
- HAL_AIF_TX_DELAY_1,
- HAL_AIF_TX_DELAY_QTY
- } HAL_AIF_TX_DELAY_T;
- typedef enum
- {
- HAL_AIF_TX_MODE_STEREO_STEREO,
- HAL_AIF_TX_MODE_MONO_STEREO_CHAN_L,
- HAL_AIF_TX_MODE_MONO_STEREO_DUPLI,
- HAL_AIF_TX_MODE_QTY
- } HAL_AIF_TX_MODE_T;
- typedef struct
- {
- HAL_SERIAL_MODE_T mode;
- bool aifIsMaster;
- bool lsbFirst;
- bool polarity;
- HAL_AIF_RX_DELAY_T rxDelay;
- HAL_AIF_TX_DELAY_T txDelay;
- HAL_AIF_RX_MODE_T rxMode;
- HAL_AIF_TX_MODE_T txMode;
- uint32_t fs;
- uint32_t bckLrckRatio;
- bool invertBck;
- bool outputHalfCycleDelay;
- bool inputHalfCycleDelay;
- bool enableBckOutGating;
- } HAL_AIF_SERIAL_CFG_T;
- typedef struct
- {
- uint32_t codecAddr;
- uint16_t codecIsMaster;
- uint16_t dataFormat;
- uint16_t codecCurrentuser;
- uint16_t codecTestmode;
- uint16_t initFlag;
- uint16_t externalCodec;
- uint16_t reserved[24];
- HAL_I2C_CFG_T i2cCfg;
- HAL_AIF_SERIAL_CFG_T i2sAifcfg;
- HAL_CODEC_REG_T initRegCfg[100];
- HAL_CODEC_REG_T closeRegCfg[50];
- HAL_CODEC_REG_T sampleRegCfg[10][12];
- HAL_CODEC_REG_T inpathRegCfg[6][20];
- HAL_CODEC_REG_T outpathRegCfg[4][20];
- } HAL_CODEC_CFG_T;
- #endif
- #ifdef CONFIG_SOC_8850
- //SADM start here
- typedef enum
- {
- //process in CP
- ENG_GET_AUD_MODE_NUM = 0, // 0 :get audio mode total number
- ENG_GET_AUD_MODE_NAME, // 1 :get audio mode name
- ENG_GET_AUD_MODE_DATA, // 2 :get audio data from memory
- ENG_SET_AUD_MODE_DATA, // 3 :set audio data into memory
- ENG_SET_AUD_DEV_MODE, // 4 :set audio mode
- ENG_SET_AUD_MODE_NV_DATA, // 5 :set audio mode parameters into flash
- ENG_GET_AUD_MODE_NV_DATA, // 6 :get audio mode parameters from flash*/
- //process in AP:CVS_RECD
- ENG_GET_AUD_ARM_MODE_NUM = 7, // 7 :get audio mode total number
- ENG_GET_AUD_ARM_MODE_NAME, // 8 :get audio mode name
- ENG_GET_AUD_ARM_MODE_DATA, // 9 :get audio data from memory
- ENG_SET_AUD_ARM_MODE_DATA, // 10 :set audio data into memory
- ENG_SET_AUD_ARM_MODE_NV_DATA, // 11 :set audio mode parameters into flash
- ENG_GET_AUD_ARM_MODE_NV_DATA, // 12 :get audio mode parameters from flash
- ENG_GET_AUD_CURRENT_MODE //13
- } ENG_AUD_MODE_OPT_TYPE_E;
- typedef enum
- {
- //process in POC:CVS
- ENG_GET_CVS_MODE_NUM = 0, // 0 :get cvs mode total number
- ENG_GET_CVS_MODE_NAME, // 1 :get cvs mode name
- ENG_GET_CVS_MODE_DATA, // 2 :get cvs data from memory
- ENG_SET_CVS_MODE_DATA, // 3 :set cvs data into memory
- ENG_GET_CVS_MODE_NV_DATA, // 4 :get cvs mode parameters from flash
- ENG_SET_CVS_MODE_NV_DATA, // 5 :set cvs mode parameters into flash*/
- } ENG_CVS_MODE_OPT_TYPE_E;
- //ENHA start here
- typedef enum
- {
- ENG_GET_ENHA_MODE_NUM = 0, // 0 :get audio enha mode total number
- ENG_GET_ENHA_MODE_DATA, // 1 :get audio enha data from memory
- ENG_SET_ENHA_MODE_DATA, // 2 :set audio enha data into memory
- ENG_GET_ENHA_MODE_NV_DATA, // 3 :get audio enha mode parameters from flash
- ENG_SET_ENHA_MODE_NV_DATA // 4 :set audio enha mode parameters into flash
- } ATC_ENHA_MODE_OPT_TYPE_E;
- #define AUDIO_AT_HARDWARE_NAME_LENGTH 32
- #define AUDIO_AT_SOFTWARE_NAME_LENGTH 32
- #define AUDIO_AT_ITEM_NAME_LENGTH 15
- #define AUDIO_AT_ITEM_VALUE_LENGTH 1
- #define AUDIO_AT_ITEM_NUM 20
- #define AUDIO_AT_PEINFO_LENGTH AUDIO_AT_HARDWARE_NAME_LENGTH + \
- AUDIO_AT_SOFTWARE_NAME_LENGTH + (AUDIO_AT_ITEM_NAME_LENGTH + AUDIO_AT_ITEM_VALUE_LENGTH) * AUDIO_AT_ITEM_NUM
- #define AUDIO_HARDWARE_NAME "UIS8850"
- #define AUDIO_SOFTWARE_VERSION "0"
- #define AUDIO_AT_CODEC_INFO "aud codec info"
- #define AUDIO_AT_PHONE_TYPE_INFO "Phone type"
- #define PHONE_TYPE_FEATUREPHONE "0"
- #define AUDIO_CODEC_ITEM_VALUE "7"
- typedef struct Audio_Pe_Item_Struct
- {
- char name[AUDIO_AT_ITEM_NAME_LENGTH]; //item name
- char value; //item value
- } AUDIO_PE_ITEM_STRUCT_T;
- typedef struct Audio_Pe_Info_Struct
- {
- int item_length; //item몸鑒
- char hardware_version[AUDIO_AT_HARDWARE_NAME_LENGTH]; //袒숭경굶
- char software_version[AUDIO_AT_SOFTWARE_NAME_LENGTH]; //흡숭경굶
- AUDIO_PE_ITEM_STRUCT_T item[AUDIO_AT_ITEM_NUM]; //item鑒앴
- } AUDIO_PE_INFO_STRUCT_T;
- #define AUDIO_SADM_DATA_FLASH 0x01
- #define AUDIO_SADM_DATA_MEMORY 0x02
- #define AUDIO_DIAG_BUFFER_SIZE 4096
- typedef struct
- {
- uint32_t pos;
- uint32_t size;
- char *mem;
- uint32_t is_data;
- uint32_t index;
- uint32_t is_cvs;
- } audioAsyncCtx_t;
- #endif
- void atAudioInit(void);
- int GetPlayAudioStatus();
- int GetRecorderAudioStatus();
- OSI_EXTERN_C_END
- #endif
|