PASDK-575: Update McASP LLD configurations for analog in and analog out.
authorJianzhong Xu <a0869574@ti.com>
Wed, 21 Mar 2018 18:56:04 +0000 (14:56 -0400)
committerJianzhong Xu <a0869574@ti.com>
Wed, 21 Mar 2018 18:56:04 +0000 (14:56 -0400)
pasdk/test_dsp/application/itopo/evmk2g/mcasp_cfg.c
pasdk/test_dsp/application/itopo/evmk2g/mcasp_cfg.h
pasdk/test_dsp/application/itopo/evmk2g/sap_d10.c

index c6dba5f10de5b49ff26a3df49eb7988d269aa5f2..08c7b67aad2e6f91123889ab47c9fbead4c5c8f7 100644 (file)
@@ -71,39 +71,11 @@ extern void asipMcaspCallback(void* arg, MCASP_Packet *mcasp_packet);
 extern void asopMcaspCallback(void* arg, MCASP_Packet *mcasp_packet);
 #endif
 
-/* McASP HW setup that is common for receive and transmit. It is the same for
- * all of 3 McASP ports. */
-Mcasp_HwSetupGbl mcaspGblSetup = {
-            (Uint32)0x0,        /* pfunc   */
-            (Uint32)0x2000001,  /* pdir    */
-            (Uint32)0x0,        /* ctl     */
-            (Uint32)0x0,        /* ditCtl  */
-            (Uint32)0x0,        /* dlbMode */
-            (Uint32)0x2,        /* amute   */
-            {
-                (Uint32)0x0,  /* [0] */
-                (Uint32)0x0,  /* [1] */
-                (Uint32)0x0,  /* [2] */
-                (Uint32)0x0,  /* [3] */
-                (Uint32)0x0,  /* [4] */
-                (Uint32)0x0,  /* [5] */
-                (Uint32)0x0,  /* [6] */
-                (Uint32)0x0,  /* [7] */
-                (Uint32)0x0,  /* [8] */
-                (Uint32)0x0,  /* [9] */
-                (Uint32)0x0,  /* [10] */
-                (Uint32)0x0,  /* [11] */
-                (Uint32)0x0,  /* [12] */
-                (Uint32)0x0,  /* [13] */
-                (Uint32)0x0,  /* [14] */
-                (Uint32)0x0,  /* [15] */
-            }   /* serSetup */
-};
 
 /* McASP HW setup for receive (ADC) */
 Mcasp_HwSetupData mcaspRcvSetupADC = {
         /* .rmask    = */ 0xFFFFFFFF, /* 16 bits are to be used     */
-        /* .rfmt     = */ 0x000180F2, /*
+        /* .rfmt     = */ 0x0001C0F0, /*
                                        * 0 bit delay from framesync
                                        * MSB first
                                        * No extra bit padding
@@ -122,8 +94,11 @@ Mcasp_HwSetupData mcaspRcvSetupADC = {
         /* .rstat    = */ 0x000001FF, /* reset any existing status bits       */
         /* .revtctl  = */ 0x00000000, /* DMA request is enabled               */
         {
-             /* .aclkrctl  = */ 0x000000A7,
-             /* .ahclkrctl = */ 0x0000C000,
+             /* .aclkrctl  = */ 0x000000A7, // Receiver samples data on the rising edge of the serial clock
+                                            // Internal receive clock source from output of programmable bit clock divider
+                                            // Receive bit clock divide ratio = 8
+             /* .ahclkrctl = */ 0x00008000, // Internal receive high-frequency clock source from output of programmable high clock divider.
+                                            // Falling edge. AHCLKR is inverted before programmable bit clock divider.
              /* .rclkchk   = */ 0x00000000
         }
 };
