since the standard Audio cape is not available, I purchased the DVID-02 cape which has HDMI and also the Audio TVL3106 chip which is the same as on the normal Audio cape.
I was in anticipation of a nightmare configuring that all (since this cape is marked as incompatible with the BBB), I had low expectation of getting it working.
But fortunately this job was done in a few hours and the Audio is working great !
This is how to get it running under Ubuntu:
install the BB-BONE-DVID-02 cape, switch on power and login via ssh (no HDMI !)
install the ALSA file:
apt-get install alsa-base, alsa-utils
- check if the TVL3106 can be accessed via I2C interface:
i2cdetect -y -r 1
should show the chip at address 1b
lets test if a write/read access is possible:
write some data: i2cset -y 1 0x1b 2 3
read it back: i2cget -y 1 0x1b 2
this should return: 3
lets see if a sound chip is detected:
no sound is detected, thats ok and we will activate it in the next step.
prepare the uEnv.txt file
go to the uboot directory and open the file uEnv.txt
(Attention: this file is on the eMMC and also on SD Card, so be sure to open the file used for booting !).
add/modify this line:
this disables the HDMI (which is required, since the DVID cape is not compatoble with HDMI)
and also disables the eMMC (since I am only using the SD card for Ubuntu, you may do that different)
and (thats the trick): enables the BB-BONE-AUDI-01
Our board is not the BB-BONE-AUDI-01, but since both boards are using the same sound chip, we simple use the drivers for the BB-BONE-AUDI-01 board
which works fine with our DVID-02 board.
reboot the BBB
after rebooting lets check the system log:
this will show that Ubuntu found our DVID-02 board, but the installation failed. This is ok, since this board is not compatible with the BBB.
[ 2.881593] bone-capemgr bone_capemgr.9: failed to load firmware ‘BB-BONE-DVID-02-00A1.dtbo’
[ 2.890507] bone-capemgr bone_capemgr.9: loader: failed to load slot-0 BB-BONE-DVID-02:00A1 (prio 0)
But it also shows that the BB-BONE-AUDI-01 was installed successfully and the drivers are loaded:
[ 2.900093] bone-capemgr bone_capemgr.9: slot #7: Requesting part number/version based 'BB-BONE-AUDI-01-00A0.dtbo
[ 2.927274] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware ‘BB-BONE-AUDI-01-00A0.dtbo’ for board-name ‘Override Board Name’, version ‘00A0’
[ 2.976130] bone-capemgr bone_capemgr.9: slot #7: dtbo ‘BB-BONE-AUDI-01-00A0.dtbo’ loaded; converting to live tree
[ 3.013599] bone-capemgr bone_capemgr.9: slot #7: #5 overlays
- next lets check the slots file:
ubuntu@arm:~$ cat /sys/devices/bone_capemgr.*/slots
4: ff:P-O-- Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-BB-BONE-AUDI-01
as we can see, the HDMI and eMMC are not loaded, but the BONE-AUDI-01 is loaded,
so it should be working.
- lets test again if a sound chip is found:
ubuntu@arm:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: EVM [DA830 EVM], device 0: AIC3X tlv320aic3x-hifi-0 
Subdevice #0: subdevice #0
yes, it is found.
- now let us test if its working
connect a speaker/headphone to audio out (speaker only with an amplifier since the volume is very low)
speaker-test -t sine
now we can hear a sine wave tone.
- lets play music
take a WAV file and play it:
aplay -t wav mymusic.wav
Thats it, it was much easier than expected