[PATCH 4/7] ASoC: dt-bindings: add SpacemiT K3 SoC compatible

Troy Mitchell
2026-04-29T01:39:17Z

Add the spacemit,k3-i2s compatible string for the K3 SoC I2S
controller. The K3 I2S IP is the same as K1 but requires additional
clocks: sysclk_div, common_sysclk, and common_bclk. These common
clocks are shared across multiple I2S controllers on K3.

Also add the spacemit,fixed-sample-rate property which constrains
the sample rate when multiple I2S controllers share a common bclk.

Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>
---
.../devicetree/bindings/sound/spacemit,k1-i2s.yaml | 31 ++++++++++++++++++++--
1 file changed, 29 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/sound/spacemit,k1-i2s.yaml b/Documentation/devicetree/bindings/sound/spacemit,k1-i2s.yaml
index 55bd0b307d22..240d90402e4f 100644
--- a/Documentation/devicetree/bindings/sound/spacemit,k1-i2s.yaml
+++ b/Documentation/devicetree/bindings/sound/spacemit,k1-i2s.yaml
@@ -4,7 +4,7 @@
$id: http://devicetree.org/schemas/sound/spacemit,k1-i2s.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

-title: K1 I2S controller
+title: SpacemiT K1/K3 I2S controller

description:
The I2S bus (Inter-IC sound bus) is a serial link for digital
@@ -15,27 +15,54 @@ maintainers:

allOf:
- $ref: dai-common.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: spacemit,k3-i2s
+ then:
+ properties:
+ clocks:
+ minItems: 7
+ clock-names:
+ minItems: 7
+ else:
+ properties:
+ clocks:
+ maxItems: 4
+ clock-names:
+ maxItems: 4

properties:
compatible:
- const: spacemit,k1-i2s
+ enum:
+ - spacemit,k1-i2s
+ - spacemit,k3-i2s

reg:
maxItems: 1

clocks:
+ minItems: 4
items:
- description: clock for I2S sysclk
- description: clock for I2S bclk
- description: clock for I2S bus
- description: clock for I2S controller
+ - description: clock for I2S sysclk divider
+ - description: clock for I2S common sysclk
+ - description: clock for I2S common bclk

clock-names:
+ minItems: 4
items:
- const: sysclk
- const: bclk
- const: bus
- const: func
+ - const: sysclk_div
+ - const: c_sysclk
+ - const: c_bclk

dmas:
minItems: 1

--
2.54.0