Dear Punith

my codec is working as playback device.
i am trying to work with as capture device. 

i connect tlv320aic via i2s and i am contorlling tlv's registers as manually 
using i2c. it is working while play mode. 

my console logs is below. 

and i sniffed i2s data in of A20 , the sound signal is exist.

do you have any idea why not work capture?

root@marsboard:/var/app/sound# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sunxicodec [sunxi-CODEC], device 0: M1 PCM [sunxi PCM]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: sunxisndi2s [sunxi-sndi2s], device 0: SUNXI-I2S sndi2s-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

root@marsboard:/var/app/sound# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: sunxicodec [sunxi-CODEC], device 0: M1 PCM [sunxi PCM]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: sunxisndi2s [sunxi-sndi2s], device 0: SUNXI-I2S sndi2s-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
root@marsboard:/var/app/sound#

root@marsboard:/var/app/sound# arecord -vvvv /dev/null -D hw:1,0 -f S16_LE
Recording WAVE '/dev/null' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono
Hardware PCM card 1 'sunxi-sndi2s' device 0 subdevice 0
Its setup is:
  stream       : CAPTURE
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 1
  rate         : 8000
  exact rate   : 8000 (8000/1)
  msbits       : 16
  buffer_size  : 8192
  period_size  : 2048
  period_time  : 256000
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 2048
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 8192
  silence_threshold: 0
  silence_size : 0
  boundary     : 1073741824
  appl_ptr     : 0
  hw_ptr       : 0
arecord: pcm_read:1801: read error: Input/output error







