From: Mark Brown Date: Tue, 21 Oct 2025 18:05:24 +0000 (+0100) Subject: ASoC: spacemit: add i2s support to K1 SoC X-Git-Tag: v6.19-rc1~156^2~3^2~98 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c465b1669bfeaaf0ebd504b96d689e2a2810874;p=thirdparty%2Fkernel%2Flinux.git ASoC: spacemit: add i2s support to K1 SoC Merge series from Troy Mitchell : On the K1 SoC, there is a full-duplex I2S controller. The I2S is programmable, with the sample width configurable to 8, 16, 18, or 32 bits. A dedicated FIFO is provided for transmit (TXFIFO) and another for receive (RXFIFO). In non-packed mode, both FIFOs are 32 entries deep and 32 bits wide, giving a total of 32 samples each. The register definitions can be found here[1] Link: https://developer.spacemit.com/documentation?token=Rn9Kw3iFHirAMgkIpTAcV2Arnkf#18.2-spi%2Fi2s [1] Signed-off-by: Troy Mitchell --- Changes in v5: - Patch 1/2: - nothing - Patch 2/2: - dont't read sspsp value in spacemit_i2s_init() - set SSPSP_FSRT bit for DSP_A mode (was missing in previous version) - Link to v4: https://lore.kernel.org/all/20250921-k1-i2s-v4-0-4f819f50e468@linux.spacemit.com/ Changes in v4: - Patch 1/2: - nothing - Patch 2/2: - Only 8k, 16k and 48k rates are supported - Only 16-bit and 32-bit are supported - Use the runtime constraint API instead of modifying dai->driver - Link to v3: https://lore.kernel.org/r/20250911-k1-i2s-v3-0-57f173732f9c@linux.spacemit.com Changes in v3: - Patch 1/2: - simplify dma-names definition - Patch 2/2 - remove empty spacemit_i2s_remove() - move FSRT setup for DSP_A into switch-case in spacemit_i2s_set_fmt() - Link to v2: https://lore.kernel.org/r/20250828-k1-i2s-v2-0-09e7b40f002c@linux.spacemit.com Changes in v2: - Patch 1/2: - modify commit message - remove unused third cell from pdma dmas property - update SPDX license in spacemit,k1-i2s.yaml to (GPL-2.0-only OR BSD-2-Clause) - Patch 2/2: - modify commit message - reset_assert in dai_ops::remove - select CMA and DMA_CMA in Kconfig - use devm_reset_control_get_exclusive - Link to v1: https://lore.kernel.org/r/20250814-k1-i2s-v1-0-c31149b29041@linux.spacemit.com --- Troy Mitchell (2): ASoC: dt-bindings: Add bindings for SpacemiT K1 ASoC: spacemit: add i2s support for K1 SoC .../devicetree/bindings/sound/spacemit,k1-i2s.yaml | 87 ++++ sound/soc/Kconfig | 1 + sound/soc/Makefile | 1 + sound/soc/spacemit/Kconfig | 16 + sound/soc/spacemit/Makefile | 5 + sound/soc/spacemit/k1_i2s.c | 458 +++++++++++++++++++++ 6 files changed, 568 insertions(+) --- base-commit: 4f010aced22532eea2ef0d9a2f5db7c64a196fec change-id: 20250813-k1-i2s-115bf65eaac8 Best regards, -- Troy Mitchell --- 8c465b1669bfeaaf0ebd504b96d689e2a2810874