index 1369f0cdd1482c5df0b2681ddf1fda005d94ce58..9c3f34bff93fd8bde6df3fdf4dca70c2db0c0c3b 100644 (file)
/*\r
- * Copyright (c) 2015, Texas Instruments Incorporated\r
+ * Copyright (c) 2017, Texas Instruments Incorporated\r
* All rights reserved.\r
*\r
* Redistribution and use in source and binary forms, with or without\r
sysConfig_t sysConfig = {\r
SYS_MICS_MAX, /* #microphones */\r
SYS_VMICS_MAX, /* #virtual microphones */\r
+ 5, /* 5ms ASNR delay */\r
+ { 12, 9, 6}, /* ASNR band1=12dB, band2=9dB, band3=6dB */\r
+ TRUE, /* Enable ASNR */\r
FALSE, /* Do not use file I/O to load files (must use GEL to load into memory) */\r
- TRUE /* Use default angles for microphone configurations */\r
+ TRUE, /* Use default angles for microphone configurations */\r
+ FALSE, /* Enable VAD */\r
+ -50, /* drc expansion knee point in dBm0 (dBFS is dBm0-3dB */\r
+ 6, /* drc max gain in dB */\r
+ FALSE /* Disable DRC */\r
};\r
\r
/* Global FILE I/O Configuration Structure (must be configured even when file I/O not used */\r
} /* system_init */\r
\r
/* ADC default configuration parameters */\r
-Audk2gAdcConfig adcCfg =\r
+CmbAdcConfig adcCfg =\r
{\r
80, /* ADC gain */\r
- AUDK2G_ADC_INL_SE_VINL1, /* Left input mux for ADC1L */\r
- AUDK2G_ADC_INL_SE_VINL2, /* Left input mux for ADC2L */\r
- AUDK2G_ADC_INR_SE_VINR1, /* Right input mux for ADC1R */\r
- AUDK2G_ADC_INR_SE_VINR2, /* Right input mux for ADC2R */\r
- AUDK2G_ADC_RX_WLEN_24BIT, /* ADC word length */\r
- AUDK2G_ADC_DATA_FORMAT_I2S, /* ADC data format */\r
+ CMB_ADC_INL_SE_VINL1, /* Left input mux for ADC1L */\r
+ CMB_ADC_INL_SE_VINL3, /* Left input mux for ADC2L */\r
+ CMB_ADC_INR_SE_VINR1, /* Right input mux for ADC1R */\r
+ CMB_ADC_INR_SE_VINR3, /* Right input mux for ADC2R */\r
+ CMB_ADC_RX_WLEN_24BIT, /* ADC word length */\r
+ CMB_ADC_DATA_FORMAT_I2S, /* ADC data format */\r
0\r
};\r
\r
/* DAC default configuration parameters */\r
-Audk2gDacConfig dacCfg =\r
+CmbDacConfig dacCfg =\r
{\r
- AUDK2G_DAC_AMUTE_CTRL_SCKI_LOST, /* Amute event */\r
+ CMB_DAC_AMUTE_CTRL_SCKI_LOST, /* Amute event */\r
0, /* Amute control */\r
- AUDK2G_DAC_SAMPLING_MODE_AUTO, /* Sampling mode */\r
- AUDK2G_DAC_DATA_FORMAT_I2S, /* Data format */\r
+ CMB_DAC_SAMPLING_MODE_AUTO, /* Sampling mode */\r
+ CMB_DAC_DATA_FORMAT_I2S, /* Data format */\r
0, /* Soft mute control */\r
- AUDK2G_DAC_ATTENUATION_WIDE_RANGE, /* Attenuation mode */\r
- AUDK2G_DAC_DEEMP_44KHZ, /* De-emph control */\r
+ CMB_DAC_ATTENUATION_WIDE_RANGE, /* Attenuation mode */\r
+ CMB_DAC_DEEMP_44KHZ, /* De-emph control */\r
80 /* Volume */\r
};\r
\r
CSL_FINS(*(padCfgBase + padCfgId), BOOTCFG_PADCONFIG0_MUXMODE, muxMode);\r
}\r
\r
-char write_buffer[MAX_WRITE_LEN];\r
-void audk2g_write(const char *fmt, ... )\r
-{\r
- va_list arg_ptr;\r
- uint32_t length;\r
-\r
- /* Initial platform_write to temporary buffer.. at least try some sort of sanity check so we don't write all over\r
- * memory if the print is too large.\r
- */\r
- if (strlen(fmt) > MAX_WRITE_LEN) {return;}\r
-\r
- va_start( arg_ptr, fmt );\r
- length = vsprintf( (char *)write_buffer, fmt, arg_ptr );\r
- va_end( arg_ptr );\r
-\r
- printf( "%s", write_buffer );\r
- //fflush(stdout);\r
-\r
- return;\r
-}\r
-\r
void McaspDevice_init(void);\r
\r
/**\r
* which are required for audio processing. Need to call this function\r
* before doing any HW related operations.\r
*\r
- * \return Audk2g_EOK on Success or error code\r
+ * \return Cmb_EOK on Success or error code\r
*/\r
-Audk2g_STATUS initPlatform(void)\r
+Cmb_STATUS initPlatform(void)\r
{\r
Board_STATUS status = BOARD_SOK;\r
Board_initCfg arg = BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_MODULE_CLOCK;\r
///gpioSetOutput(GPIO_PORT_1, 54);\r
\r
/* Configure platform log messages to standard printf */\r
- ///Audk2g_write_configure(Audk2g_WRITE_UART);\r
+ ///Cmb_write_configure(Cmb_WRITE_UART);\r
\r
/* Initialize UART */\r
- ///Audk2g_uart_init();\r
- ///Audk2g_uart_set_baudrate(115200);\r
+ ///Cmb_uart_init();\r
+ ///Cmb_uart_set_baudrate(115200);\r
\r
return(status);\r
}\r
*/\r
void main (void)\r
{\r
- Audk2g_STATUS status;\r
+ Cmb_STATUS status;\r
\r
status = initPlatform();\r
- if(status != Audk2g_EOK)\r
+ if(status != Cmb_EOK)\r
{\r
- audk2g_write("Platform Init Failed!\n");\r
+ cmb_write("Platform Init Failed!\n");\r
testRet(1);\r
}\r
\r
- audk2g_delay(10000);\r
+ cmb_delay(10000);\r
\r
\r
system_init(); /* initialize system context, etc. */\r
sysBfCreate(); /* Create beamformers */\r
sysAsnrCreate(); /* Create ASNR's */\r
sysMssCreate(); /* Create MSS */\r
+#if (SYS_USE_DRC)\r
+ sysDrcCreate(); /* Create DRC */\r
+#endif\r
///sysVauCreate(); /* Create VAU */\r
\r
\r
- audk2g_write("\n******************************************\n");\r
- audk2g_write( " CMB Analog Loopback Test \n");\r
- audk2g_write( "******************************************\n");\r
+ cmb_write("\n******************************************\n");\r
+ cmb_write( " CMB Analog Loopback Test \n");\r
+ cmb_write( "******************************************\n");\r
\r
- audk2g_write("\nTest Verifies ADC and DAC Channels\n");\r
- audk2g_write("Test Runs in Audio Loopback Mode\n");\r
- audk2g_write("Confirm that CMB Mic 1 and Mic 8 Input are Played at On-Board Line-Out Left and Right Channels\n");\r
+ cmb_write("\nTest Verifies ADC and DAC Channels\n");\r
+ cmb_write("Test Runs in Audio Loopback Mode\n");\r
+ cmb_write("Confirm that CMB Mic 1 and Mic 8 Input are Played at On-Board Line-Out Left and Right Channels\n");\r
\r
/* Initialize McASP HW details */\r
McaspDevice_init();\r
\r
/* Configure eDMA module */\r
status = eDmaConfig();\r
- if(status != Audk2g_EOK)\r
+ if(status != Cmb_EOK)\r
{\r
- audk2g_write("eDMA Configuration Failed!\n");\r
+ cmb_write("eDMA Configuration Failed!\n");\r
testRet(1);\r
}\r
\r
/* Initialize common audio configurations */\r
- status = (Audk2g_STATUS)audk2g_AudioInit();\r
- if(status != Audk2g_EOK)\r
+ status = (Cmb_STATUS)cmb_AudioInit();\r
+ if(status != Cmb_EOK)\r
{\r
- audk2g_write("Audio Init Failed!\n");\r
+ cmb_write("Audio Init Failed!\n");\r
testRet(1);\r
}\r
\r
+ /* reset Audio ADC module 0 */\r
+ status = cmb_AudioAdcReset(CMB_ADC_DEVICE_0);\r
+ cmb_delay(10000);\r
+ /* reset Audio ADC module 1 */\r
+ status = cmb_AudioAdcReset(CMB_ADC_DEVICE_1);\r
+ cmb_delay(10000);\r
+\r
/* Initialize Audio ADC module */\r
- status = audioAdcConfig(AUDK2G_ADC_DEVICE_0, &adcCfg);\r
- if(status != Audk2g_EOK)\r
+ status = audioAdcConfig(CMB_ADC_DEVICE_0, &adcCfg);\r
+ if(status != Cmb_EOK)\r
{\r
- audk2g_write("Audio ADC0 Configuration Failed!\n");\r
+ cmb_write("Audio ADC0 Configuration Failed!\n");\r
testRet(1);\r
}\r
\r
- status = audioAdcConfig(AUDK2G_ADC_DEVICE_1, &adcCfg);\r
- if(status != Audk2g_EOK)\r
+ status = audioAdcConfig(CMB_ADC_DEVICE_1, &adcCfg);\r
+ if(status != Cmb_EOK)\r
{\r
- audk2g_write("Audio ADC1 Configuration Failed!\n");\r
+ cmb_write("Audio ADC1 Configuration Failed!\n");\r
testRet(1);\r
}\r
\r
/* Initialize McASP module */\r
status = mcaspAudioConfig();\r
- if(status != Audk2g_EOK)\r
+ if(status != Cmb_EOK)\r
{\r
- audk2g_write("McASP Configuration Failed!\n");\r
+ cmb_write("McASP Configuration Failed!\n");\r
testRet(1);\r
}\r
\r
*\r
* \return none\r
*/\r
-#if AUDK2G_AUDIO_DAC\r
+#if CMB_AUDIO_DAC\r
void configAudioDAC(void)\r
{\r
- Audk2g_STATUS status;\r
+ Cmb_STATUS status;\r
\r
/* Initialize Audio DAC0 module */\r
- status = audioDacConfig(AUDK2G_DAC_DEVICE_0, &dacCfg);\r
- if(status != Audk2g_EOK)\r
+ status = audioDacConfig(CMB_DAC_DEVICE_0, &dacCfg);\r
+ if(status != Cmb_EOK)\r
{\r
- audk2g_write("Audio DAC0 Configuration Failed!\n");\r
+ cmb_write("Audio DAC0 Configuration Failed!\n");\r
testRet(1);\r
}\r
}\r