On Saturday, April 4, 2015 at 11:25:36 AM UTC+2, Puneet B wrote:
> You need to check codec driver and please aware of that whatever you are 
> doing in machine driver should be supported
> from codec driver.
> 
> 
> Check the difference of codec drivers.
> 
> Regards
> Punith
> 
> 
> 
> On Sat, Apr 4, 2015 at 1:59 PM, OMER AYGOR EYZA TEKNOLOJİ 
> <[email protected]> wrote:
> 
> 
> hi
> 
> i tried your machine code and log is like this:
> 
> root@marsboard:~# mplayer -ao alsa:device=hw=2.0 a.mp3
> MPlayer2 UNKNOWN (C) 2000-2012 MPlayer Team
> mplayer: could not connect to socket
> mplayer: No such file or directory
> Failed to open LIRC support. You will not be able to use your remote control.
> 
> Playing a.mp3.
> Detected file format: MPEG audio layer 2/3 (libavformat)
> [mp3 @ 0xb5b3c558]max_analyze_duration reached
> [mp3 @ 0xb5b3c558]Estimating duration from bitrate, this may be inaccurate
> [lavf] stream 0: audio (mp3), -aid 0
> Clip info:
>  title: Overprotected
>  artist: Britney Spears
>  genre: Other
> Load subtitles in .
> ==========================================================================
> Requested audio codec family [mpg123] (afm=mpg123) not available.
> Enable it at compilation.
> Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
> AUDIO: 44100 Hz, 2 ch, floatle, 128.0 kbit/4.54% (ratio: 16000->352800)
> Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
> ==========================================================================
> [AO_ALSA] Format floatle is not psupported by hardware, trying default.
> uneet rx51_hw_params
> [   47.143600] puneet rx51_hw_params
> puneet@TLV320AIC3100 aic31xx_set_dai_fmt
> [   47.151019] puneet@TLV320AIC3100 aic31xx_set_dai_fmt
> puneet@TLV320AIC3100 aic31xx_change_page
> [   47.159817] puneet@TLV320AIC3100 aic31xx_change_page
> ##+ aic31xx_set_dai_fmt (4101)
> [   47.169024] ##+ aic31xx_set_dai_fmt (4101)
> ##- aic31xx_set_dai_fmt (0)
> [   47.175716] ##- aic31xx_set_dai_fmt (0)
> puneet@TLV320AIC3100 aic31xx_set_dai_sysclk
> [   47.184386] puneet@TLV320AIC3100 aic31xx_set_dai_sysclk
> ##aic31xx_set_dai_sysclk clk_id(0) (5644800)
> [   47.193734] ##aic31xx_set_dai_sysclk clk_id(0) (5644800)
> <1>Invalid frequency to set DAI system clock
> [   47.203381] Invalid frequency to set DAI system clock
> puneet@TLV320AIC3100 aic31xx_hw_params
> [   47.212032] puneet@TLV320AIC3100 aic31xx_hw_params
> ##+ SET aic31xx_hw_params
> [   47.219552] ##+ SET aic31xx_hw_params
> puneet@TLV320AIC3100 aic31xx_get_divs
> [   47.226732] puneet@TLV320AIC3100 aic31xx_get_divs
> ###+ aic31xx_get_divs mclk(5644800) rate(44100)
> [   47.236080] ###+ aic31xx_get_divs mclk(5644800) rate(44100)
> <1>Master clock and sample rate is not supported
> [   47.246026] Master clock and sample rate is not supported
> <1>sampling rate not supported
> [   47.254511] sampling rate not supported
> <3>tlv320aic31xx-codec 2-0018: can't set tlv320aic31xx-dai hw params: -22
> [   47.264905] tlv320aic31xx-codec 2-0018: can't set tlv320aic31xx-dai hw 
> params: -22
> [AO_ALSA] alsa-lib: pcm_hw.c:326:(snd_pcm_hw_hw_params) 
> SNDRV_PCM_IOCTL_HW_PARAMS failed (-22): Invalid argument
> [AO_ALSA] Unable to set hw-parameters: Invalid argument
> Failed to initialize audio driver 'alsa:device=hw=2.0'
> Could not open/initialize audio device -> no sound.
> 
> 
> 
> 
> 2015-04-04 8:03 GMT+03:00 Puneet B <[email protected]>:
> 
> 
> 
> Here will be working machine driver code for me.
> 
> Regards
> Punith
> 
> 
> 
> 
> 
> On Sat, Apr 4, 2015 at 1:39 AM, OMER AYGOR EYZA TEKNOLOJİ 
> <[email protected]> wrote:
> 
> hi 
> i found some thing. in your machine driver there are codes like this:
> 
>       ret = snd_soc_dai_set_clkdiv(cpu_dai, 0, 44100);  //*******set the 
> sample rate 44100 ****/
>         if (ret < 0) {
>                 return ret;
>         }
> 
> 
> you think is this correct?
> 
> 
> it is dividing clock signal to 44100 value. So on the i2s line, i can see 
> divided frequency signal on the frame line.
> 
> 
> and why 44100? Any sound can be different rates. Exp 48000hz. 
> 
> 
> i think problem inside of machine driver. 
> 
> 
> Could you send me latest machine driver?
> 
> 
> Thanks. 
> 
> 
> 
> 
> 2015-04-02 13:47 GMT+03:00 Puneet B <[email protected]>:
> 
> 
> 
> 
> I used the android kernel actually i made it work for linux-sunxi also but 
> applying patches also but  i am not getting that bp
> code. but i have back up code for android kernel.
> 
> Regards
> Punith
> 
> 
> 
> 
> 
> On Thu, Apr 2, 2015 at 3:58 PM, OMER AYGOR EYZA TEKNOLOJİ 
> <[email protected]> wrote:
> 
> The data pins is correct.
> i thing inside the i2s source code. there are something that changing clock 
> settings.
> could you send me your /sound/soc/sunxi/i2s directory to compare with mine?
> 
> 
> 
> 
> Thanks.
> 
> 
> 
> 
> 2015-04-02 13:13 GMT+03:00 Puneet B <[email protected]>:
> 
> 
> 
> 
> Make ensure that DIN go to DOut of Codec and Dout should go to DIN of codec 
> with respect to script file.
> and then ensure why clocks are not coming fine.
> 
> 
>  ret = snd_soc_dai_set_sysclk(cpu_dai, 0 , 22579200, SND_SOC_CLOCK_OUT);
> 
> 
> this will set MCLK to 11.29MHZ by dividing 22579200 clock by using some 
> divider.
> 
> 
> and also ensure the difference between your codec and my codec. if nothing 
> much difference is there , it should work.
> 
> Regards
> Punith
> 
> 
> 
> 
> 
> On Thu, Apr 2, 2015 at 3:31 PM, OMER AYGOR EYZA TEKNOLOJİ 
> <[email protected]> wrote:
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 2015-04-02 12:40 GMT+03:00 Puneet B <[email protected]>:
> 
> 
> 
> Could you send schematic of your board?.
> 
> Regards
> Punith
> 
> 
> 
> 
> 
> On Thu, Apr 2, 2015 at 2:57 PM, Puneet B <[email protected]> wrote:
> 
> 
> 
> Yes . then may be some clock issue is there i think. make clock should be 
> fine.
> 
> regards
> Punith
> 
> 
> 
> 
> 
> On Thu, Apr 2, 2015 at 2:23 PM, OMER AYGOR EYZA TEKNOLOJİ 
> <[email protected]> wrote:
> 
> hi.
> my codec chip is TLV320AIC3101IRHBR.
> 
> 
> and i used tlv320aic31xx.c driver. i used the driver that you modified. i 
> fount it on the web it is named like tlv320aic3100_new.c
> 
> 
> http://e2e.ti.com/support/arm/sitara_arm/f/791/p/345940/1229942
> 
> 
> 
> is this chip same with that you used.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 2015-04-02 11:25 GMT+03:00 Puneet B <[email protected]>:
> 
> 
> 
> I think you need to use correct codec driver  particular to your chip set.
> which chip set you are using?.
> 
> 
> 
> the same chip set driver name  you need to add in machine driver and in 
> device.c file.
> 
> and regarding clock wclk should be 44.1khz and bclk=2*sample_rate(16 or 
> 32)*wclk
> 
> and mclk=11.2MHZ , kindly check this.
> 
> 
> Regards
> 
> Punith
> 
> 
> 
> 
> 
> 
> 
> On Thu, Apr 2, 2015 at 1:46 PM, OMER AYGOR EYZA TEKNOLOJİ 
> <[email protected]> wrote:
> 
> 
> 1.aplay -l
> 
> 
> 
> root@marsboard:~# aplay -l
> **** List of PLAYBACK Hardware Devices ****
> card 0: sunxicodec [sunxi-CODEC], device 0: M1 PCM [sunxi PCM]
>   Subdevices: 1/1
>   Subdevice #0: subdevice #0
> card 1: sunxisndi2s [sunxi-sndi2s], device 0: SUNXI-I2S sndi2s-0 []
>   Subdevices: 1/1
>   Subdevice #0: subdevice #0
> card 2: RX51 [RX-51], device 0: AIC34 tlv320aic31xx-dai-0 []
>   Subdevices: 1/1
>   Subdevice #0: subdevice #0
> root@marsboard:~#
> 
> 
> 2.the mplayer command line which is you used?.
> 
> mplayer -ao alsa:device=hw=2.0 a.mp3
> 
> 
> 
> 3.The log output.
> 
> attachment.
> 
> 
> 4.The mclk,din,wclk,bclk frequency.
> 
> mclk=2.5Mhz
> din=4.798kHz
> wclk=3.674kHz
> bclk=238.1khz
> 
> 
> 
> 
> 
> 
> 
> 
> 2015-04-02 10:52 GMT+03:00 Puneet B <[email protected]>:
> 
> 
> 
> 
> 
> 
> 
> Can you send these outputs.
> 1.aplay -l
> 2.the mplayer command line which is you used?.
> 3.The log output.
> 4.The mclk,din,wclk,bclk frequency.
> 
> Regards
> 
> Punith
> 
> 
> 
> 
> 
> On Thu, Apr 2, 2015 at 1:13 PM, OMER AYGOR EYZA TEKNOLOJİ 
> <[email protected]> wrote:
> 
> hi.
> i tried android kernel and the kernel compiled not working on my board. i 
> think .config issue.
> 
> 
> i found i2s patch 
> https://github.com/itead/ITEADSW_kernel-record/blob/master/linux-sunxi-3.4-ITEADDevelopingRecord.md.
> 
> 
> and i applied it. 
> 
> 
> now i2s exist on the line. Logic anlyser can resolve i2s data. But i think 
> the frequency of signals is wrong.
> 
> 
> LRCLK = frame is 3.674 khz. must be 44 khz
> MCLK = 2.5MHZ
> 
> 
> i added screen shot video.
> 
> 
> 
> 
> 
> 
> 2015-03-31 10:29 GMT+03:00 Puneet B <[email protected]>:
> 
> 
> 
> 
> https://dl.linux-sunxi.org/SDK/cubietruck/
> 
> try this link.
> 
> Regards
> Punith
> 
> 
> 
> 
> 
> On Tue, Mar 31, 2015 at 12:55 PM, OMER AYGOR EYZA TEKNOLOJİ 
> <[email protected]> wrote:
> 
> ok.
> 
> 
> where can i download the android kernel. if i use same with you, it must be 
> easier for me. thanks for your help.
> 
> 
> 
> 
> 2015-03-31 9:52 GMT+03:00 Puneet B <[email protected]>:
> 
> 
> 
> Check once , No need if there is no kernel panic error.
> 
> Regards
> Punith
> 
> 
> 
> 
> 
> On Tue, Mar 31, 2015 at 12:17 PM, OMER AYGOR EYZA TEKNOLOJİ 
> <[email protected]> wrote:
> 
> hi,
> 
> 
> i can not get clocks. There are some dummy signals. and data line of i2s is 
> always low. 
> 
> 
> i am using new marsboard and my base board. so if i can use android cubiboard 
> kernel, can i configure to use my marsboard.
> 
> 
> 
> 
> 
> 
> 2015-03-31 8:33 GMT+03:00 Puneet B <[email protected]>:
> 
> 
> 
> 
> Are you getting all clocks?.
> 
> If not current sunxi-3.4 is needs some patches, so why dont you use some 
> android kernel ex from cubieboard2.
> 
> Regards
> Punith
> 
> 
> 
> 
> 
> On Mon, Mar 30, 2015 at 9:15 PM, OMER AYGOR EYZA TEKNOLOJİ 
> <[email protected]> wrote:
> 
> hi,
> 
> 
> finally, kernel isnt broken anymore, 
> 
> 
> this is my log. But i cant see correct i2s signals. but i cant correct i2s 
> signals on the line. and the counter("A:   0.0 (00.0) of 202.1 (03:22.1) 
> ??,?% $<3>"), 
> in this console line, not increasing. 
> 
> 
> 
> Enable it at compilation.
> Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
> AUDIO: 44100 Hz, 2 ch, floatle, 128.0 kbit/4.54% (ratio: 16000->352800)
> Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
> ==========================================================================
> [AO_ALSA] Format floatle is not psupported by hardware, trying default.
> uneet rx51_hw_params
> [  897.712783] puneet rx51_hw_params
> puneet rx51_hw_params
> [  897.718978] puneet rx51_hw_params
> puneet rx51_hw_params
> [  897.724927] puneet rx51_hw_params
> puneet rx51_hw_params
> [  897.730441] puneet rx51_hw_params
> puneet rx51_hw_params
> [  897.736415] puneet rx51_hw_params
> AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
> Video: no video
> Starting playback...
> [IIS] dma trigger start
> [  897.768765] [IIS] dma trigger start
> [IIS] 0x01c22400+0x24 = 0xd4, line= 235
> [  897.775866] [IIS] 0x01c22400+0x24 = 0xd4, line= 235
> A:   0.0 (00.0) of 202.1 (03:22.1) ??,?% $<3>
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 2015-03-30 12:08 GMT+03:00 Puneet B <[email protected]>:
> 
> 
> 
> 
> See, Rx51 is sound card which will link platform driver to codec driver , 
> then codec will able to play audio.
> if you play audio through the only sunxii2s device , codec probe will not 
> happen so you will not get any audio.
> 
> Regards
> Punith
> 
> 
> 
> 
> 
> On Mon, Mar 30, 2015 at 2:29 PM, OMER AYGOR EYZA TEKNOLOJİ 
> <[email protected]> wrote:
> 
> hi,
> 
> 
> i have a question.
> when we play with this command " mplayer -ao alsa:device=hw=1.0 a.mp3", so 
> sunxii2s device, we can see all i2s signals on the line. 
> why does we need RX51 device? 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 2015-03-25 12:29 GMT+02:00 Puneet B <[email protected]>:
> 
> 
> 
> 
> That i taken care codec drive for your case thats not needed right now first 
> ensure all clocks are coming without 
> any kernel panic error.
> 
> Regards
> Punith
> 
> 
> 
> 
> 
> On Wed, Mar 25, 2015 at 3:53 PM, OMER AYGOR EYZA TEKNOLOJİ 
> <[email protected]> wrote:
> 
> hi,
> 
> 
> i checked i2c,
> 
> 
> 
> root@marsboard:/home/marsboard# i2cset -y 2 0x18 0x05 0x05
> root@marsboard:/home/marsboard# i2cget -y 2 0x18 0x05
> 0x00
> 
> 
> in your older post you gave a register table read from tlv. 
> how did you read all registers.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 2015-03-25 10:02 GMT+02:00 Puneet B <[email protected]>:
> 
> 
> 
> This means that kernel issue i think , please use android kernel 3.4 (check  
> cubieboard2 sources).
> 
> Regards
> Punith
> 
> 
> 
> 
> 
> On Wed, Mar 25, 2015 at 11:18 AM, OMER AYGOR EYZA TEKNOLOJİ 
> <[email protected]> wrote:
> 
> 
> hi,
> thanks for your kindly replay.
> 
> 
> i am using 3.4.103 kernel. which patches l need. i didnt see any patch old 
> posts. 
> 
> 
> i tried command you said. when i pass to " mplayer -ao alsa:device=hw=        
>  2.0 a.mp3"
> command. it is crashing. in your machine driver, it calls rx51_hw_params  
> function.
> 
> 
> 
> 
> 
> 
> root@marsboard:/home/marsboard# mplayer -ao alsa:device=hw=         2.0 a.mp3 
>          
> MPlayer2 UNKNOWN (C) 2000-2012 MPlayer Team
> mplayer: could not connect to socket
> mplayer: No such file or directory
> Failed to open LIRC support. You will not be able to use your remote control.
> 
> 
> Playing a.mp3.
> Detected file format: MPEG audio layer 2/3 (libavformat)
> [mp3 @ 0xb5bb4558]max_analyze_duration reached
> [mp3 @ 0xb5bb4558]Estimating duration from bitrate, this may be inaccurate
> [lavf] stream 0: audio (mp3), -aid 0
> Clip info:
>  title: Overprotected
>  artist: Britney Spears
>  genre: Other
> Load subtitles in .
> ==========================================================================
> Requested audio codec family [mpg123] (afm=mpg123) not available.
> Enable it at compilation.
> Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
> AUDIO: 44100 Hz, 2 ch, floatle, 128.0 kbit/4.54% (ratio: 16000->352800)
> Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
> ==========================================================================
> [AO_ALSA] Format floatle is not psupported by hardware, trying default.
> uneet rx51_hw_params 
> 
> 
> [  437.854378] puneet rx51_hw_params 
> <1>Unable to handle kernel NULL pointer dereference at virtual address 
> 0000002c
> 
> 
> <1>Unable to handle kernel NULL pointer dereference at virtual address 
> 0000002c
> 
> 
> [ < 437.866460] Unable to handle kernel NULL pointer dereference at virtual 
> address 0000002c
> 1[  437.873500] Unable to handle kernel NULL pointer dereference at virtual 
> address 0000002c
> >pgd = c0004000
> 
> 
> 
> [ < 437.891315] pgd = c0004000
> 1>[0000002c] *pgd=00000000
> [  437.896362] [0000002c] *pgd=00000000
> 
> 
> <0>Internal error: Oops: 17 [#1] PREEMPT SMP ARM
> 
> 
> <[  437.904450] Internal error: Oops: 17 [#1] PREEMPT SMP ARM
> d>Modules linked in: [  437.911658] Modules linked in:g_mass_storage  
> g_mass_storagerfcomm bnep  rfcomm bnepbluetooth  bluetoothsunxi_cedar_mod  
> sunxi_cedar_modmali ump  mali umphdmi sunxi_gmac  hdmi sunxi_gmac8188eu
>  8188eu
> 
> 
> CPU: 0    Not tainted  (3.4.103+ #28)
> 
> 
> [ P 437.933105] CPU: 0    Not tainted  (3.4.103+ #28)
> C is at regulator_enable+0x4/0x20c
> 
> 
> L[  437.941015] PC is at regulator_enable+0x4/0x20c
> R is at regulator_bulk_enable_async+0x10/0x18
> 
> 
> 
> 
> 2015-03-25 6:47 GMT+02:00 Puneet B <[email protected]>:
> 
> 
> 
> 
> you need to pass fallowing command
> 
>  mplayer -ao alsa:device=hw=2.0 a.mp3
> 
> and also ensure that all clocks are coming fine...

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to