I am using PSP drivers 1.30.01 on a custom C6748 board. The device is configured as a slave on the McBSP bus that has been configured in TDM mode. In my configuration, I using the Mcbsp_DxENA_ON flag. However, if I pause execution and look at the actual register settings in a debug window, this value is set to 0 (off). Is this a bug in the PSP driver?
Mcbsp_DataConfig Mcbsp0TXChanConfig = { Mcbsp_Phase_SINGLE, Mcbsp_WordLength_32, Mcbsp_WordLength_32,
care */Dont/*
NUM_OF_CHANNELS,
NUM_OF_CHANNELS,
care */Dont/*
Mcbsp_FrmSync_DETECT,
Mcbsp_DataDelay_1_BIT,
Mcbsp_Compand_OFF_MSB_FIRST,
Mcbsp_BitReversal_DISABLE,
Mcbsp_IntMode_ON_SYNCERR,
_LZF, RxJUST_RxJust_Mcbsp
/* Dont care for TX */
Mcbsp_DxEna_ON
};
Mcbsp_DataConfig Mcbsp0RXChanConfig =
{
Mcbsp_Phase_SINGLE,
Mcbsp_WordLength_32,
Mcbsp_WordLength_32,
care */Dont/*
NUM_OF_CHANNELS,
NUM_OF_CHANNELS,
care */Dont/*
Mcbsp_FrmSync_DETECT,
Mcbsp_DataDelay_1_BIT,
Mcbsp_Compand_OFF_MSB_FIRST,
Mcbsp_BitReversal_DISABLE,
Mcbsp_IntMode_ON_SYNCERR,
_LZF, RxJUST_RxJust_Mcbsp
/* Dont care for TX */
Mcbsp_DxEna_ON
};
Mcbsp_ClkSetup Mcbsp0TXClkConfig = { Mcbsp_FsClkMode_EXTERNAL, 96000,
/* 96KHz ????? */
Mcbsp_TxRxClkMode_EXTERNAL,
Mcbsp_FsPol_ACTIVE_HIGH,
Mcbsp_ClkPol_RISING_EDGE
};
Mcbsp_ClkSetup Mcbsp0RXClkConfig =
{
Mcbsp_FsClkMode_EXTERNAL,
96000,
/* 96KHz ????? */
Mcbsp_TxRxClkMode_EXTERNAL,
Mcbsp_FsPol_ACTIVE_HIGH,
Mcbsp_ClkPol_RISING_EDGE
};
Mcbsp_McrSetup Mcbsp0TXMultiChanCtrl = { Mcbsp_McmMode_ALL_CHAN_DISABLED_UNMASKED, Mcbsp_PartitionMode_CHAN_0_15, Mcbsp_PartitionMode_CHAN_0_15, Mcbsp_PartitionMode_8 }; Mcbsp_McrSetup Mcbsp0RXMultiChanCtrl = { Mcbsp_McmMode_ALL_CHAN_DISABLED_UNMASKED, Mcbsp_PartitionMode_CHAN_0_15, Mcbsp_PartitionMode_CHAN_0_15, Mcbsp_PartitionMode_8 };
Mcbsp_ChanParams Mcbsp0TXChanparam = { _32, WordLength_Mcbsp /* wordlength configured */ /* loop job buffer internal */ 0, length */loopjob/* user /* global error callback */ Handle */edma/* 1, /* EDMA event queue */ 8, number */hwi/* Mcbsp_BufferFormat_MULTISLOT_INTERLEAVED, FALSE, /* FIFO mode enabled */ &Mcbsp0TXChanConfig, /* channel configuration */ &Mcbsp0TXClkConfig, /* clock configuration */ &Mcbsp0TXMultiChanCtrl, /* multi channel control */ 0x00007FFF, //Channel enable mask for X/RCERE0 0x00000000, //Channel enable mask for X/RCERE1 40-47 0x00000000, //Channel enable mask for X/RCERE2 0x00000000 //Channel enable mask for X/RCERE3 }; Mcbsp_ChanParams Mcbsp0RXChanparam = { _32, WordLength_Mcbsp /* wordlength configured */ /* loop job buffer internal */ 0, length */loopjob/* user /* global error callback */ Handle */edma/* 1, /* EDMA event queue */ 8, number */hwi/* Mcbsp_BufferFormat_MULTISLOT_INTERLEAVED, FALSE, /* FIFO mode enabled */ &Mcbsp0RXChanConfig, /* channel configuration */ &Mcbsp0RXClkConfig, /* clock configuration */ &Mcbsp0RXMultiChanCtrl, /* multi channel control */ 0x00007FFF, //Channel enable mask for X/RCERE0 0x00000000, //Channel enable mask for X/RCERE1 40-47 0x00000000, //Channel enable mask for X/RCERE2 0x00000000 //Channel enable mask for X/RCERE3 };