realtime_demo_bios: fix the PCM1864 DOUT2 does not working issue
[processor-sdk/audio-preprocessing.git] / realtime_demo_bios / k2g / src / mcasp_cfg.c
index 318f2eb93629ce292bfcf8eac438396eb1d279e2..196692e3d014cf13a343740a51999e5ffbce49b9 100644 (file)
@@ -43,7 +43,7 @@
 #include "sysbfflt.h"                 /* System support for BF filters */\r
 \r
 #include "mcasp_cfg.h"\r
-#include "../include/cmbk2g.h"\r
+#include "cmb.h"\r
 \r
 \r
 /* The infamous xdc/std.h must come before any header file which uses XDC symbols */\r
@@ -121,7 +121,15 @@ Ptr rxBuf[NUM_BUFS];
 Ptr wkBuf[NUM_BUFS];\r
 Ptr outBuf[NUM_BUFS];\r
 \r
-int chanToMicMapping[8] = {0, 1, 4, 5, 2, 3, 6, 7};\r
+/* channel 0 (serilizer 1 left) - mic1 */\r
+/* channel 1 (serilizer 1 right) - mic2 */\r
+/* channel 2 (serilizer 2 left) - mic5 */\r
+/* channel 3 (serilizer 2 right) - mic6 */\r
+/* channel 4 (serilizer 3 left) - mic3 */\r
+/* channel 5 (serilizer 3 right) - mic4 */\r
+/* channel 6 (serilizer 4 left) - mic8 */\r
+/* channel 7 (serilizer 4 right) - mic7 */\r
+int chanToMicMapping[8] = {0, 1, 4, 5, 3, 2, 7, 6};\r
 \r
 /* Error flag */\r
 uint32_t gblErrFlag = 0;\r
@@ -160,7 +168,7 @@ Mcasp_HwSetupData mcaspRcvSetup = {
 };\r
 \r
 /* McASP HW setup for transmit */\r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
 Mcasp_HwSetupData mcaspXmtSetup = {\r
         /* .xmask    = */ 0xFFFFFFFF, /* 16 bits are to be used     */\r
         /* .xfmt     = */ 0x000180F0, /*\r
@@ -217,7 +225,7 @@ Mcasp_ChanParams  mcaspRxChanParam =
        TRUE\r
 };\r
 \r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
 /* McAsp channel parameters for transmit             */\r
 Mcasp_ChanParams  mcaspTxChanParam =\r
 {\r
@@ -357,9 +365,9 @@ void mcaspAppCallback(void *arg, MCASP_Packet *ioBuf)
 /**\r
  *  \brief   Initializes McASP data buffers and submits to McASP driver\r
  *\r
- *  \return    Cmbk2g_EOK on Success or error code\r
+ *  \return    Cmb_EOK on Success or error code\r
  */\r
-Cmbk2g_STATUS initBuffers(void)\r
+Cmb_STATUS initBuffers(void)\r
 {\r
        Error_Block  eb;\r
     uint32_t     count = 0;\r
@@ -376,7 +384,7 @@ Cmbk2g_STATUS initBuffers(void)
                                                             BUFALIGN, &eb);\r
         if(NULL == rxBuf[count])\r
         {\r
-            IFPRINT(cmbk2g_write("\r\nMEM_calloc failed for Rx\n"));\r
+            IFPRINT(cmb_write("\r\nMEM_calloc failed for Rx\n"));\r
         }\r
     }\r
 \r
@@ -387,11 +395,11 @@ Cmbk2g_STATUS initBuffers(void)
                                                             BUFALIGN, &eb);\r
         if(NULL == wkBuf[count])\r
         {\r
-            IFPRINT(cmbk2g_write("\r\nMEM_calloc failed for Wk\n"));\r
+            IFPRINT(cmb_write("\r\nMEM_calloc failed for Wk\n"));\r
         }\r
     }\r
 \r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
     /* Allocate buffers for the McASP data exchanges */\r
     for(count = 0; count < NUM_BUFS; count++)\r
     {\r
@@ -399,7 +407,7 @@ Cmbk2g_STATUS initBuffers(void)
                                                                 BUFALIGN, &eb);\r
         if(NULL == txBuf[count])\r
         {\r
-            IFPRINT(cmbk2g_write("\r\nMEM_calloc failed for Tx\n"));\r
+            IFPRINT(cmb_write("\r\nMEM_calloc failed for Tx\n"));\r
         }\r
     }\r
 \r
@@ -410,7 +418,7 @@ Cmbk2g_STATUS initBuffers(void)
                                                                 BUFALIGN, &eb);\r
         if(NULL == outBuf[count])\r
         {\r
-            IFPRINT(cmbk2g_write("\r\nMEM_calloc failed for Out\n"));\r
+            IFPRINT(cmb_write("\r\nMEM_calloc failed for Out\n"));\r
         }\r
     }\r
 #endif\r