@@ -138,7 +113,9 @@ Mcasp_HwSetupData mcaspRcvSetupDIR = {
        MCASP_DIR_RSTAT,   /* .rstat:   0x000001FF    */
        MCASP_DIR_REVTCTL, /* .revtctl  */
         {
-                       MCASP_DIR_ACLKRCTL,  /* .aclkrctl:  0x00000080  */
+                       MCASP_DIR_ACLKRCTL,  /* .aclkrctl:  0x00000080  */  // Receiver samples data on the rising edge of the serial clock
+                                                                           // External receive clock source from ACLKR pin.
+                                                                           // Receive bit clock divide ratio = 1
                        MCASP_DIR_AHCLKRCTL, /* .ahclkrctl: 0x00000000  */
                        MCASP_DIR_RCLKCHK    /* .rclkchk:   0x00000000  */
         }
@@ -166,8 +143,8 @@ Mcasp_HwSetupData mcaspXmtSetupDAC = {
         /* .xstat    = */ 0x000001FF, /* reset any existing status bits       */
         /* .xevtctl  = */ 0x00000000, /* DMA request is enabled or disabled   */
         {
-             /* .aclkxctl  = */ 0X000000E1,
-             /* .ahclkxctl = */ 0x00004000     ,
+             /* .aclkxctl  = */ 0X000000E1,  // Transmit bit clock divide ratio = 2
+             /* .ahclkxctl = */ 0x00004000,
              /* .xclkchk   = */ 0x00000000
         },
 };
@@ -175,7 +152,7 @@ Mcasp_HwSetupData mcaspXmtSetupDAC = {
 /* McASP HW setup for transmit (DAC slave) */
 Mcasp_HwSetupData mcaspXmtSetupDACSlave = {
         /* .xmask    = */ 0xFFFFFFFF, /* 16 bits are to be used     */
-        /* .xfmt     = */ 0x000180F6, /*
+        /* .xfmt     = */ 0x000180F0, /*
                                        * 0 bit delay from framesync
                                        * MSB first
                                        * No extra bit padding
@@ -184,7 +161,7 @@ Mcasp_HwSetupData mcaspXmtSetupDACSlave = {
                                        * Reads from DMA port
                                        * NO rotation
                                        */
-        /* .afsxctl  = */ 0x00000112, /* I2S mode - 2 slot TDM
+        /* .afsxctl  = */ 0x00000113, /* I2S mode - 2 slot TDM
                                        * Frame sync is one word
                                        * Rising edge is start of frame
                                        * Internally generated frame sync
@@ -535,13 +512,13 @@ Audk2g_STATUS mcaspAudioConfig(void)
        mcaspRxParams.mcaspHwSetup.tx.clk.clkSetupClk = 0x63; // Asynchronous. Separate clock and frame sync used by transmit and receive sections.
 
 #ifndef INPUT_SPDIF
-       mcaspRxParams.mcaspHwSetup.glb.pdir |= 0x2000000;   //Special case, since for HDMI input - mcasp0 is both Rx & Tx
-       mcaspRxParams.mcaspHwSetup.glb.amute  = 0x2;            // this to ensure one doesn't overwrite the other (rx/tx)
-       mcaspTxParams.mcaspHwSetup.glb.pdir |= 0x2000000;   //Set Amute pin as output for Tx channel
-       mcaspTxParams.mcaspHwSetup.glb.amute  = 0x2;
+       mcaspRxParams.mcaspHwSetup.glb.pdir  |= 0x2000000;   //Special case, since for HDMI input - mcasp0 is both Rx & Tx
+       mcaspRxParams.mcaspHwSetup.glb.amute = 0x2;                  // this to ensure one doesn't overwrite the other (rx/tx)
+       mcaspTxParams.mcaspHwSetup.glb.pdir  |= 0x2000000;   //Set Amute pin as output for Tx channel
+       mcaspTxParams.mcaspHwSetup.glb.amute = 0x2;
 #else
-       mcaspTxParams.mcaspHwSetup.glb.pdir |= 0x2000000;   //Set Amute pin as output for Tx channel
-       mcaspTxParams.mcaspHwSetup.glb.amute  = 0x2;
+       mcaspTxParams.mcaspHwSetup.glb.pdir  |= 0x2000000;   //Set Amute pin as output for Tx channel
+       mcaspTxParams.mcaspHwSetup.glb.amute = 0x2;
 #endif
 
        /* Set the HW interrupt number */
@@ -750,11 +727,12 @@ int mcaspCheckOverUnderRun(Ptr mcaspChanHandle)
 /** McASP LLD configuration parameters for all input and output interfaces */
 mcaspLLDconfig LLDconfigRxDIR =     // for SAP_D10_RX_DIR
 {
-    &mcaspGblSetup,
     &mcaspRcvSetupDIR, 
     &mcaspRxChanParamDIR,
     0x23,
-    0x23,
+    0x63,                           // Asynchronous. Separate clock and frame sync used by transmit and receive sections.
+    0x0,
+    0x2,
     CSL_MCASP_2,
     MCASP_INPUT,
     asipMcaspCallback,
@@ -764,11 +742,12 @@ mcaspLLDconfig LLDconfigRxDIR =     // for SAP_D10_RX_DIR
 
 mcaspLLDconfig LLDconfigRxADC =     // for SAP_D10_RX_ADC_44100HZ, SAP_D10_RX_ADC_88200HZ
 {
-    &mcaspGblSetup,
     &mcaspRcvSetupADC, 
     &mcaspRxChanParamADC,
     0x23,
-    0x23,
+    0x63,
+    0x0,
+    0x2,
     CSL_MCASP_1,
     MCASP_INPUT,
     asipMcaspCallback,
@@ -778,11 +757,12 @@ mcaspLLDconfig LLDconfigRxADC =     // for SAP_D10_RX_ADC_44100HZ, SAP_D10_RX_AD
 
 mcaspLLDconfig LLDconfigRxADC6ch =     // for SAP_D10_RX_ADC_6CH_44100HZ, SAP_D10_RX_ADC_6CH_88200HZ
 {
-    &mcaspGblSetup,
     &mcaspRcvSetupADC, 
     &mcaspRxChanParamADC6ch,
     0x23,
-    0x23,
+    0x63,
+    0x0,
+    0x2,
     CSL_MCASP_1,
     MCASP_INPUT,
     asipMcaspCallback,
@@ -792,11 +772,12 @@ mcaspLLDconfig LLDconfigRxADC6ch =     // for SAP_D10_RX_ADC_6CH_44100HZ, SAP_D1
 
 mcaspLLDconfig LLDconfigRxADCStereo =     // for SAP_D10_RX_ADC_STEREO_44100HZ, SAP_D10_RX_ADC_STEREO_88200HZ
 {
-    &mcaspGblSetup,
     &mcaspRcvSetupADC, 
     &mcaspRxChanParamADCStereo,
     0x23,
-    0x23,
+    0x63,
+    0x0,
+    0x2,
     CSL_MCASP_1,
     MCASP_INPUT,
     asipMcaspCallback,
@@ -806,11 +787,12 @@ mcaspLLDconfig LLDconfigRxADCStereo =     // for SAP_D10_RX_ADC_STEREO_44100HZ,
 
 mcaspLLDconfig LLDconfigRxHDMIStereo =   // for SAP_D10_RX_HDMI_STEREO
 {
-    &mcaspGblSetup,
     &mcaspRcvSetupDIR, 
     &mcaspRxChanParamHDMIStereo,
     0x23,
     0x63,
+    0x02000000,                     // Set Amute pin as output since mcasp0 is both Rx & Tx for DIR/HDMI
+    0x2,
     CSL_MCASP_0,
     MCASP_INPUT,
     asipMcaspCallback,
@@ -820,11 +802,12 @@ mcaspLLDconfig LLDconfigRxHDMIStereo =   // for SAP_D10_RX_HDMI_STEREO
 
 mcaspLLDconfig LLDconfigRxHDMI =    // for SAP_D10_RX_HDMI
 {
-    &mcaspGblSetup,
     &mcaspRcvSetupDIR, 
     &mcaspRxChanParamHDMI,
     0x23,
     0x63,
+    0x02000000,                    // Set Amute pin as output since mcasp0 is both Rx & Tx for DIR/HDMI
+    0x2,
     CSL_MCASP_0,
     MCASP_INPUT,
     asipMcaspCallback,
@@ -835,7 +818,6 @@ mcaspLLDconfig LLDconfigRxHDMI =    // for SAP_D10_RX_HDMI
 /*
 mcaspLLDconfig LLDconfigTxDIT =    // for SAP_D10_TX_DIT
 {
-    &mcaspGblSetup,
     &mcaspXmtSetupDIT, 
     &mcaspTx0ChanParamDIT,
     NULL,
@@ -846,11 +828,12 @@ mcaspLLDconfig LLDconfigTxDIT =    // for SAP_D10_TX_DIT
 
 mcaspLLDconfig LLDconfigTxDAC =    // for SAP_D10_TX_DAC
 {
-    &mcaspGblSetup,
-    &mcaspXmtSetupDAC, 
+    &mcaspXmtSetupDAC,
     &mcaspTx0ChanParamDAC,
     0x23,
     0x63,
+    0x02000000,                       // Set Amute pin as output for Tx channel
+    0x2,
     CSL_MCASP_0,
     MCASP_OUTPUT,
     asopMcaspCallback,
@@ -860,11 +843,12 @@ mcaspLLDconfig LLDconfigTxDAC =    // for SAP_D10_TX_DAC
 
 mcaspLLDconfig LLDconfigTxDACSlave =    // for SAP_D10_TX_DAC_SLAVE
 {
-    &mcaspGblSetup,
     &mcaspXmtSetupDACSlave, 
     &mcaspTx0ChanParamDAC,
     0x23,
     0x63,
+    0x02000000,
+    0x2,
     CSL_MCASP_0,
     MCASP_OUTPUT,
     asopMcaspCallback,
@@ -874,11 +858,12 @@ mcaspLLDconfig LLDconfigTxDACSlave =    // for SAP_D10_TX_DAC_SLAVE
 
 mcaspLLDconfig LLDconfigTxDACStereo =    // for SAP_D10_TX_STEREO_DAC
 {
-    &mcaspGblSetup,
     &mcaspXmtSetupDAC, 
     &mcaspTx0ChanParamDACStereo,
     0x23,
     0x63,
+    0x02000000,
+    0x2,
     CSL_MCASP_0,
     MCASP_OUTPUT,
     asopMcaspCallback,
@@ -888,11 +873,12 @@ mcaspLLDconfig LLDconfigTxDACStereo =    // for SAP_D10_TX_STEREO_DAC
 
 mcaspLLDconfig LLDconfigTxDACStereoSlave =    // for SAP_D10_TX_STEREO_DAC_SLAVE
 {
-    &mcaspGblSetup,
     &mcaspXmtSetupDACSlave, 
     &mcaspTx0ChanParamDACStereo,
     0x23,
     0x63,
+    0x02000000,
+    0x2,
     CSL_MCASP_0,
     MCASP_OUTPUT,
     asopMcaspCallback,
@@ -902,11 +888,12 @@ mcaspLLDconfig LLDconfigTxDACStereoSlave =    // for SAP_D10_TX_STEREO_DAC_SLAVE
 
 mcaspLLDconfig LLDconfigTxDAC12ch =    // for SAP_D10_TX_DAC_12CH
 {
-    &mcaspGblSetup,
     &mcaspXmtSetupDAC, 
     &mcaspTx0ChanParamDAC12ch,
     0x23,
     0x63,
+    0x02000000,
+    0x2,
     CSL_MCASP_0,
     MCASP_OUTPUT,
     asopMcaspCallback,
@@ -916,11 +903,12 @@ mcaspLLDconfig LLDconfigTxDAC12ch =    // for SAP_D10_TX_DAC_12CH
 
 mcaspLLDconfig LLDconfigTxDAC16ch =    // for SAP_D10_TX_DAC_16CH
 {
-    &mcaspGblSetup,
     &mcaspXmtSetupDAC, 
     &mcaspTx0ChanParamDAC16ch,
     0x23,
     0x63,
+    0x02000000,
+    0x2,
     CSL_MCASP_0,
     MCASP_OUTPUT,
     asopMcaspCallback,
@@ -939,20 +927,16 @@ Audk2g_STATUS mcasplldChanCreate(mcaspLLDconfig *lldCfg, Ptr *pChanHandle)
     int32_t status;
 
     if(mcaspDevHandles[lldCfg->mcaspPort] == NULL) {
-        /* Initialize McASP Tx and Rx parameters */
-        mcaspParams = Mcasp_PARAMS;
+        /* Initialize McASP parameters */
+        mcaspParams = Mcasp_PARAMS;    // Mcasp_PARAMS defined in McASP LLD
 
-        //mcaspParams.mcaspHwSetup.tx.clk.clkSetupClk = 0x23;  // not used
-        //mcaspParams.mcaspHwSetup.rx.clk.clkSetupClk = 0x23;  // not used
         mcaspParams.mcaspHwSetup.rx.clk.clkSetupClk = lldCfg->clkSetupClkRx;
         mcaspParams.mcaspHwSetup.tx.clk.clkSetupClk = lldCfg->clkSetupClkTx;
-
-        mcaspParams.mcaspHwSetup.glb.pdir  = lldCfg->mcaspSetupGbl->pdir;
-        mcaspParams.mcaspHwSetup.glb.amute = lldCfg->mcaspSetupGbl->amute;
+        mcaspParams.mcaspHwSetup.glb.pdir  |= lldCfg->pdirAmute;
+        mcaspParams.mcaspHwSetup.glb.amute  = lldCfg->amute;
 
         status = mcaspBindDev(&mcaspDevHandles[lldCfg->mcaspPort], lldCfg->mcaspPort, &mcaspParams);
         if((status != MCASP_COMPLETED) || (mcaspDevHandles[lldCfg->mcaspPort] == NULL)) {
-            //IFPRINT(platform_write("mcaspBindDev for Tx Failed\n"));
             return (Audk2g_EFAIL);
         }
     }
@@ -967,7 +951,7 @@ Audk2g_STATUS mcasplldChanCreate(mcaspLLDconfig *lldCfg, Ptr *pChanHandle)
         lldCfg->mcaspChanParams->edmaHandle = hEdma1;
     }
 
-    /* Create McASP channel for Tx */
+    /* Create McASP channel */
     *pChanHandle = NULL;
     status = mcaspCreateChan(pChanHandle, lldCfg->hMcaspDev,
                              lldCfg->chanMode, lldCfg->mcaspChanParams,
index 127bc2f0bfd0195483bffc45e2f01ebd55fb4007..fb9d8f684477b73434489edbab6672c529040e83 100644 (file)
 
 /** Data structure McASP LLD configuration parameters */
 typedef struct {
-     Mcasp_HwSetupGbl  * mcaspSetupGbl;      // McASP global setup.
      Mcasp_HwSetupData * mcaspSetupData;    // McASP setup for Tx or Rx
      Mcasp_ChanParams  * mcaspChanParams;   // LLD channel params
-     uint32_t clkSetupClkRx;
-     uint32_t clkSetupClkTx;
-     Int mcaspPort;
-     Mcasp_chanMode_e chanMode;
-     MCASP_TiomCallback cbFxn;
+     uint32_t clkSetupClkRx;                // set ACLKRCTL during mcaspBindDev
+     uint32_t clkSetupClkTx;                // set ACLKXCTL during mcaspBindDev
+     uint32_t pdirAmute;                    // set the AMUTE bit in Pin Direction Register (PDIR)
+     uint32_t amute;                        // set the Audio Mute Control Register (AMUTE)
+     Int mcaspPort;                         // McASP port number
+     Mcasp_chanMode_e chanMode;             // MCASP_INPUT or MCASP_OUTPUT
+     MCASP_TiomCallback cbFxn;              // call back function for transfer completion
      Ptr hMcaspDev;                         // McASP device handle
      Ptr hMcaspChan;                        // McASP channel handle
 } mcaspLLDconfig;
index 706ebc467a1fb6ad183947b3133c9e8acb5cd882..a23cbee9dbb4b0514d90f45227358e0f95ec3c2d 100644 (file)
@@ -252,7 +252,7 @@ static inline void dacSoftUnMute (void) {
 // -----------------------------------------------------------------------------
 // McASP Input Configuration Definitions
 
-static const MCASP_ConfigRcv rxConfigDIR =    // This is used for both DIR and HDMI?? Yes. Same digital format.
+const MCASP_ConfigRcv rxConfigDIR =    // This is used for both DIR and HDMI?? Yes. Same digital format.
 {
     // The receive format unit bit mask register (RMASK) determines which bits 
     // of the received data are masked off and padded with a known value before 
@@ -291,7 +291,7 @@ static const MCASP_ConfigRcv rxConfigDIR =    // This is used for both DIR and H
     MCASP_RCLKCHK_DEFAULT  // 0x00000000
 };
 
-static const MCASP_ConfigRcv rxConfigADC =
+const MCASP_ConfigRcv rxConfigADC =
 {
     MCASP_RMASK_OF(0xFFFFFFFF),
     MCASP_RFMT_RMK(
@@ -323,7 +323,7 @@ static const MCASP_ConfigRcv rxConfigADC =
 // -----------------------------------------------------------------------------
 // McASP Output Configuration Definitions
 
-static const MCASP_ConfigXmt txConfigDAC =
+const MCASP_ConfigXmt txConfigDAC =
 {
     MCASP_XMASK_OF(0xFFFFFFFF),
     MCASP_XFMT_RMK(
@@ -353,7 +353,7 @@ static const MCASP_ConfigXmt txConfigDAC =
     MCASP_XCLKCHK_DEFAULT
 };
 
-static const MCASP_ConfigXmt txConfigDACSlave =
+const MCASP_ConfigXmt txConfigDACSlave =
 {
     MCASP_XMASK_OF(0xFFFFFFFF),
     MCASP_XFMT_RMK(
@@ -453,7 +453,8 @@ const SAP_D10_Rx_Params SAP_D10_RX_DIR =
     sizeof (SAP_D10_Rx_Params),                 // size
     "SAP",                                      // name
     MCASP_DEV2,                                 // moduleNum --> mcasp #
-    (Void *)&rxConfigDIR,                       // pConfig
+    //(Void *)&rxConfigDIR,                       // pConfig
+    (Void *)&LLDconfigRxDIR,
     4,                                         // wordSize (unused)
     24,                                         // precision (unused)
     D10_sapControl,                             // control
@@ -467,7 +468,8 @@ const SAP_D10_Rx_Params SAP_D10_RX_ADC_44100HZ =
     sizeof (SAP_D10_Rx_Params),                 // size
     "SAP",                                      // name
     MCASP_DEV1,                                 // moduleNum --> mcasp #
-    (Void *)&rxConfigADC,                       // pConfig
+    //(Void *)&rxConfigADC,                       // pConfig
+    (Void *)&LLDconfigRxADC,
     4,                                         // wordSize (unused)
     24,                                         // precision (unused)
     D10_sapControl,                             // control
@@ -482,7 +484,8 @@ const SAP_D10_Rx_Params SAP_D10_RX_ADC_6CH_44100HZ =
     sizeof (SAP_D10_Rx_Params),                 // size
     "SAP",                                      // name
     MCASP_DEV1,                                 // moduleNum --> mcasp #
-    (Void *)&rxConfigADC,                       // pConfig
+    //(Void *)&rxConfigADC,                       // pConfig
+    (Void *)&LLDconfigRxADC6ch,
     -1,                                         // wordSize (unused)
     -1,                                         // precision (unused)
     D10_sapControl,                             // control
@@ -497,7 +500,8 @@ const SAP_D10_Rx_Params SAP_D10_RX_ADC_STEREO_44100HZ =
     sizeof (SAP_D10_Rx_Params),                 // size
     "SAP",                                      // name
     MCASP_DEV1,                                 // moduleNum --> mcasp #
-    (Void *)&rxConfigADC,                       // pConfig
+    //(Void *)&rxConfigADC,                       // pConfig
+    (Void *)&LLDconfigRxADCStereo,
     -1,                                         // wordSize (unused)
     -1,                                         // precision (unused)
     D10_sapControl,                             // control
@@ -602,7 +606,7 @@ const SAP_D10_Tx_Params SAP_D10_TX_DAC =
        (D10_MCLK_HDMI << D10_MCLK_SHIFT),          // mode
     0,0,0                                       // unused[3]
 };
-
+/* - SAP_D10_TX_STEREO_DAC is not used
 const SAP_D10_Tx_Params SAP_D10_TX_STEREO_DAC =
 {
     sizeof (SAP_D10_Tx_Params),                 // size
@@ -616,7 +620,7 @@ const SAP_D10_Tx_Params SAP_D10_TX_STEREO_DAC =
     0,                                          // mode
     0,0,0                                       // unused[3]
 };
-
+*/
 const SAP_D10_Tx_Params SAP_D10_TX_DIT =
 {
     sizeof (SAP_D10_Tx_Params),                 // size
@@ -636,7 +640,8 @@ const SAP_D10_Tx_Params SAP_D10_TX_DAC_SLAVE =
     sizeof (SAP_D10_Tx_Params),                 // size
     "SAP",                                      // name
     MCASP_DEV0,                                 // moduleNum --> mcasp #
-    (Void *)&txConfigDACSlave,                       // pConfig
+    //(Void *)&txConfigDACSlave,                       // pConfig
+    (Void *)&LLDconfigTxDACSlave,
     4,                                          // wordSize (in bytes)
     24,                                         // precision (in bits)
     D10_sapControl,                             // control
@@ -650,7 +655,8 @@ const SAP_D10_Tx_Params SAP_D10_TX_STEREO_DAC_SLAVE =
     sizeof (SAP_D10_Tx_Params),                 // size
     "SAP",                                      // name
     MCASP_DEV0,                                 // moduleNum --> mcasp #
-    (Void *)&txConfigDAC,                       // pConfig
+    //(Void *)&txConfigDAC,                       // pConfig
+    (Void *)&LLDconfigTxDACStereoSlave,
     4,                                          // wordSize (in bytes)
     24,                                         // precision (in bits)
     D10_sapControl,                             // control
@@ -664,7 +670,8 @@ const SAP_D10_Tx_Params SAP_D10_TX_DAC_12CH =
     sizeof (SAP_D10_Tx_Params),                 // size
     "SAP",                                      // name
     MCASP_DEV0,                                 // moduleNum --> mcasp #
-    (Void *)&txConfigDAC,                       // pConfig
+    //(Void *)&txConfigDAC,                       // pConfig
+    (Void *)&LLDconfigTxDAC12ch,
     4,                                          // wordSize (in bytes)
     24,                                         // precision (in bits)
     D10_sapControl,                             // control
@@ -678,7 +685,8 @@ const SAP_D10_Tx_Params SAP_D10_TX_DAC_16CH =
     sizeof (SAP_D10_Tx_Params),                 // size
     "SAP",                                      // name
     MCASP_DEV0,                                 // moduleNum --> mcasp #
-    (Void *)&txConfigDAC,                       // pConfig
+    //(Void *)&txConfigDAC,                       // pConfig
+    (Void *)&LLDconfigTxDAC16ch,
     4,                                          // wordSize (in bytes)
     24,                                         // precision (in bits)
     D10_sapControl,                             // control