Repository navigation
CTAG face2|4 Audio Card Driver
For audio card driver development, the official BeagleBoard Linux kernel has been forked and extended.
The main components of the driver are:
- ASoC Machine Driver (glues together digital audio interface (DAI) of CPU and audio codec)
-
Device Tree (configures and loads required kernel modules (e.g. SPI, McASP, ...))
The clocks are configured differently on BeagleBone Black/Green and BeagleBoard-X15. For this reason the probe() function (which configures CPU / codec clocks) of ASoC Machine Driver had to be modified. Based on the device tree property "bb-device" of node "sound2" the clocks are configured according to hardware device. To be still backwards compatible with the old driver version, the BeagleBone Black/Green is selected by default, if the device tree property "bb-device" is not set.
The audio card driver supports all features of the AD1938 audio codec (e.g. playback de-emphasis, ADC high pass, ...).
Moreover the driver supports a maximum sample rate of 96 kHz with all channels active.
The (three) new commits I have made to the forked kernel in my Google Summer of Code project can be found here. Moreover a pull request for the official BeagleBoard Kernel has been created and accepted.
The pin connections diagram between BeagleBoard-X15 and CTAG face2|4 Audio Card can be found here.
For a detailed explanation of the build process checkout Build Instructions page.
Note: The following issue has been fixed
A big problem during my GSoC project was a kernel crash which occurred when sound card is triggered (i.e. sound is played / captured). The kernel crash is caused due to DSP firmware (dra7-dsp1-fw.xe66) crash and recovery from remoteproc. It turned out that the kernel crash can be avoided by disabling recovery of remoteproc2 and remoteproc3:<br&>
nano /sys/kernel/debug/remoteproc/remoteproc2/recovery and set to "disabled"
- Forked Linux Kernel
- BeagleBoard Pull Request
- Pin Connections
- CTAG face2|4 Audio Card hardware and documentation files on GitHub
- ALSA System on Chip (ASoC)
- AD1938 Audio Codec
- BeagleBoard-X15 on GitHub
- BeagleBoard-X15 on eLinux
- AM572x Datasheet
- AM572x Technical Reference Manual
- AM572x General Purpose EVM HW User Guide
