Allwinner sunxi legacy SoC clock controllers (A10/A13/A20/A31/A80)
Clock controller support for the early-2010s Allwinner sunxi family of ARM SoCs — the A10, A13, A20, A23, A31, and A80 — which powered cheap Android tablets, TV boxes, and single-board computers like the Cubieboard, pcDuino, and Olimex OLinuXino. It feeds gated, divided, and PLL-derived clocks to the rest of those chips' on-die peripherals using the original device-tree bindings from that era.
recommendation
It should stay because it is explicitly the legacy compatibility layer for older 32-bit Allwinner device trees, and boards built on the A20 (notably Olimex's industrial-temperature OLinuXino LIME2) are still sold new in 2025. Newer Allwinner SoCs have already moved to the actively developed sunxi-ng (CCU) clock driver, and mainline restricted this code to 32-bit ARM in 2022 and was still receiving small fixes in 2025, so the right move is to keep it but clearly label it as the frozen legacy path.
repository signals
sources
- git.kernel.org
Kconfig describes this directory as 'Legacy clock support for Allwinner SoCs' and says newer DTs/newer SoCs use CONFIG_SUNXI_CCU instead.
- git.kernel.org
Mainline saw a substantive 2025 change: 'clk: sunxi: Do not enable by default during compile testing'.
- git.kernel.org
Mainline explicitly constrained the driver to 32-bit ARM in 2022: 'clk: sunxi: Limit legacy clocks to 32-bit ARM'.
- olimex.com
A20-based OLinuXino LIME2 boards were listed in stock, including industrial-temperature variants, indicating ongoing niche new-hardware availability.
- en.wikipedia.org
The cited legacy A10/A20/A31 generation was primarily associated with early-2010s tablets, TV boxes, and SBCs rather than current mainstream designs.
codex reasoning notes (technical)
Not removable today: local `sed` on Kconfig shows this is legacy/backward-compatibility support, not dead code, and local `git log --all --no-merges -- drivers/clk/sunxi` showed real upstream touches through 2025 even if volume is low. No removal discussion was confirmed: `lore_file_timeline` on the directory path returned no hits and a removal-focused `lore_regex` timed out, so I did not treat that as evidence of an active removal series. `git.kernel.org` URLs are canonical-recall URLs built from locally observed paths/commit IDs; Olimex and Wikipedia URLs were obtained via web search. Recommendation is `keep-annotate` because the code is explicitly legacy, bounded to old 32-bit sunxi DT bindings, but still has niche in-field/new industrial A20 deployments and an upstream-maintained migration path for newer platforms in `drivers/clk/sunxi-ng`.