@@ -432,12 +440,12 @@ Cmbk2g_STATUS initBuffers(void)
                status = mcaspSubmitChan(hMcaspRxChan, &rxFrame[count]);\r
                if((status != MCASP_COMPLETED) && (status != MCASP_PENDING))\r
                {\r
-                       IFPRINT(cmbk2g_write("mcaspSubmitChan for Rx Failed\n"));\r
-                       return (Cmbk2g_EFAIL);\r
+                       IFPRINT(cmb_write("mcaspSubmitChan for Rx Failed\n"));\r
+                       return (Cmb_EFAIL);\r
                }\r
     }\r
 \r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
     for(count = 0; count < NUM_BUFS; count++)\r
     {\r
        memset((uint8_t *)txBuf[count], 0xCC, (BUFSIZE * TX_NUM_SERIALIZER));\r
@@ -455,25 +463,25 @@ Cmbk2g_STATUS initBuffers(void)
                status = mcaspSubmitChan(hMcaspTxChan, &txFrame[count]);\r
                if((status != MCASP_COMPLETED) && (status != MCASP_PENDING))\r
                {\r
-                       IFPRINT(cmbk2g_write("mcaspSubmitChan for Tx Failed\n"));\r
-                       return (Cmbk2g_EFAIL);\r
+                       IFPRINT(cmb_write("mcaspSubmitChan for Tx Failed\n"));\r
+                       return (Cmb_EFAIL);\r
                }\r
     }\r
 #endif\r
-    return (Cmbk2g_EOK);\r
+    return (Cmb_EOK);\r
 }\r
 \r
 /**\r
  *  \brief   Configures McASP module and creates the channel\r
  *           for audio Tx and Rx\r
  *\r
- *  \return    Cmbk2g_EOK on Success or error code\r
+ *  \return    Cmb_EOK on Success or error code\r
  */\r
-Cmbk2g_STATUS mcaspAudioConfig(void)\r
+Cmb_STATUS mcaspAudioConfig(void)\r
 {\r
        Int status;\r
 \r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
        hMcaspDevTx  = NULL;\r
        hMcaspTxChan = NULL;\r
 #endif\r
@@ -481,50 +489,50 @@ Cmbk2g_STATUS mcaspAudioConfig(void)
        hMcaspRxChan = NULL;\r
 \r
        /* Initialize McASP Tx and Rx parameters */\r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
        mcaspTxParams = Mcasp_PARAMS;\r
 #endif\r
        mcaspRxParams = Mcasp_PARAMS;\r
 \r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
        mcaspTxParams.mcaspHwSetup.tx.clk.clkSetupClk = 0x63;\r
        mcaspTxParams.mcaspHwSetup.rx.clk.clkSetupClk = 0x23;\r
 #endif\r
        mcaspRxParams.mcaspHwSetup.rx.clk.clkSetupClk = 0x23;\r
        mcaspRxParams.mcaspHwSetup.tx.clk.clkSetupClk = 0x63;\r
 \r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
        mcaspTxParams.mcaspHwSetup.glb.pdir |= 0x2000000; //Set Amute pin as output for Tx channel\r
 #endif\r
 \r
        /* Set the HW interrupt number */\r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
        mcaspTxParams.hwiNumber = 8;\r
 #endif\r
        mcaspRxParams.hwiNumber = 8;\r
 \r
        /* Initialize eDMA handle */\r
        mcaspRxChanParam.edmaHandle  = hEdma1;\r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
        mcaspTxChanParam.edmaHandle = hEdma1;\r
 \r
        /* Bind McASP2 for Tx */\r
        status = mcaspBindDev(&hMcaspDevTx, CSL_MCASP_2, &mcaspTxParams);\r
        if((status != MCASP_COMPLETED) || (hMcaspDevTx == NULL))\r
        {\r
-               IFPRINT(cmbk2g_write("mcaspBindDev for Tx Failed\n"));\r
-               return (Cmbk2g_EFAIL);\r
+               IFPRINT(cmb_write("mcaspBindDev for Tx Failed\n"));\r
+               return (Cmb_EFAIL);\r
        }\r
 #endif\r
        /* Bind McASP1 for Rx */\r
        status = mcaspBindDev(&hMcaspDevRx, CSL_MCASP_1, &mcaspRxParams);\r
        if((status != MCASP_COMPLETED) || (hMcaspDevRx == NULL))\r
        {\r
-               IFPRINT(cmbk2g_write("mcaspBindDev for Rx Failed\n"));\r
-               return (Cmbk2g_EFAIL);\r
+               IFPRINT(cmb_write("mcaspBindDev for Rx Failed\n"));\r
+               return (Cmb_EFAIL);\r
        }\r
 \r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
        /* Create McASP channel for Tx */\r
        status = mcaspCreateChan(&hMcaspTxChan, hMcaspDevTx,\r
                                 MCASP_OUTPUT,\r
@@ -532,8 +540,8 @@ Cmbk2g_STATUS mcaspAudioConfig(void)
                                 mcaspAppCallback, &txChanMode);\r
        if((status != MCASP_COMPLETED) || (hMcaspTxChan == NULL))\r
        {\r
-               IFPRINT(cmbk2g_write("mcaspCreateChan for Tx Failed\n"));\r
-               return (Cmbk2g_EFAIL);\r
+               IFPRINT(cmb_write("mcaspCreateChan for Tx Failed\n"));\r
+               return (Cmb_EFAIL);\r
        }\r
 \r
        configAudioDAC();\r
@@ -546,18 +554,18 @@ Cmbk2g_STATUS mcaspAudioConfig(void)
                                 mcaspAppCallback, &rxChanMode);\r
        if((status != MCASP_COMPLETED) || (hMcaspRxChan == NULL))\r
        {\r
-               IFPRINT(cmbk2g_write("mcaspCreateChan for Rx Failed\n"));\r
-               return (Cmbk2g_EFAIL);\r
+               IFPRINT(cmb_write("mcaspCreateChan for Rx Failed\n"));\r
+               return (Cmb_EFAIL);\r
        }\r
 \r
        /* Initialize the buffers and submit for McASP Tx/Rx */\r
