public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] ASoC: sophgo: add CV1800 AIAO mux and I2S support
@ 2026-01-15 19:17 Anton D. Stavinskii
  2026-01-15 19:17 ` [PATCH 1/8] dt-bindings: sound: sophgo: add CV1800B I2S/TDM controller binding Anton D. Stavinskii
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Anton D. Stavinskii @ 2026-01-15 19:17 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Chen Wang, Inochi Amaoto, Jaroslav Kysela,
	Takashi Iwai, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti
  Cc: linux-sound, devicetree, sophgo, linux-kernel, linux-riscv,
	Anton D. Stavinskii

This patch series adds basic audio support for Sophgo CV1800B, 
as used on boards such as the Milk-V Duo. 
The series introduces an AIAO audio mux driver, 
an I2S controller driver, 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.  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.

Signed-off-by: Anton D. Stavinskii <stavinsky@gmail.com>
---
Anton D. Stavinskii (8):
      dt-bindings: sound: sophgo: add CV1800B I2S/TDM controller binding
      ASoC: sophgo: add CV1800B I2S/TDM controller driver
      dt-bindings: sound: sophgo: add CV1800B internal ADC codec
      ASoC: sophgo: add CV1800B internal ADC codec driver
      dt-bindings: sound: sophgo: add CV1800B internal DAC codec
      ASoC: sophgo: add CV1800B internal DAC codec driver
      riscv: dts: sophgo: dts nodes for i2s tdm modules
      riscv: dts: sophgo: add Milk-V Duo 256M board dts

 .../bindings/sound/sophgo,cv1800b-i2s.yaml         |  75 +++
 .../bindings/sound/sophgo,cv1800b-sound-adc.yaml   |  43 ++
 .../bindings/sound/sophgo,cv1800b-sound-dac.yaml   |  43 ++
 arch/riscv/boot/dts/sophgo/Makefile                |   1 +
 arch/riscv/boot/dts/sophgo/cv180x-dmamux.h         |  57 ++
 arch/riscv/boot/dts/sophgo/cv180x.dtsi             |  49 ++
 .../boot/dts/sophgo/sg2002-milkv-duo-256m.dts      | 231 +++++++
 sound/soc/Kconfig                                  |   1 +
 sound/soc/Makefile                                 |   1 +
 sound/soc/sophgo/Kconfig                           |  41 ++
 sound/soc/sophgo/Makefile                          |   5 +
 sound/soc/sophgo/cv1800b-sound-adc.c               | 322 ++++++++++
 sound/soc/sophgo/cv1800b-sound-dac.c               | 204 ++++++
 sound/soc/sophgo/cv1800b-tdm.c                     | 714 +++++++++++++++++++++
 14 files changed, 1787 insertions(+)
---
base-commit: 7a52965b6976c936f413eebeee3f78c6faf09012
change-id: 20260115-cv1800b-i2s-driver-4f17836dec56

Best regards,
-- 
Anton D. Stavinskii <stavinsky@gmail.com>


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2026-01-21 16:52 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-15 19:17 [PATCH 0/8] ASoC: sophgo: add CV1800 AIAO mux and I2S support Anton D. Stavinskii
2026-01-15 19:17 ` [PATCH 1/8] dt-bindings: sound: sophgo: add CV1800B I2S/TDM controller binding Anton D. Stavinskii
2026-01-21 16:32   ` Rob Herring
2026-01-21 16:52     ` Anton D. Stavinskii
2026-01-15 19:17 ` [PATCH 2/8] ASoC: sophgo: add CV1800B I2S/TDM controller driver Anton D. Stavinskii
2026-01-15 19:17 ` [PATCH 3/8] dt-bindings: sound: sophgo: add CV1800B internal ADC codec Anton D. Stavinskii
2026-01-15 19:17 ` [PATCH 4/8] ASoC: sophgo: add CV1800B internal ADC codec driver Anton D. Stavinskii
2026-01-15 19:17 ` [PATCH 5/8] dt-bindings: sound: sophgo: add CV1800B internal DAC codec Anton D. Stavinskii
2026-01-15 19:17 ` [PATCH 6/8] ASoC: sophgo: add CV1800B internal DAC codec driver Anton D. Stavinskii
2026-01-15 19:17 ` [PATCH 7/8] riscv: dts: sophgo: dts nodes for i2s tdm modules Anton D. Stavinskii
2026-01-15 19:17 ` [PATCH 8/8] riscv: dts: sophgo: add Milk-V Duo 256M board dts Anton D. Stavinskii
2026-01-15 23:35   ` Inochi Amaoto
2026-01-15 23:34 ` [PATCH 0/8] ASoC: sophgo: add CV1800 AIAO mux and I2S support Inochi Amaoto
2026-01-16 17:25   ` Anton D. Stavinskii
2026-01-17  0:29     ` Inochi Amaoto

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox