# HG changeset patch # User Mychaela Falconia # Date 1627583560 0 # Node ID 5caa86ee2cfa9dfa116ec89b14c9c6ffc238c7d1 # Parent edd8482a65768c078b06d2999057eae254a72566 enable L1_NEW_AEC in l1_confg.h (bold change) The AEC function implemented in DSP ROM 3606 on the Calypso silicon we work with is the one that corresponds to L1_NEW_AEC; the same holds for DSP 34 and even for DSP 33 with more recent patch versions. However, TI shipped their TCS211 reference fw with L1_NEW_AEC set to 0, thus driving AEC the old way if anyone tried to enable it, either via AT%Nxxxx or via the audio mode facility. As a result, the fw would try to control features which no longer exist in the DSP (long vs short echo and the old echo suppression level bits), while providing no way to tune the 8 new parameter words added to the DSP's NDB page. The only sensible solution is to bite the bullet and enable L1_NEW_AEC in L1 config, with fallout propagating into RiViera Audio Service T_AUDIO_AEC_CFG structure and into /aud/*.cfg binary file format. The latter fallout will be addressed in further code changes. diff -r edd8482a6576 -r 5caa86ee2cfa src/cs/layer1/include/l1_confg.h --- a/src/cs/layer1/include/l1_confg.h Sun Jun 13 18:43:36 2021 +0000 +++ b/src/cs/layer1/include/l1_confg.h Thu Jul 29 18:32:40 2021 +0000 @@ -449,12 +449,9 @@ #define C_PLL_CONFIG 0x154 // For VTCXO = 13 MHz and max DSP speed = 84.5 Mips #define VOC FR_HR_EFR // FR + HR + EFR (normaly FR_EFR : PBs). #define AEC 1 // AEC/NS not supported. - #if (OP_RIV_AUDIO == 0) - #define L1_NEW_AEC 1 - #else - // Available but not yet tuned with Riviera AUDIO - #define L1_NEW_AEC 0 - #endif + /* FreeCalypso change: enable L1_NEW_AEC to match DSP reality */ + /* with DSP ROM 33 our patch version 2140 must be used */ + #define L1_NEW_AEC 1 #if ((L1_NEW_AEC) && (!AEC)) // First undef the flag to avoid warnings at compilation time #undef AEC @@ -557,12 +554,8 @@ #define C_PLL_CONFIG 0x154 // For VTCXO = 13 MHz and max DSP speed = 84.5 Mips #define VOC FR_HR_EFR // FR + HR + EFR (normaly FR_EFR : PBs). #define AEC 1 // AEC/NS not supported. - #if (OP_RIV_AUDIO == 0) - #define L1_NEW_AEC 1 - #else - // Available but not yet tuned with Riviera AUDIO - #define L1_NEW_AEC 0 - #endif + /* FreeCalypso change: enable L1_NEW_AEC to match DSP reality */ + #define L1_NEW_AEC 1 #if ((L1_NEW_AEC) && (!AEC)) // First undef the flag to avoid warnings at compilation time #undef AEC @@ -662,12 +655,8 @@ #define C_PLL_CONFIG 0x154 // For VTCXO = 13 MHz and max DSP speed = 84.5 Mips #define VOC FR_HR_EFR // FR + HR + EFR (normaly FR_EFR : PBs). #define AEC 1 // AEC/NS not supported. - #if (OP_RIV_AUDIO == 0) - #define L1_NEW_AEC 1 - #else - // Available but not yet tuned with Riviera AUDIO - #define L1_NEW_AEC 0 - #endif + /* FreeCalypso change: enable L1_NEW_AEC to match DSP reality */ + #define L1_NEW_AEC 1 #if ((L1_NEW_AEC) && (!AEC)) // First undef the flag to avoid warnings at compilation time #undef AEC @@ -769,12 +758,8 @@ #define C_PLL_CONFIG 0x154 // For VTCXO = 13 MHz and max DSP speed = 84.5 Mips #define VOC FR_HR_EFR // FR + HR + EFR (normaly FR_EFR : PBs). #define AEC 1 // AEC/NS not supported. - #if (OP_RIV_AUDIO == 0) - #define L1_NEW_AEC 1 - #else - // Available but not yet tuned with Riviera AUDIO - #define L1_NEW_AEC 0 - #endif + /* FreeCalypso change: enable L1_NEW_AEC to match DSP reality */ + #define L1_NEW_AEC 1 #if ((L1_NEW_AEC) && (!AEC)) // First undef the flag to avoid warnings at compilation time #undef AEC