Audio: AC100 analog codec driver #41
Labels
No labels
blocked-physical
cleanup
hardware
infra
kernel
P1-critical
P2-high
P3-normal
P4-later
reliability
security
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
tiagoagueda/a80#41
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Split out of #23, which is otherwise resolved.
The X-Powers AC100's codec half has no ASoC driver anywhere in mainline. The MFD already
instantiates the cell —
of_compatible = "x-powers,ac100-codec"— so a driver would bindwith no MFD change.
Reference exists and is GPLv2: the vendor's
sound/soc/codecs/ac100.c, 5515 lines, withdepends on ARCH_SUN9IW1 && MFD_AC100, so it is A80-specific rather than generic sunxi code.What makes this large rather than small:
0x06002000, andsun4i-i2shas no sun9i variant — sothis is genuinely two drivers
audio_pa_ctrlon PL01, which the fex claims threetimes (
led1,audio_pa_ctrl,s_uart_rx). Driving an amplifier enable on a guess is abad trade; see 39-ir-and-leds.md
Not needed for the headless role. S/PDIF works and is the appliance-appropriate output.
This is here so the scope is recorded, not because it is on the path.
See 43-audio-and-dma.md.
Confirmed against the mirror, and the scope is exactly as this issue states.
The Sunchip CX-A99 mainline support table lists the AC100 as three separate pieces:
mfd/ac100.cx-powers,ac100rtc/rtc-ac100.cx-powers,ac100-rtcx-powers,ac100-codecSo the MFD and RTC halves are upstream and only the codec is missing - which is what this issue
says - and the device-tree compatible string to target is already reserved:
x-powers,ac100-codec.Linux mainlining historycorroborates it: the AC100 mfd and RTCdrivers landed together with the AXP806 work for the Cubietruck Plus and the A83T dev board, and
no codec followed.
That is worth knowing before starting, because it means a codec driver should bind to the
existing MFD rather than being a standalone device, and the binding name is not ours to choose.
It also means this is not A80-specific work: the same codec sits on A83T and A64 boards, so a
driver has more than one user and a better case upstream than most of what is in this tracker.
From a deep pass over the offline linux-sunxi.org mirror (
a80/linux-sunxi.org/wiki-backup, 4095 pages, snapshot 2026-08-29). linux-sunxi.org content is CC BY-SA; the pages named above are the attribution.