Part Number: AM5718
Hi,
I am using AM5718 ,Iam trying to configure MCASP (1 and 2) in I2S mode by polling status register(without EDMA).I followed your APIs as per SitaraWare_Audio .(https://processors.wiki.ti.com/index.php/SitaraWare_Audio) .
- McASPTxReset(SOC_MCASP_CFG_BASE);
-
McASPTxFmtI2SSet(SOC_MCASP_CFG_BASE, WORD_SIZE, SLOT_SIZE,
MCASP_TX_MODE_DMA); -
McASPTxFrameSyncCfg(SOC_MCASP_CFG_BASE, 2, MCASP_TX_FS_WIDTH_WORD,
MCASP_TX_FS_EXT_BEGIN_ON_FALL_EDGE |
MCASP_TX_FS_INTERNAL); -
McASPTxClkCfg(SOC_MCASP_CFG_BASE, MCASP_TX_CLK_INTERNAL,((MCASP_ACLKX_CLKXDIV_VALUE &
MCASP_ACLKXCTL_CLKXDIV_MASK) >>
MCASP_ACLKXCTL_CLKXDIV_SHIFT),
((MCASP_AHCLKX_HCLKXDIV_VALUE &
MCASP_AHCLKXCTL_HCLKXDIV_MASK) >>
MCASP_AHCLKXCTL_HCLKXDIV_SHIFT)); - McASPTxClkPolaritySet(SOC_MCASP_CFG_BASE, MCASP_TX_CLK_POL_FALL_EDGE);
- McASPTxTimeSlotSet(SOC_MCASP_CFG_BASE, I2S_SLOTS);
- McASPSerializerTxSet(SOC_MCASP_CFG_BASE, MCASP_XSER_TX_0);
- McASPSerializerTxSet(SOC_MCASP_CFG_BASE, MCASP_XSER_TX_1);
-
McASPPinMcASPSet(SOC_MCASP_CFG_BASE, (MCASP_PIN_AFSR |
MCASP_PIN_ACLKR | MCASP_PIN_AFSX |
MCASP_PIN_AHCLKX |
MCASP_PIN_ACLKX |
MCASP_PIN_AMUTE |
MCASP_PIN_AXR(MCASP_XSER_TX_0) |
MCASP_PIN_AXR(MCASP_XSER_TX_1))); - McASPPinDirOutputSet(SOC_MCASP_CFG_BASE, MCASP_PIN_AFSR);
- McASPPinDirOutputSet(SOC_MCASP_CFG_BASE, MCASP_PIN_ACLKR);
- McASPPinDirOutputSet(SOC_MCASP_CFG_BASE, MCASP_PIN_AFSX);
- McASPPinDirOutputSet(SOC_MCASP_CFG_BASE, MCASP_PIN_AHCLKX);
- McASPPinDirOutputSet(SOC_MCASP_CFG_BASE, MCASP_PIN_ACLKX);
- McASPPinDirOutputSet(SOC_MCASP_CFG_BASE, MCASP_PIN_AXR(MCASP_XSER_TX_0));
- McASPPinDirOutputSet(SOC_MCASP_CFG_BASE, MCASP_PIN_AXR(MCASP_XSER_TX_1));
- McASPTxClkStart(SOC_MCASP_CFG_BASE, MCASP_TX_CLK_INTERNAL);
-
McASPTxClkCheckConfig(SOC_MCASP_CFG_BASE, MCASP_TX_CLKCHCK_DIV32,
0x00, 0xFF); - McASPTxSerActivate(SOC_MCASP_CFG_BASE);
- McASPTxEnable(SOC_MCASP_CFG_BASE);
- while (McASPTxStatusGet(SOC_MCASP_CFG_BASE) & MCASP_TX_STAT_DATAREADY);
-
McASPTxBufWrite(SOC_MCASP_CFG_BASE, MCASP_XSER_TX_0,
0xAAAAA000);
I got both clock and frame sync.but code was hanged at the time of checking Tx Status ready and there was no output through serial data lines .