Re: Please help in adding ams-delta support to ASoC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Peter,
Wednesday 10 June 2009 10:12:32 Peter Ujfalusi napisał(a):> On Tuesday 09 June 2009 18:17:42 ext Janusz Krzysztofik wrote:> > +static struct omap_mcbsp_reg_cfg mcbsp_regs = {> > +       .spcr2 = FREE | XINTM(3) | XRST,> > +       .spcr1 = RINTM(3) | RRST,> > +       .rcr1 = RFRLEN1(2 - 1) | RWDLEN1(OMAP_MCBSP_WORD_8),> > +       .xcr1 = XFRLEN1(1 - 1) | XWDLEN1(OMAP_MCBSP_WORD_16),> > +};> >> > BTW, I can't see any way of specifying a similiar mcbsp setup in new> > omap asoc framework.>> Yeah, 8 bit is not supported - in fact only 16 bit is supported - with ASoC> on OMAP.
Not only this. AFAICS, there is no way of specifying single phase stereo (with XPHASE/RPHASE unset), 2 words per frame (XFRLEN1/RFRLEN1(2 - 1)). Isn't this required for correct DSP_A/DSP_B support?
> But you should be able to use the playback with the current ASoC.
Definitelly yes. I am aware that the above limitations have nothing to do with the main problem, as with current mcbsp code I should always be able to get some kind of noise at least using one of supported formats, as far as clocking is set up correctly.
> --- a/arch/arm/plat-omap/dma.c> +++ b/arch/arm/plat-omap/dma.c> @@ -266,6 +266,8 @@ void omap_set_dma_transfer_params(int lch, int> data_type, int elem_count,>                 ccr &= ~(1 << 5);>                 if (sync_mode == OMAP_DMA_SYNC_FRAME)>                         ccr |= 1 << 5;> +               if (dma_trigger)> +                       ccr |= dma_trigger & 0x1f;>                 dma_write(ccr, CCR(lch));>>                 ccr = dma_read(CCR2(lch));
Applied, sorry, did not help (with capture, unlike playback, set up for internal clocking for as much device isolation as possible).
# aplay -D hw:0,0 -f S16_LE /dev/urandomPlaying raw data '/dev/urandom' : Signed 16 bit Little Endian, Rate 8000 Hz, Monoomap_pcm_trigger START: DMA pointer at 0x11d4a0d0omap_pcm_trigger STOP: DMA pointer at 0x11d4a0d0 error# arecord -D hw:0,0 -f S16_LE -t raw /dev/nullRecording raw data '/dev/null' : Signed 16 bit Little Endian, Rate 8000 Hz, Monoomap_pcm_trigger START: DMA pointer at 0xe101a0d0arecord: pcm_read:1529: read error: Input/output erroromap_pcm_trigger STOP: DMA pointer at 0xe101a0d0# cat /dev/urandom >/dev/dspomap_pcm_trigger START: DMA pointer at 0x11d4a0d0cat: write error: Input/output erroromap_pcm_trigger STOP: DMA pointer at 0x11d4a0d0# cat /dev/dsp >/dev/nullomap_pcm_trigger START: DMA pointer at 0xe101a0d0cat: read error: Input/output eromap_pcm_trigger STOP: DMA pointer at 0xe101a0d0ror#
BTW, I have found that, when invoked with those "-D hw:0,0 -f SE16_LE" options, aplay/arecord behave correctly, exactly as Mark has pointed out once at the beginning of this huge thread, stopping themselves after 10 seconds with an error message, without need for ^C.
> I would expected that by just copying (I know that there are other things> involved) the old ALSA arm directory to the latest kernel and compiling it> should be working... It seams I was wrong.
Anyway, if you find porting one or another framework, back or forward, helpfull in any way, just let me know, I can try.
Thanks,Janusz--To unsubscribe from this list: send the line "unsubscribe alsa-devel" inthe body of a message to majordomo@xxxxxxxxxxxxxxxxxxx majordomo info at  http://vger.kernel.org/majordomo-info.html
_______________________________________________Alsa-devel mailing listAlsa-devel@xxxxxxxxxxxxxxxxxxxx://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux