This is an analog audio driver for the audio codec found on the Allwinner A10/A20 SoC. Based loosely on my NetBSD driver, tested on Cubieboard 2. Playback and capture are supported.
Details
- Reviewers
andrew - Group Reviewers
ARM - Commits
- rS295657: Add an analog audio driver for the audio codec found on the Allwinner
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
Rename "pamute-gpios" property to "allwinner,pa-gpios" to match Linux mainline.
PA mute GPIO not required for Cubieboard2.
sys/arm/allwinner/a10_codec.c | ||
---|---|---|
781 | 24.576MHz? |
sys/arm/allwinner/a10_codec.c | ||
---|---|---|
781 | A20 datasheet says audio_clk can be either 24.576 or 22.5792 MHz. Most audio sampling rates are supported with audio_pll at 24.576, with the exception of 44.1kHz/22.05kHz/11.025kHz. Since both input and output use the same clock source and we want to support full duplex operation, the driver always sets audio_pll to 24.576 and doesn't support the 44.1kHz/22.05kHz/11.025kHz sampling rates natively. |
sys/arm/allwinner/a10_codec.c | ||
---|---|---|
781 | Ok, it would be useful to add this information to a comment. |
sys/arm/allwinner/a10_codec.c | ||
---|---|---|
781 | There's a note about the supported audio pll rates in a10_clk.c and the decision to use only 24.576MHz on line 607. No harm in adding a summary here though, I'll update the patch. |
sys/boot/fdt/dts/arm/cubieboard2.dts | ||
---|---|---|
77–80 | I'm getting a conflict here, can you update for the new dts. |
- Fix cubieboard2.dts merge issue (codec is now enabled in sun7i-a20-cubieboard.dts)
- include <arm/allwinner/a10_clk.h> instead of "a10_clk.h"
- Add DRQ types for A10 (same as A20)
Kostik, what does Bruce say about proper SYSCTL style? Is the CTLFLAG_RW supposed to be on the first line and the indentation of the continuation lines four spaces? (Currently, the new SYSCTL's are following the style of the existing ones in this file.)