Audio cape with Jessie

Hi all,

I have a CircuitCo audio cape, rev. B1 (http://elinux.org/CircuitCo:Audio_Cape_RevB) that works great on a BBB with Wheezy. When I flash the BBB with Jessie (2015-02-15 release), I can’t get it working.

In /boot/uEnv.txt, I have these lines active:

cape_disable=capemgr.disable_partno=BB-BONELT-HDMI
cape_enable=capemgr.enable_partno=BB-BONE-AUDI-02

When the board boots, I can see the right stuff in the kernel command line:

Kernel command line: console=ttyO0,115200n8 capemgr.disable_partno=BB-BONELT-HDMI capemgr.enable_partno=BB-BONE-AUDI-02 root=UUID=625467d4-5b2b-4ade-96f2-43a61ed56731 ro rootfstype=ext4 rootwait fixrtc quiet

Kernel is: Linux 3.14.33-ti-r50 #1 SMP PREEMPT Wed Feb 11 18:16:43 UTC 2015 armv7l

I have BB-BONE-AUDI-02-00A0.dtbo in /lib/firmware, and the pins listed in dmesg match what I would expect from the .dts file.

From dmesg:

[ 2.665131] bone-pinmux-helper P9_25_pinmux.52: Set initial pinmux mode to audio
[ 2.669150] bone-pinmux-helper P9_28_pinmux.55: Set initial pinmux mode to audio
[ 2.670689] bone-pinmux-helper P9_29_pinmux.56: Set initial pinmux mode to audio
[ 2.673912] bone-pinmux-helper P9_31_pinmux.58: Set initial pinmux mode to audio

And in BB-BONE-AUDI-02-00A0.dts:

exclusive-use =
/* the pin header uses /
“P9.31”, /
mcasp0: mcasp0_aclkx /
“P9.29”, /
mcasp0: mcasp0_fsx /
“P9.28”, /
mcasp0: mcasp0_axr2 /
“P9.25”, /
mcasp0: mcasp0_ahclkx */

But when I try playing a WAV file with aplay, no sound comes out, but no errors are reported.

Does it seem like it should be working, or am I missing something obvious?

Thanks,

Brandon

Hi all,

I have a CircuitCo audio cape, rev. B1
(http://elinux.org/CircuitCo:Audio_Cape_RevB) that works great on a BBB with
Wheezy. When I flash the BBB with Jessie (2015-02-15 release), I can't get
it working.

In /boot/uEnv.txt, I have these lines active:

  cape_disable=capemgr.disable_partno=BB-BONELT-HDMI
  cape_enable=capemgr.enable_partno=BB-BONE-AUDI-02

When the board boots, I can see the right stuff in the kernel command line:

  Kernel command line: console=ttyO0,115200n8
capemgr.disable_partno=BB-BONELT-HDMI capemgr.enable_partno=BB-BONE-AUDI-02
root=UUID=625467d4-5b2b-4ade-96f2-43a61ed56731 ro rootfstype=ext4 rootwait
fixrtc quiet

Kernel is: Linux 3.14.33-ti-r50 #1 SMP PREEMPT Wed Feb 11 18:16:43 UTC 2015
armv7l

If you want to use "capemgr" and the above ^^:

sudo apt-get update ; sudo apt-get install linux-image-3.8.13-bone70 ;
sudo reboot

I have BB-BONE-AUDI-02-00A0.dtbo in /lib/firmware, and the pins listed in
dmesg match what I would expect from the .dts file.

From dmesg:

  [ 2.665131] bone-pinmux-helper P9_25_pinmux.52: Set initial pinmux mode
to audio
  [ 2.669150] bone-pinmux-helper P9_28_pinmux.55: Set initial pinmux mode
to audio
  [ 2.670689] bone-pinmux-helper P9_29_pinmux.56: Set initial pinmux mode
to audio
  [ 2.673912] bone-pinmux-helper P9_31_pinmux.58: Set initial pinmux mode
to audio

And in BB-BONE-AUDI-02-00A0.dts:

    exclusive-use =
        /* the pin header uses */
        "P9.31", /* mcasp0: mcasp0_aclkx */
        "P9.29", /* mcasp0: mcasp0_fsx */
        "P9.28", /* mcasp0: mcasp0_axr2 */
        "P9.25", /* mcasp0: mcasp0_ahclkx */

But when I try playing a WAV file with aplay, no sound comes out, but no
errors are reported.

Does it seem like it should be working, or am I missing something obvious?

3.14 doesn't have capemgr, i've ported a bunch of capes:

http://elinux.org/Beagleboard:Capes_3.8_to_3.14

But for some users, they need to just downgrade back to v3.8.x

Regards,

> Hi all,
>
> I have a CircuitCo audio cape, rev. B1
> (http://elinux.org/CircuitCo:Audio_Cape_RevB) that works great on a BBB
with
> Wheezy. When I flash the BBB with Jessie (2015-02-15 release), I can't
get
> it working.

>
> Does it seem like it should be working, or am I missing something
obvious?

3.14 doesn't have capemgr, i've ported a bunch of capes:

http://elinux.org/Beagleboard:Capes_3.8_to_3.14

But for some users, they need to just downgrade back to v3.8.x

Thanks for the hint. It seems that the audio cape is not listed among those
ported, but it looks like there are recent changes to
am335x-bone-audio-revb.dts and am335x-bone-audio-revb.dtsi:

https://github.com/beagleboard/linux/blob/3.14/arch/arm/boot/dts/am335x-bone-audio-revb.dts
https://github.com/beagleboard/linux/blob/3.14/arch/arm/boot/dts/am335x-bone-audio-revb.dtsi

Is it possible that I just need 3.14.33-ti-r51 rather than 3.14.33-ti-r50?

Brandon

Regards,

Yeah, you can also try:

dtb=am335x-boneblack-audio-revb.dtb

in /boot/uEnv.txt

Regards,

Awesome, thanks. Will try tomorrow and report results!

Brandon

The 3.14.33-ti-r51 kernel and the dtb line that Robert suggested worked!

Before 3.14.33-ti-r51 and dtb=am335x-boneblack-audio-revb.dtb in
/boot/uEnv.txt, dmesg contained:

bone-pinmux-helper P9_25_pinmux.52: Set initial pinmux mode to audio
bone-pinmux-helper P9_28_pinmux.55: Set initial pinmux mode to audio
bone-pinmux-helper P9_29_pinmux.56: Set initial pinmux mode to audio
bone-pinmux-helper P9_31_pinmux.58: Set initial pinmux mode to audio

ALSA device list:
   #0: TI BeagleBone Black

Afterwards, the pinmux mode to audio stuff disappeared and instead, I saw
in dmesg:

tlv320aic3x-codec 2-0018: Failed to get supply 'IOVDD': -517
tlv320aic3x-codec 2-0018: Failed to request supplies: -517
i2c 2-0018: Driver tlv320aic3x-codec requests probe deferral
davinci_evm sound.60: ASoC: CODEC (null) not registered
davinci_evm sound.60: snd_soc_register_card failed (-517)
platform sound.60: Driver davinci_evm requests probe deferral
davinci_evm sound.60: tlv320aic3x-hifi <-> 48038000.mcasp mapping ok

  ALSA device list:
   #0: DA830 EVM

I'm not actually certain that the kernel upgrade was necessary, but it
worked, so I'll stick with it.

Now when I run aplay, sound comes out. I hear music!

Thanks, Robert!

Brandon