# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/sound/spacemit,k1-i2s.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: SpacemiT K1/K3 I2S controller description: The I2S bus (Inter-IC sound bus) is a serial link for digital audio data transfer between devices in the system. maintainers: - Troy Mitchell allOf: - $ref: dai-common.yaml# - if: properties: compatible: contains: const: spacemit,k3-i2s then: properties: clocks: minItems: 6 clock-names: minItems: 6 else: properties: clocks: maxItems: 4 clock-names: maxItems: 4 properties: compatible: enum: - spacemit,k1-i2s - spacemit,k3-i2s reg: maxItems: 1 clocks: oneOf: - items: - description: clock for I2S sysclk - description: clock for I2S bclk - description: clock for I2S bus - description: clock for I2S controller - 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 common sysclk - description: clock for I2S common bclk - 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: oneOf: - items: - const: sysclk - const: bclk - const: bus - const: func - items: - const: sysclk - const: bclk - const: bus - const: func - const: c_sysclk - const: c_bclk - items: - const: sysclk - const: bclk - const: bus - const: func - const: sysclk_div - const: c_sysclk - const: c_bclk dmas: minItems: 1 maxItems: 2 dma-names: minItems: 1 items: - const: tx - const: rx resets: maxItems: 1 port: $ref: audio-graph-port.yaml# unevaluatedProperties: false "#sound-dai-cells": const: 0 required: - compatible - reg - clocks - clock-names - dmas - dma-names - resets - "#sound-dai-cells" unevaluatedProperties: false examples: - | #include i2s@d4026000 { compatible = "spacemit,k1-i2s"; reg = <0xd4026000 0x30>; clocks = <&syscon_mpmu CLK_I2S_SYSCLK>, <&syscon_mpmu CLK_I2S_BCLK>, <&syscon_apbc CLK_SSPA0_BUS>, <&syscon_apbc CLK_SSPA0>; clock-names = "sysclk", "bclk", "bus", "func"; dmas = <&pdma0 21>, <&pdma0 22>; dma-names = "tx", "rx"; resets = <&syscon_apbc RESET_SSPA0>; #sound-dai-cells = <0>; };