Skip to contentSkip to conversation

OMAP5912 and McBSP2 with DMA

DISCUSSION Steve Poulsen 3 participants 5 messages Jul 17, 2007 – Jul 23, 2007

lore
Share & tools
lore
#0 lore raw

Could someone tell me what the port should be for DMA with McBSP2? Since it is an ARM peripheral (as opposed to McBSP1 and McBSP3), then I expect it to be as follows. However, I get a timeout error.

omap_set_dma_dest_params(cs4384_data.dma_tx_ch,

           OMAP_DMA_PORT_TIPB,
           OMAP_DMA_AMODE_CONSTANT,
           OMAP1610_MCBSP2_BASE + OMAP_MCBSP_REG_DXR2,
           0, 0);

If I change the code to use MCBSP1 (and MPUI as the port), all is well.

Thanks,

Steve

#1 lore raw

Hi,

Quoted 9 lines · Steve Poulsen

Could someone tell me what the port should be for DMA with McBSP2? Since it is an ARM peripheral (as opposed to McBSP1 and McBSP3), then I expect it to be as follows. However, I get a timeout error.

    omap_set_dma_dest_params(cs4384_data.dma_tx_ch,
            OMAP_DMA_PORT_TIPB,
            OMAP_DMA_AMODE_CONSTANT,
            OMAP1610_MCBSP2_BASE + OMAP_MCBSP_REG_DXR2,
            0, 0);

I believe McBSP2 is on the TIPB-MPUI port, which has the value of 5 (as opposed to 3 for TIPB) but I don't remember the macro name.

Cheers

#2 lore raw

Many thanks. The TIPB seemed to work fine, but only after I changed the DMA element size to 16-bit and wrote to DXR1. I could not get 32-bit transfers to work at all.

I may double check your recommendation to see if I can get 32-bit working that way.

Steve

Quoted 18 lines · andrzej zaborowski

Hi,

Quoted 9 lines · Steve Poulsen

Could someone tell me what the port should be for DMA with McBSP2? Since it is an ARM peripheral (as opposed to McBSP1 and McBSP3), then I expect it to be as follows. However, I get a timeout error.

    omap_set_dma_dest_params(cs4384_data.dma_tx_ch,
            OMAP_DMA_PORT_TIPB,
            OMAP_DMA_AMODE_CONSTANT,
            OMAP1610_MCBSP2_BASE + OMAP_MCBSP_REG_DXR2,
            0, 0);

I believe McBSP2 is on the TIPB-MPUI port, which has the value of 5 (as opposed to 3 for TIPB) but I don't remember the macro name.

Cheers

#3 lore raw
In reply to andrzej zaborowski
Quoted 14 lines · andrzej zaborowski

Hi,

Quoted 9 lines · Steve Poulsen

Could someone tell me what the port should be for DMA with McBSP2? Since it is an ARM peripheral (as opposed to McBSP1 and McBSP3), then I expect it to be as follows. However, I get a timeout error.

    omap_set_dma_dest_params(cs4384_data.dma_tx_ch,
            OMAP_DMA_PORT_TIPB,
            OMAP_DMA_AMODE_CONSTANT,
            OMAP1610_MCBSP2_BASE + OMAP_MCBSP_REG_DXR2,
            0, 0);
Quoted 9 lines

I believe McBSP2 is on the TIPB-MPUI port, which has the value of 5 (as opposed to 3 for TIPB) but I don't remember the macro name.

Cheers
_______________________________________________
Linux-omap-open-source mailing list
[email protected]
http://linux.omap.com/mailman/listinfo/linux-omap-open-source

I disagree.
===
" but the MPUI port is a dedicated port used for MPU or system DMA initiated transfers
to DSP subsystem resources."
===
sprs231b.pdf page 165. So for MCBSP2 port type is TIPB bus I think. (I use it by myself in OMAP5910 and it is work fine).

#4 lore raw
Quoted 25 lines · Oleg Kechin
Quoted 14 lines · andrzej zaborowski

Hi,

Quoted 9 lines · Steve Poulsen

Could someone tell me what the port should be for DMA with McBSP2? Since it is an ARM peripheral (as opposed to McBSP1 and McBSP3), then I expect it to be as follows. However, I get a timeout error.

    omap_set_dma_dest_params(cs4384_data.dma_tx_ch,
            OMAP_DMA_PORT_TIPB,
            OMAP_DMA_AMODE_CONSTANT,
            OMAP1610_MCBSP2_BASE + OMAP_MCBSP_REG_DXR2,
            0, 0);
Quoted 9 lines

I believe McBSP2 is on the TIPB-MPUI port, which has the value of 5 (as opposed to 3 for TIPB) but I don't remember the macro name.

Cheers
_______________________________________________
Linux-omap-open-source mailing list
[email protected]
http://linux.omap.com/mailman/listinfo/linux-omap-open-source

Quoted 8 lines

I disagree.
===
" but the MPUI port is a dedicated port used for MPU or system DMA initiated transfers
to DSP subsystem resources."
===
sprs231b.pdf page 165. So for MCBSP2 port type is TIPB bus I think. (I use it by myself in OMAP5910 and it is work fine).

Sorry, I confused the ports. It's McBSP1 and McBSP3 that use the other bus (just checked in sound/arm/omap/omap-alsa-dma.c now):

       omap_set_dma_dest_params(channel, 0x05, 0x00,
                                (OMAP1510_MCBSP1_BASE + 0x06),
                                0, 0);

whie for McBSP2 the value is indeed 0x3.

Regards