summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: fbecc0d)
raw | patch | inline | side by side (parent: fbecc0d)
author | Frank Livingston <frank-livingston@ti.com> | |
Thu, 10 May 2018 21:50:42 +0000 (16:50 -0500) | ||
committer | Frank Livingston <frank-livingston@ti.com> | |
Thu, 10 May 2018 21:50:42 +0000 (16:50 -0500) |
D10_init() split:
- Run-once code, called from main
- Interface specific code, called from asitSelectedDevices()
- Run-once code, called from main
- Interface specific code, called from asitSelectedDevices()
diff --git a/pasdk/test_dsp/application/itopo/evmk2g/sap_d10.c b/pasdk/test_dsp/application/itopo/evmk2g/sap_d10.c
index 7d96e6b6b88fe491d631c56de44f341f85d10ac2..d4f1564a42394ce24c2028823c1b3d7b7f8cebab 100644 (file)
clockMuxTx (sel, 0);
}
-XDAS_Int32 D10_init(void *pD10Params)
+XDAS_Int32 D10_init(void)
{
XDAS_Int32 result = 0;
- SAP_D10_Rx_Params *pD10RxParams;
// perform one time hardware initialization
if (!initDone) {
initDone = 1;
}
+ return result;
+}
+
+XDAS_Int32 D10_initClkMux(void *pD10Params)
+{
+ SAP_D10_Rx_Params *pD10RxParams;
+
pD10RxParams = (SAP_D10_Rx_Params *)pD10Params;
setD10ClkMux(pD10RxParams->d10rx.mode);
- return result;
+ return 0;
}
XDAS_Int32 D10_RxControl(const void *pD10RxParams,
index c9ab1c385eadcd9bbe12a2fb7fa97880a066aca6..01a35510dca9d63974f9ac7b7b90d8e94d53e377 100644 (file)
#include <ti/sysbios/BIOS.h>
#include <ti/ipc/Ipc.h>
#include <ti/sysbios/hal/Cache.h>
+#include <ti/xdais/xdas.h>
#include <board.h>
#include "evmc66x_i2c.h"
#include <aud_audio.h>
#include "audio_dc_cfg.h"
#include "edma_cfg.h"
+#include <soc/mcasp_soc.h>
#include "components/clk.h" /* PFP testing */
#include "pfp/pfp.h"
extern void ioSemaphoreCreate(void);
#endif
+// avoid including sap_d10.h, which would cause symbol redefinition
+// warning (MCASP_PFUNC_XXX)
+extern XDAS_Int32 D10_init(void);
+
/*
* ======== main ========
*/
/* Initialize McASP SOC level configuration */
McaspDevice_init();
+ Log_info0("D10 init");
+ /* Initialize audio hardware */
+ D10_init();
+
Log_info0("IPC start");
/* Initialize IPC */
status = Ipc_start();
diff --git a/pasdk/test_dsp/framework/audioStreamInpProcNewIO.c b/pasdk/test_dsp/framework/audioStreamInpProcNewIO.c
index c60d5b059fdb302fc0a6227743bb40c12960452d..bd9adc2868a6f8b9c22c32054d8371eda55b3c8d 100644 (file)
@@ -109,8 +109,8 @@ extern Void taskAsipFxnInit(const PAF_ASIT_Params *pP,const PAF_ASIT_Patchs *pQ)
// avoid including sap_d10.h, which would cause symbol redefinition
// warning (MCASP_PFUNC_XXX)
-extern XDAS_Int32 D10_init(void * pD10Params);
-
+//extern XDAS_Int32 D10_init(void * pD10Params);
+extern XDAS_Int32 D10_initClkMux(void *pD10Params);
extern XDAS_Int32 D10_RxControl(const void *pD10RxParams,
XDAS_Int32 code, XDAS_Int32 arg);
ioDataParam_t ioDataCfg;
ioPhyCtl_t ioPhyCtl;
- //pInpIo->phyXferSize = INPUT_FRAME_SIZE_DEF;
- pInpIo->phyXferSize = pInpIo->stride * NUM_CYCLE_PER_FRAME_DEF * WORD_SIZE_BITSTREAM;
-
- if(pInpIo->firstTimeInit) {
- TRACE_VERBOSE0("Initialize I/O BUFF and I/O PHY.");
- ioBuffParams.base = pInpBuf->inpBufConfig.base.pVoid;
- ioBuffParams.size = pInpBuf->inpBufConfig.allocation / STRIDE_WORST_CASE
- * STRIDE_WORST_CASE;
- ioBuffParams.sync = IOBUFF_WRITE_SYNC;
- ioBuffParams.nominalDelay = INPUT_FRAME_SIZE_DEF;
- if(ioBuffInit(pInpIo->hIoBuff, &ioBuffParams) != IOBUFF_NOERR) {
- return (ASIT_ERR_IOBUFF_INIT); // to remove magic number
- }
+ if (pInpIo->hMcaspChan != NULL)
+ {
+ //pInpIo->phyXferSize = INPUT_FRAME_SIZE_DEF;
+ pInpIo->phyXferSize = pInpIo->stride * NUM_CYCLE_PER_FRAME_DEF * WORD_SIZE_BITSTREAM;
+
+ if (pInpIo->firstTimeInit) {
+ TRACE_VERBOSE0("Initialize I/O BUFF and I/O PHY.");
+ ioBuffParams.base = pInpBuf->inpBufConfig.base.pVoid;
+ ioBuffParams.size = pInpBuf->inpBufConfig.allocation / STRIDE_WORST_CASE
+ * STRIDE_WORST_CASE;
+ ioBuffParams.sync = IOBUFF_WRITE_SYNC;
+ ioBuffParams.nominalDelay = INPUT_FRAME_SIZE_DEF;
+ if (ioBuffInit(pInpIo->hIoBuff, &ioBuffParams) != IOBUFF_NOERR) {
+ return (ASIT_ERR_IOBUFF_INIT); // to remove magic number
+ }
+
+ ioPhyParams.ioBuffHandle = pInpIo->hIoBuff;
+ ioPhyParams.xferFrameSize = pInpIo->phyXferSize;
+ ioPhyParams.mcaspChanHandle = pInpIo->hMcaspChan;
+ ioPhyParams.ioBuffOp = IOPHY_IOBUFFOP_WRITE;
+ if (ioPhyInit(pInpIo->hIoPhy, &ioPhyParams) != IOPHY_NOERR) {
+ return (ASIT_ERR_IOPYH_INIT); // to remove magic number
+ }
- ioPhyParams.ioBuffHandle = pInpIo->hIoBuff;
- ioPhyParams.xferFrameSize = pInpIo->phyXferSize;
- ioPhyParams.mcaspChanHandle = pInpIo->hMcaspChan;
- ioPhyParams.ioBuffOp = IOPHY_IOBUFFOP_WRITE;
- if(ioPhyInit(pInpIo->hIoPhy, &ioPhyParams) != IOPHY_NOERR) {
- return (ASIT_ERR_IOPYH_INIT); // to remove magic number
+ pInpIo->numPrimeXfers = NUM_PRIME_XFERS;
}
- pInpIo->numPrimeXfers = NUM_PRIME_XFERS;
- }
+ /* Reinitialize I/O DATA every time when ASIT restarts */
+ TRACE_VERBOSE0("Initialize I/O DATA.");
+ ioDataCfg.ioBuffHandle = pInpIo->hIoBuff;
+ ioDataCfg.unknownSourceTimeOut = pInpBuf->inpBufConfig.pBufStatus->unknownTimeout;
+ ioDataCfg.frameLengthsIEC = (uint_least16_t *)&iecFrameLength[0];
+ ioDataCfg.frameLengthPCM = pInpIo->stride * NUM_CYCLE_PER_FRAME_DEF;
+ ioDataCfg.frameLengthDef = pInpIo->stride * NUM_CYCLE_PER_FRAME_DEF;
+ ioDataCfg.ibMode = pInpBuf->inpBufConfig.pBufStatus->mode;
+ ioDataCfg.zeroRunRestart = pInpBuf->inpBufConfig.pBufStatus->zeroRunRestart;
+ ioDataCfg.zeroRunTrigger = pInpBuf->inpBufConfig.pBufStatus->zeroRunTrigger;
+
+ if (ioDataInit(pInpIo->hIoData, &ioDataCfg) != IODATA_NO_ERR) {
+ return (ASIT_ERR_IODATA_INIT); // to remove magic number
+ }
- /* Reinitialize I/O DATA every time when ASIT restarts */
- TRACE_VERBOSE0("Initialize I/O DATA.");
- ioDataCfg.ioBuffHandle = pInpIo->hIoBuff;
- ioDataCfg.unknownSourceTimeOut = pInpBuf->inpBufConfig.pBufStatus->unknownTimeout;
- ioDataCfg.frameLengthsIEC = (uint_least16_t *)&iecFrameLength[0];
- ioDataCfg.frameLengthPCM = pInpIo->stride * NUM_CYCLE_PER_FRAME_DEF;
- ioDataCfg.frameLengthDef = pInpIo->stride * NUM_CYCLE_PER_FRAME_DEF;
- ioDataCfg.ibMode = pInpBuf->inpBufConfig.pBufStatus->mode;
- ioDataCfg.zeroRunRestart = pInpBuf->inpBufConfig.pBufStatus->zeroRunRestart;
- ioDataCfg.zeroRunTrigger = pInpBuf->inpBufConfig.pBufStatus->zeroRunTrigger;
-
- if(ioDataInit(pInpIo->hIoData, &ioDataCfg) != IODATA_NO_ERR) {
- return (ASIT_ERR_IODATA_INIT); // to remove magic number
- }
+ if (pInpIo->firstTimeInit) {
+ /* Initialize I/O BUFF and I/O PHY only when input interface changes. */
+ TRACE_VERBOSE0("Prime I/O PHY.");
- if(pInpIo->firstTimeInit) {
- /* Initialize I/O BUFF and I/O PHY only when input interface changes. */
- TRACE_VERBOSE0("Prime I/O PHY.");
+ // Start I/O physical layer by priming McASP LLD for input
+ asitIoPhyPrime(pInpIo);
- // Start I/O physical layer by priming McASP LLD for input
- asitIoPhyPrime(pInpIo);
+ pInpIo->firstTimeInit = FALSE;
+ }
+ else {
+ // Reconfigure I/O PHY transfer size
+ ioPhyCtl.code = IOPHY_CTL_FRAME_SIZE;
+ ioPhyCtl.params.xferFrameSize = pInpIo->phyXferSize;
+ ioPhyControl(pInpIo->hIoPhy, &ioPhyCtl);
+ #if 0
+ // If previous stream before reset was PCM, reconfigure McASP LLD to receive 16-bit packed bits
+ if (!pInpIo->swapData) {
+ Int mcaspErr;
+ mcaspErr = mcaspRecfgWordWidth(pInpIo->hMcaspChan, Mcasp_WordLength_16);
+ if(mcaspErr != Aud_EOK) {
+ return ASIT_ERR_MCASP_CFG;
+ }
- pInpIo->firstTimeInit = FALSE;
- }
- else {
- // Reconfigure I/O PHY transfer size
- ioPhyCtl.code = IOPHY_CTL_FRAME_SIZE;
- ioPhyCtl.params.xferFrameSize = pInpIo->phyXferSize;
- ioPhyControl(pInpIo->hIoPhy, &ioPhyCtl);
-#if 0
- // If previous stream before reset was PCM, reconfigure McASP LLD to receive 16-bit packed bits
- if(!pInpIo->swapData) {
- Int mcaspErr;
- mcaspErr = mcaspRecfgWordWidth(pInpIo->hMcaspChan, Mcasp_WordLength_16);
- if(mcaspErr != Aud_EOK) {
- return ASIT_ERR_MCASP_CFG;
+ // Start swapping data
+ pInpIo->swapData = TRUE;
+ TRACE_VERBOSE0("Reconfigure McASP word length and start swapping data.");
}
-
- // Start swapping data
- pInpIo->swapData = TRUE;
- TRACE_VERBOSE0("Reconfigure McASP word length and start swapping data.");
+ #endif
+ // Start PHY transfer
+ TRACE_VERBOSE0("Start I/O PHY transfer.");
+ asitPhyTransferStart(pInpIo);
}
-#endif
- // Start PHY transfer
- TRACE_VERBOSE0("Start I/O PHY transfer.");
- asitPhyTransferStart(pInpIo);
}
return 0;
// Initialize McASP HW details
//McaspDevice_init();
- // Initialize Rx hardware
- D10_init((void *)pD10Params);
+ // Initialize Tx clock mux
+ //D10_init((void *)pD10Params);
+ D10_initClkMux((void *)pD10Params);
d10Initialized=1;
}