On Wed, Mar 16, 2011 at 1:31 PM, ABRAHAM, KISHON VIJAY <kishon@xxxxxx> wrote: > On Wed, Mar 16, 2011 at 9:09 AM, Bob Liu <lliubbo@xxxxxxxxx> wrote: >> On Wed, Mar 16, 2011 at 12:21 AM, Premi, Sanjeev <premi@xxxxxx> wrote: >>>> -----Original Message----- >>>> From: linux-omap-owner@xxxxxxxxxxxxxxx >>>> [mailto:linux-omap-owner@xxxxxxxxxxxxxxx] On Behalf Of Bob Liu >>>> Sent: Tuesday, March 15, 2011 3:27 PM >>>> To: Jarkko Nikula >>>> Cc: linux-omap@xxxxxxxxxxxxxxx; >>>> broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx; lrg@xxxxxxxxxxxxxxx; >>>> lars@xxxxxxxxxx; paul@xxxxxxxxx; peter.ujfalusi@xxxxxxxxx >>>> Subject: Re: [HELP] Audio on BeagleBoard xM can't work >>>> >>>> On Tue, Mar 15, 2011 at 5:53 PM, Jarkko Nikula >>>> <jhnikula@xxxxxxxxx> wrote: >>>> > On Tue, 15 Mar 2011 11:12:17 +0800 >>>> > Bob Liu <lliubbo@xxxxxxxxx> wrote: >>>> > >>>> >> It seems that the code in sound/soc/omap/omap-mcbsp.c uses >>>> the function >>>> >> "cpu-is-omap343x()" which fails and returns ENODEV. >>>> >> >>>> >> But I have enabled "OMAP3430 support" in "System Type" / >>>> "TI OMAP2/3/4 >>>> >> Specific Features", >>>> >> why it still return ENODEV? (Attached my kernel config). >>>> >> >>>> >> And after I changed that check to "cpu-is-omap34xx()", there was no >>>> >> error message but neither any audio output, >>>> >> I can't hear any sound. >>>> >> ---------------------------- >>>> > >>>> > Is the DMA running after you change the cpu_is_omap34xx and >>>> try to play >>>> > e.g. "aplay /dev/urandom"? If audio is running you should see DMA >>>> > interrupt count increasing with "grep DMA /proc/interrupts". >>>> > >>>> >>>> Yes, DMA interrupt count increased after aplay /dev/urandom or some >>>> other audio file. >>>> Thanks >>>> >>>> > If that is working then issue could be in codec side. I don't have a >>>> > beagle at the moment to verify but IRCC something like ~10 >>>> TWL4030 ALSA >>>> > controls must be adjusted in order to route audio from DAC >>>> to outputs >>>> > at proper volume. >>> >>> I don't have HW with me right now, can you try the following? >>> (Got the steps over phone from Abhilash) >>> >>> 1) run command "alsamixer" >>> 2) Un-mute by pressing the key "m" >>> 3) Play the audio using aplay >>> >>> If it doesn't work, you may want to check the options used by >>> alsamixer. I will be able to try it myself tomorrow morning. >>> >> >> Thanks for your reply. >> It seems pressing the key "m" has no effect during alsamixer and there >> are so many options I don't know how to adjust it. > > Â I've never tried playing audio in beagleboardxm but I've tried > using 3430 SDP. > Â You can try with the following settings. > > amixer cset name="HandsfreeR Switch" 1 > amixer cset name="HandsfreeR Mux" 2 > amixer cset name="HandsfreeL Switch" 1 > amixer cset name="HandsfreeL Mux" 2 > amixer cset name="DAC1 Analog Playback Switch" 1 > amixer cset name="DAC1 Analog Playback Volume" 12 > amixer cset name="DAC1 Digital Coarse Playback Volume" 2 > amixer cset name="DAC1 Digital Fine Playback Volume" 50 > amixer cset name="DAC2 Analog Playback Switch" 1 > amixer cset name="DAC2 Analog Playback Volume" 12 > amixer cset name="DAC2 Digital Coarse Playback Volume" 2 > amixer cset name="DAC2 Digital Fine Playback Volume" 50 > > aplay -D plughw:0,0 -d 5 /mnt/mmc/beethoven.wav > Hi, Kishon Thanks for your help. After these amixer commands, there is still no sound. Below is amixer result. (I am sure the hardware has no problem because I used kernel-2.6.32 the audio works fine). ----------------------------------------------------------------------------------- # amixer cget name="HandsfreeR Switch" numid=35,iface=MIXER,name='HandsfreeR Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on # amixer cget name="HandsfreeR Mux" numid=36,iface=MIXER,name='HandsfreeR Mux' ; type=ENUMERATED,access=rw------,values=1,items=4 ; Item #0 'Voice' ; Item #1 'AudioR1' ; Item #2 'AudioR2' ; Item #3 'AudioL2' : values=2 # amixer cget name="HandsfreeL Switch" numid=37,iface=MIXER,name='HandsfreeL Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on # amixer cget name="HandsfreeL Mux" numid=38,iface=MIXER,name='HandsfreeL Mux' ; type=ENUMERATED,access=rw------,values=1,items=4 ; Item #0 'Voice' ; Item #1 'AudioL1' ; Item #2 'AudioL2' ; Item #3 'AudioR2' : values=2 # amixer cget name="DAC1 Analog Playback Switch" numid=8,iface=MIXER,name='DAC1 Analog Playback Switch' ; type=BOOLEAN,access=rw------,values=2 : values=on,on # amixer cget name="DAC1 Analog Playback Volume" numid=6,iface=MIXER,name='DAC1 Analog Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=18,step=0 : values=12,12 | dBscale-min=-24.00dB,step=2.00dB,mute=0 # amixer cget name="DAC1 Digital Coarse Playback Volume" numid=4,iface=MIXER,name='DAC1 Digital Coarse Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=2,step=0 : values=2,2 | dBscale-min=0.00dB,step=6.00dB,mute=0 # amixer cget name="DAC1 Digital Fine Playback Volume" numid=2,iface=MIXER,name='DAC1 Digital Fine Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0 : values=50,50 | dBscale-min=-63.00dB,step=1.00dB,mute=1 # amixer cget name="DAC2 Analog Playback Switch" numid=9,iface=MIXER,name='DAC2 Analog Playback Switch' ; type=BOOLEAN,access=rw------,values=2 : values=on,on # amixer cget name="DAC2 Analog Playback Volume" numid=7,iface=MIXER,name='DAC2 Analog Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=18,step=0 : values=12,12 | dBscale-min=-24.00dB,step=2.00dB,mute=0 # amixer cget name="DAC2 Digital Coarse Playback Volume" numid=5,iface=MIXER,name='DAC2 Digital Coarse Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=2,step=0 : values=2,2 | dBscale-min=0.00dB,step=6.00dB,mute=0 # amixer cget name="DAC2 Digital Fine Playback Volume" numid=3,iface=MIXER,name='DAC2 Digital Fine Playback Volume' ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0 : values=50,50 | dBscale-min=-63.00dB,step=1.00dB,mute=1 # --------------------------------------------------------------------------------------------- -- Regards, --Bob -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html