This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MCBSP4 on slave mode with PCM data

Hi

We use four pins (CLKX, DR, DX and FSX) to connect McBSP4 and codec, the codec is a master and set to signed 16bit, 8Khz.

Now, an IO error always is on the way when we  capture the PCM data even we see PCM data, FS and clock are correct.

PCM data is PCM mode1 and FS is 8Khz and clock is 2MHz.

Here is the McBSP4 registers dumped

omap-mcbsp omap-mcbsp.4: **** McBSP4 regs ****
omap-mcbsp omap-mcbsp.4: DRR2:  0xe2b0e7c8
omap-mcbsp omap-mcbsp.4: DRR1:  0x0000
omap-mcbsp omap-mcbsp.4: DXR2:  0x0000
omap-mcbsp omap-mcbsp.4: DXR1:  0x0000
omap-mcbsp omap-mcbsp.4: SPCR2: 0x02f0
omap-mcbsp omap-mcbsp.4: SPCR1: 0x4031
omap-mcbsp omap-mcbsp.4: RCR2:  0x0041
omap-mcbsp omap-mcbsp.4: RCR1:  0x0040
omap-mcbsp omap-mcbsp.4: XCR2:  0x0041
omap-mcbsp omap-mcbsp.4: XCR1:  0x0040
omap-mcbsp omap-mcbsp.4: SRGR2: 0x2000
omap-mcbsp omap-mcbsp.4: SRGR1: 0x0000
omap-mcbsp omap-mcbsp.4: PCR0:  0x0080

It looks DRR2 is never changed, even we reset the board. But this one is supposed to reset as 0 based on TI manual.

Thanks

Mark

  • Problem solved!

    By default, the McBSP is not enabled, it is not like McBSP2(Enabled by default)

    The following code must add to your board:

    OMAP3_MUX(MCBSP4_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),

    OMAP3_MUX(MCBSP4_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),

    OMAP3_MUX(MCBSP4_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),

    OMAP3_MUX(MCBSP4_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT),