[PATCH v3 0/9] ASoC: Add Loongson-2K0300 I2S controller and sound card support
From: Binbin Zhou <zhoubinbin@loongson.cn>
Date: 2026-06-26 02:27:20
Also in:
linux-sound, loongarch
Hi all:
This series adds ASoC support for the Loongson-2K0300 SoC and its
associated development boards, including the CTCISZ Forever Pi and the
ATK-DL2K0300B.
Key changes:
- Extend DT bindings to support ls2k0300-i2s and new audio card
compatibles.
- Refactor the platform I2S driver to handle SoC differences via per-device
configuration (rev_id, optional APB DMA config, reset sequence).
- Refactor the audio machine driver to support board-specific DAI formats,
GPIO-based headphone detection/control, speaker enable, and DAPM routing.
- Add jack detection and automatic switching between headphones and
speakers for the DL2K0300B board.
The patchset also cleans up the existing audio card binding by
referencing the common sound-card properties, and adds new compatibles
for the Loongson-2K0300 variants with proper DAI format handling.
All changes have been tested on Loongson-2K2000 (PCI), Loongson-2K0300
Forever Pi and Loongson-2K0300 DL2K0300B boards.
Thanks.
Binbin
========
V3:
Patch (1/9):
- New patch;
- Error handling reported by AI Sashiko;
Patch (3/9):
- Mark platform configuration structures as `const`;
Patch (4/9):
- Add Acked-by tag from Rob, thanks;
Patch (5/9):
- Correct commit message;
Patch (7/9):
- Drop `loongson` prefix;
- Change `gpiod_hp_mute` to `gpiod_hp_ctl`;
Patch (8/9):
- Add `add_dapm_routes` to loongson_card_config;
- Move gpiod* register ops into loongson_card_parse_of();
- Change `gpiod_hp_mute` to `gpiod_hp_ctl`;
- Add `ls_priv->gpiod_hp_det` judgment in loongson_asoc_machine_init()
to avoid double-free;
Patch (9/9):
- New patch;
- Add DAPM routes from MIC inputs to Mic Bias.
Link to V2:
https://lore.kernel.org/all/cover.1780538113.git.zhoubinbin@loongson.cn/ (local)
v2:
- The first four patches for V1 (related to code cleanup) have been
accepted as a separate series. The link is as follows:
https://lore.kernel.org/all/178041371415.93058.4794135670349989571.b4-ty@b4/ (local)
Patch (1/7):
- Add Reviewed-by tag from Krzysztof Kozlowski;
Patch (3/7):
- New patch;
- Reference sound-card-common.yaml, drop custom model property;
Patch (4/7)(5/7):
- New patches;
- Support Forever Pi board with different DAI format;
Patch (6/7)(7/7):
- New patches;
- Implement headphone jack detection and DAPM routing for ATK-DL2K0300B
board.
Link to V1:
https://lore.kernel.org/all/cover.1773107475.git.zhoubinbin@loongson.cn/ (local)
Binbin Zhou (9):
ASoC: loongson: Fix error handling in ACPI property parsing
ASoC: dt-bindings: loongson,ls2k1000-i2s: Document Loongson-2K0300
compatible
ASoC: loongson: Add Loongson-2K0300 I2S controller support
ASoC: dt-bindings: loongson,ls-audio-card: Use common sound card
ASoC: dt-bindings: loongson,ls-audio-card: Add ctcisz forever pi
compatible
ASoC: loongson: Add Loongson-2K0300 CTCISZ Forever Pi sound card
support
ASoC: dt-bindings: loongson,ls-audio-card: Add ATK-DL2K0300B
compatible
ASoC: loongson: Add headphone jack detection and DAPM routing
ASoC: es8328: Add DAPM routes from MIC inputs to Mic Bias
.../sound/loongson,ls-audio-card.yaml | 53 +++++-
.../bindings/sound/loongson,ls2k1000-i2s.yaml | 22 ++-
sound/soc/codecs/es8328.c | 5 +
sound/soc/loongson/loongson_card.c | 171 ++++++++++++++++--
sound/soc/loongson/loongson_i2s_plat.c | 42 ++++-
5 files changed, 267 insertions(+), 26 deletions(-)
--
2.52.0