Re: custom audio card on beaglebone
On Sun, Jan 22, 2017 at 1:38 PM, jowrote: > Hi everyone, > > I am currently trying to get a simple audio I2S DAC board ( > https://polyvection.com/shop/plaindac/) to work on a beaglebone green > wireless. The components is a PCM5121, a popular one that has an existing > driver. > > so far, > - I have a custom compiled kernel with the apropriate driver compiled > $ grep PCM512 .config > CONFIG_SND_SOC_PCM512x=m > CONFIG_SND_SOC_PCM512x_I2C=m > > > - I can boot with a custom device tree including my definition of the > board as an "asoc-simple-card" and it get recognise without error on boot. > > root@beaglebone:~# dmesg |grep sound > [ 28.730678] asoc-simple-card sound: pcm512x-hifi <-> 48038000.mcasp > mapping ok > root@beaglebone:~# lsmod |grep pcm512 > snd_soc_pcm512x_i2c 2782 1 > snd_soc_pcm512x24341 1 snd_soc_pcm512x_i2c > snd_soc_core 192029 5 snd_soc_pcm512x,snd_soc_davinc > i_mcasp,snd_soc_edma,snd_soc_omap,snd_soc_simple_card > snd_pcm 103172 6 snd_soc_pcm512x,snd_soc_davinc > i_mcasp,snd_soc_core,snd_soc_omap,snd_pcm_dmaengine > > > - I can open the device with alsamixer, and can confirm the sound is on > 100% > > Howewer, I still can't get any sound of the device. > > Does someone has experience in regards to asoc audio device and cant give > me some thought on easy to miss things ? > I am still trying to figure out if I have omitted something on the device > tree, or if I need to configure something more on the OS (alsa, pulseaudio > ?)... > > I have attached my device tree, if someone feel like giving a look at it. > (my addition from the original one comes after line 73). > Also some output that may give you more info that they are giving to me: > > root@beaglebone:~# aplay -v Pom\ Pom.wav > Playing WAVE 'Pom Pom.wav' : Signed 32 bit Little Endian, Rate 44100 Hz, > Stereo > ALSA <-> PulseAudio PCM I/O Plugin > Its setup is: > stream : PLAYBACK > access : RW_INTERLEAVED > format : S32_LE > subformat: STD > channels : 2 > rate : 44100 > exact rate : 44100 (44100/1) > msbits : 32 > buffer_size : 22050 > period_size : 5512 > period_time : 125000 > tstamp_mode : NONE > period_step : 1 > avail_min: 5512 > period_event : 0 > start_threshold : 22050 > stop_threshold : 22050 > silence_threshold: 0 > silence_size : 0 > boundary : 1445068800 > > #nothing play and the above stay displayed -as is- until I ctrl-c > Possible that you have not turned on the mixer controls i.e. enabling the volume? Check sw_ptr and hw_ptr and see if those are increasing or not? Probe the I2S lines and see if there is any data? > > > root@beaglebone:~# aplay -l > List of PLAYBACK Hardware Devices > card 0: plaindac [plaindac], device 0: davinci-mcasp.0-pcm512x-hifi > pcm512x-hifi-0 [] > Subdevices: 0/1 > Subdevice #0: subdevice #0 > > > root@beaglebone:~# cat /proc/asound/card0/pcm0p/info > card: 0 > device: 0 > subdevice: 0 > stream: PLAYBACK > id: davinci-mcasp.0-pcm512x-hifi pcm512x-hifi-0on > name: > subname: subdevice #0 > class: 0 > subclass: 0 > subdevices_count: 1 > subdevices_avail: 0 > > > Regards, > Jonathan. > > ___ > Kernelnewbies mailing list > Kernelnewbies@kernelnewbies.org > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
custom audio card on beaglebone
Hi everyone, I am currently trying to get a simple audio I2S DAC board (https://polyvection.com/shop/plaindac/) to work on a beaglebone green wireless. The components is a PCM5121, a popular one that has an existing driver. so far, - I have a custom compiled kernel with the apropriate driver compiled $ grep PCM512 .config CONFIG_SND_SOC_PCM512x=m CONFIG_SND_SOC_PCM512x_I2C=m - I can boot with a custom device tree including my definition of the board as an "asoc-simple-card" and it get recognise without error on boot. root@beaglebone:~# dmesg |grep sound [ 28.730678] asoc-simple-card sound: pcm512x-hifi <-> 48038000.mcasp mapping ok root@beaglebone:~# lsmod |grep pcm512 snd_soc_pcm512x_i2c 2782 1 snd_soc_pcm512x24341 1 snd_soc_pcm512x_i2c snd_soc_core 192029 5 snd_soc_pcm512x,snd_soc_davinci_mcasp,snd_soc_edma,snd_soc_omap,snd_soc_simple_card snd_pcm 103172 6 snd_soc_pcm512x,snd_soc_davinci_mcasp,snd_soc_core,snd_soc_omap,snd_pcm_dmaengine - I can open the device with alsamixer, and can confirm the sound is on 100% Howewer, I still can't get any sound of the device. Does someone has experience in regards to asoc audio device and cant give me some thought on easy to miss things ? I am still trying to figure out if I have omitted something on the device tree, or if I need to configure something more on the OS (alsa, pulseaudio ?)... I have attached my device tree, if someone feel like giving a look at it. (my addition from the original one comes after line 73). Also some output that may give you more info that they are giving to me: root@beaglebone:~# aplay -v Pom\ Pom.wav Playing WAVE 'Pom Pom.wav' : Signed 32 bit Little Endian, Rate 44100 Hz, Stereo ALSA <-> PulseAudio PCM I/O Plugin Its setup is: stream : PLAYBACK access : RW_INTERLEAVED format : S32_LE subformat: STD channels : 2 rate : 44100 exact rate : 44100 (44100/1) msbits : 32 buffer_size : 22050 period_size : 5512 period_time : 125000 tstamp_mode : NONE period_step : 1 avail_min: 5512 period_event : 0 start_threshold : 22050 stop_threshold : 22050 silence_threshold: 0 silence_size : 0 boundary : 1445068800 #nothing play and the above stay displayed -as is- until I ctrl-c root@beaglebone:~# aplay -l List of PLAYBACK Hardware Devices card 0: plaindac [plaindac], device 0: davinci-mcasp.0-pcm512x-hifi pcm512x-hifi-0 [] Subdevices: 0/1 Subdevice #0: subdevice #0 root@beaglebone:~# cat /proc/asound/card0/pcm0p/info card: 0 device: 0 subdevice: 0 stream: PLAYBACK id: davinci-mcasp.0-pcm512x-hifi pcm512x-hifi-0on name: subname: subdevice #0 class: 0 subclass: 0 subdevices_count: 1 subdevices_avail: 0 Regards, Jonathan. am335x-bonegreen-wireless-pcm.dts Description: audio/vnd.dts ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
should include/uapi include header files *unused* in kernel space?
was perusing the UAPI content in the kernel source, prepping for a course i'm teaching tomorrow, and just noticed there is a header file: $ find . -name mtd-user.h ./include/uapi/mtd/mtd-user.h $ which appears to be *entirely* unreferenced in the entire kernel code base (outside of the Kbuild file that refers to it): $ grep -r 'mtd-user.h' * include/uapi/mtd/Kbuild:header-y += mtd-user.h $ does this make any sense? am i missing something here? i would have thought that if a header file includes content that is wholly used exclusively in user space, it would be part of a package like "mtd-devel", or something like that. is this just for convenience to keep all the mtd stuff in the same place? rday -- Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies