]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ASoC: sophgo: add CV1800 I2S controllers support
authorMark Brown <broonie@kernel.org>
Wed, 28 Jan 2026 01:22:16 +0000 (01:22 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 28 Jan 2026 01:22:16 +0000 (01:22 +0000)
commit75ca86026b891c21d656dda38c3e7ae6a848b440
tree698744b8036ac4da7e24b6ecd582d81c60289376
parentb4ee17729a11f13fbb15cd1fb54549642cd1c44c
parent8cf19b19dba8814ccc8b1179dabf28b7f8eefc22
ASoC: sophgo: add CV1800 I2S controllers support

Merge series from "Anton D. Stavinskii" <stavinsky@gmail.com>:

This patch series adds basic audio support for Sophgo CV1800B,
as used on boards such as the Milk-V Duo.
The series introduces the I2S controller driver,
the DAC and ADC codec drivers, corresponding DT bindings,
and DTS updates to wire the components together.

The implementation is based on vendor documentation
and testing on real hardware.  This series relies on
recent fixes in the DesignWare AXI DMA support;
in particular, correct operation depends on
the DMA changes discussed at:
https://lore.kernel.org/all/20251214224601.598358-1-inochiama@gmail.com/
The current driver implementation supports a fixed audio configuration
of 48 kHz sample rate and only I2S protocol which is used in codecs.
The series has been tested on the Milk-V Duo 256M board using
the Sophgo SG2002 SoC. The implementation is expected to also work on
Milk-V Duo and Milk-V Module boards based on the SG2000 SoC,
as the audio and DMA blocks are closely related.

Known hardware limitation:
On CV1800B / SG2002, the I2S2 output pins cannot be enabled via
pinctrl alone.  Due to SoC design constraints, the output path becomes
functional only after additional vendor-specific register programming.
This series makes the limitation explicit and does not attempt
to work around it implicitly via pinctrl or undocumented behavior.