-       if(initBuffers() != Cmbk2g_EOK)\r
+       if(initBuffers() != Cmb_EOK)\r
        {\r
-               IFPRINT(cmbk2g_write("McASP Buffer Initialization Failed\n"));\r
-               return (Cmbk2g_EFAIL);\r
+               IFPRINT(cmb_write("McASP Buffer Initialization Failed\n"));\r
+               return (Cmb_EFAIL);\r
        }\r
 \r
-       return (Cmbk2g_EOK);\r
+       return (Cmb_EOK);\r
 }\r
 \r
 /**\r
@@ -567,7 +575,7 @@ Cmbk2g_STATUS mcaspAudioConfig(void)
  */\r
 void testRet(uint32_t status)\r
 {\r
-       cmbk2g_write("\n\nAudio DC Analog Interface Test Completed!\n");\r
+       cmb_write("\n\nAudio DC Analog Interface Test Completed!\n");\r
 \r
        testExit(status);\r
 }\r
@@ -578,7 +586,7 @@ void testRet(uint32_t status)
  *  Waits for the McASP data transfer completion and copies the\r
  *  Rx data to Tx buffers\r
  *\r
- *  \return    Cmbk2g_EOK on Success or error code\r
+ *  \return    Cmb_EOK on Success or error code\r
  */\r
 #define DUMP_SEC                       5\r
 #define FRAME_PER_SEC          100\r
@@ -618,16 +626,16 @@ Void Audio_echo_Task(void)
 \r
        /* Reclaim full buffer from the input stream */\r
        Semaphore_pend(semR, BIOS_WAIT_FOREVER);\r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
        Semaphore_pend(semT, BIOS_WAIT_FOREVER);\r
 #endif\r
         /* Reclaim full buffer from the input stream */\r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
        gtxFrameIndexCount = txFrameIndex;\r
 #endif\r
        grxFrameIndexCount = rxFrameIndex;\r
 \r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
 \r
 #if 0  // Mcasp_BufferFormat_MULTISER_MULTISLOT_SEMI_INTERLEAVED_1\r
        // copy RX mic 1 to TX left channel and RX mic 5 to right channel\r
@@ -810,8 +818,8 @@ Void Audio_echo_Task(void)
 #else\r
        tempOutPtr = outBuf[gtxFrameIndexCount];\r
 #endif\r
-               // set the tempMicPtr to mic_in[4]\r
-       tempMicPtr = (unsigned char *)mics_in[4];\r
+               // set the tempMicPtr to mic_in[7] (mic8)\r
+       tempMicPtr = (unsigned char *)mics_in[7];\r
        // set the TX pointer to left cahhnel\r
                tempTxPtr = txBuf[gtxFrameIndexCount];\r
                // copy upsampled and Q15 to Q31 converted MSS output to TX left channel\r
@@ -860,7 +868,7 @@ Void Audio_echo_Task(void)
        }\r
 #endif   // Signal Processing Path\r
 #endif   // Mcasp_BufferFormat\r
-#endif   // CMBK2G_AUDIO_DAC\r
+#endif   // CMB_AUDIO_DAC\r
 \r
         // Audio debug dump\r
         if (gAudDumpBufIdx<FRAME_PER_SEC*DUMP_SEC)\r
@@ -883,7 +891,7 @@ Void Audio_echo_Task(void)
                        gAudDumpBufIdx++;\r
         }\r
 \r
-#if (CMBK2G_AUDIO_DAC)\r
+#if (CMB_AUDIO_DAC)\r
         /* Issue full buffer to the output stream                             */\r
         /* TX frame processing */\r
                txFrame[gtxFrameIndexCount].cmd    = MCASP_WRITE;\r