I have a Beaglebone black with two modified Circuitco audio Rev B capes on it. They have been modified so that one uses I2C1 and McASP0 and the other uses I2CS and McASP1. I want to be able to access both capes with ALSA. I am running Debian Wheezy beaglebone 3.8.13-bone73. Both capes have a TLV320AIC3104 which has a fixed i2c address of 0x18, but since they are on separate I2C busses, they should not conflict. I have created 2 new dts files based on the kernel's BB-BONE-AUDI-02-00A0.dts. They are attached in this post. I compiled them and put the .dtbo files on /lib/firmware. I have added them to /etc/default/capemgr as follows:
CAPE=BB-BONE-AUDI-03,BB-BONE-AUDI-04
When I reboot, I do see that the pingroups for both capes is correct using:
cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pingroups
But when I look at the devices that ALSA sees via "aplay -l" or "aplay -L", I only see the one from the first cape defined in /etc/default/capemgr. When I run aplay, I do successfully play the sound on the cape defined by BB-BONE-AUDI-03.dts. And I can adjust the volume with alsamixer, proving the I2C connection is working properly. If I reverse the order of the capes in /etc/default/capemgr like this:
CAPE=BB-BONE-AUDI-04,BB-BONE-AUDI-03
then ALSA only sees the cape defined by BB-BONE-AUDI-04.dts. Again, I can play music on that cape and adjust the volume with alsamixer. So that means that the different McASP connections and I2C connections are working. I just can't get them both to work in tandem. If I plug in a SoundBlaster USB sound card, ALSA does see an AIC3104 codec plus the SoundBlaster. And I can access both of those together. But I can't yet get ALSA to see both AIC3104 codecs.
I have been looking at the customer support sites, and I have seen descriptions of how to handle multiple USB sound cards. But I've seen nothing about how to handle multiple on-chip peripherals. We are in the process of building a board with the AM335x with two TLV320AIC3014 codecs, and I need to be sure that I can access both of them with ALSA.
Any advice would be much appreciated. I don't mind having to modify the kernel. I've already had to make a couple of small changes to it.
Thank you. Craig