1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/sound/st,stm32-i2s.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: STMicroelectronics STM32 SPI/I2S Controller 8 9maintainers: 10 - Olivier Moysan <olivier.moysan@foss.st.com> 11 12description: 13 The SPI/I2S block supports I2S/PCM protocols when configured on I2S mode. 14 Only some SPI instances support I2S. 15 16allOf: 17 - $ref: dai-common.yaml# 18 19properties: 20 compatible: 21 enum: 22 - st,stm32h7-i2s 23 24 "#sound-dai-cells": 25 const: 0 26 27 reg: 28 maxItems: 1 29 30 clocks: 31 items: 32 - description: clock feeding the peripheral bus interface. 33 - description: clock feeding the internal clock generator. 34 - description: I2S parent clock for sampling rates multiple of 8kHz. 35 - description: I2S parent clock for sampling rates multiple of 11.025kHz. 36 37 clock-names: 38 items: 39 - const: pclk 40 - const: i2sclk 41 - const: x8k 42 - const: x11k 43 44 interrupts: 45 maxItems: 1 46 47 dmas: 48 items: 49 - description: audio capture DMA. 50 - description: audio playback DMA. 51 52 dma-names: 53 items: 54 - const: rx 55 - const: tx 56 57 resets: 58 maxItems: 1 59 60 "#clock-cells": 61 description: Configure the I2S device as MCLK clock provider. 62 const: 0 63 64required: 65 - compatible 66 - "#sound-dai-cells" 67 - reg 68 - clocks 69 - clock-names 70 - interrupts 71 - dmas 72 - dma-names 73 74unevaluatedProperties: false 75 76examples: 77 - | 78 #include <dt-bindings/interrupt-controller/arm-gic.h> 79 #include <dt-bindings/clock/stm32mp1-clks.h> 80 i2s2: audio-controller@4000b000 { 81 compatible = "st,stm32h7-i2s"; 82 #sound-dai-cells = <0>; 83 reg = <0x4000b000 0x400>; 84 clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>; 85 clock-names = "pclk", "i2sclk", "x8k", "x11k"; 86 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 87 dmas = <&dmamux1 39 0x400 0x01>, 88 <&dmamux1 40 0x400 0x01>; 89 dma-names = "rx", "tx"; 90 pinctrl-names = "default"; 91 pinctrl-0 = <&i2s2_pins_a>; 92 }; 93 94... 95