Re: recording problem in beagleboard-mcbsp

noman pouigt
2015-04-14T22:32:36Z

On Tue, Apr 14, 2015 at 5:39 AM, Peter Ujfalusi <peter.ujfalusi@ti.com> wrote:
> On 04/14/2015 12:39 PM, Peter Ujfalusi wrote:
>> OK, got another SD card.
>> McBSP3 in master mode works (no codec connected) playback and capture as well.
>>
>> The pins for McBSP3:
>> OMAP3_CORE1_IOPAD(0x2172, PIN_OUTPUT | MUX_MODE0) /* mcbsp3_fsx.mcbsp3_fsx */
>> OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE1) /* uart2_tx.mcbsp3_clkx */
>> OMAP3_CORE1_IOPAD(0x2174, PIN_OUTPUT | MUX_MODE1) /* uart2_cts.mcbsp3_dx */
>> OMAP3_CORE1_IOPAD(0x2176, PIN_INPUT | MUX_MODE1) /* uart2_rts.mcbsp3_dr */
>>
>> I still not sure why McBSP1 is not working..
>
> This pinctrl setting is not correct for McBSP3. I was changing the registers
> on the fly, that's why it was working when I replied.

Ok great. FINALLY it is working after lots of try and incase it might anyone
who is trying to use below combination is working:

Linux kernel :
VERSION = 3
PATCHLEVEL = 19
SUBLEVEL = 0
EXTRAVERSION =
NAME = Diseased Newt

MCBSB3 in slave mode, max98090 in master mode and mux setting
as below:
> OMAP3_CORE1_IOPAD(0x2172, PIN_INPUT | MUX_MODE0) /* mcbsp3_fsx.mcbsp3_fsx */
> OMAP3_CORE1_IOPAD(0x2178, PIN_INPUT | MUX_MODE1) /* uart2_tx.mcbsp3_clkx */
> OMAP3_CORE1_IOPAD(0x2174, PIN_OUTPUT | MUX_MODE1) /* uart2_cts.mcbsp3_dx */
> OMAP3_CORE1_IOPAD(0x2176, PIN_INPUT | MUX_MODE1) /* uart2_rts.mcbsp3_dr */
both recording and playback is working.

MCBSP3 is working also in the case where it is master mode and
codec is in slave mode.

I referenced AM/DM37X Multimedia Device Silicon Revision 1.x version
R(public version)
for the mux settings. In this i see MCBSP3_DX as 216c. I think this is not the
right revision.
>
> Which would work in McBSP3 slave mode as well.
> Playback, capture works (McBSP3 master). I have connected DX to DR and
> captured whatever I was playing. Came back fine.
>
> As for McBSP1 I think this should get it working:
> OMAP3_CORE1_IOPAD(0x2196, PIN_INPUT | MUX_MODE0) /* mcbsp1_fsx.mcbsp1_fsx */
> OMAP3_CORE1_IOPAD(0x218e, PIN_INPUT | MUX_MODE0) /* mcbsp1_fsr.mcbsp1_fsr */
> OMAP3_CORE1_IOPAD(0x2198, PIN_INPUT | MUX_MODE0) /* mcbsp1_clkx.mcbsp1_clkx */
> OMAP3_CORE1_IOPAD(0x218c, PIN_INPUT | MUX_MODE0) /* mcbsp1_clkr.mcbsp1_clkr */
> OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE0) /* mcbsp1_dx.mcbsp1_dx */
> OMAP3_CORE1_IOPAD(0x2192, PIN_INPUT | MUX_MODE0) /* mcbsp1_dr.mcbsp1_dr */
>
> If McBSP1 is slave, then connect the FS to both FSX and FSR and do the same
> for CLK.

I didn't test this however as i just wanted any mcbsp connection to work but
i think this should work as well.
>
> --
> Péter
Thanks a ton for helping out!!!