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 Not Applicable - Unit
Tests Not Applicable
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 | ||
---|---|---|
780 ↗ | (On Diff #13060) | 24.576MHz? |
sys/arm/allwinner/a10_codec.c | ||
---|---|---|
780 ↗ | (On Diff #13060) | 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 | ||
---|---|---|
780 ↗ | (On Diff #13060) | Ok, it would be useful to add this information to a comment. |
sys/arm/allwinner/a10_codec.c | ||
---|---|---|
780 ↗ | (On Diff #13060) | 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 ↗ | (On Diff #13270) | 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)