[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/driver/audio/src32_inc/ecall_fec.h b/mcu/driver/audio/src32_inc/ecall_fec.h
new file mode 100644
index 0000000..d251217
--- /dev/null
+++ b/mcu/driver/audio/src32_inc/ecall_fec.h
@@ -0,0 +1,50 @@
+/*============================================================================*/
+/* eCall ANSI C fixed-point reference source code */
+/* */
+/* File: ecall_fec.h */
+/* Version: 8.6.0 (Rel8) / 9.4.0 (Rel9) */
+/* Date: 2011-02-08 */
+/* Description: Turbo encoder and decoder (header file) */
+/*----------------------------------------------------------------------------*/
+
+#ifndef ECALL_FEC_H_
+#define ECALL_FEC_H_
+
+#include "ecall_defines.h"
+#include "ecall_rom.h"
+
+
+/*============================================================================*/
+/* Encoder functions */
+/*----------------------------------------------------------------------------*/
+
+void FecEncode(Ord1*);
+
+void AttachCrc(const Ord1*, Ord1*);
+void Scramble(const Ord1*, Ord1*);
+void EncodeTwo(Ord1*);
+void EncodeOne(Ord1*, Int16);
+
+/*============================================================================*/
+/* Decoder functions */
+/*----------------------------------------------------------------------------*/
+
+Bool FecDecode(const IntLLR*, Int16, Ord1*);
+
+void UpdateBuffer(IntLLR*, const IntLLR*, Int16);
+void DecodeBuffer(const IntLLR*, const IntLLR*,
+ const IntLLR*, const IntLLR*, Ord1*);
+
+Bool DecodeCrc(const Ord1*);
+void Interleave(const IntLLR*, IntLLR*);
+void Deinterleave(IntLLR*);
+void Descramble(Ord1*);
+void Bcjr(const IntLLR*, IntLLR*);
+
+IntLLR GammaQ(Int16, Int16, const IntLLR*, const IntLLR*);
+IntLLR JacLog(Int32, Int32);
+
+void FecInit(void *addr);
+void FecDeinit(void);
+
+#endif