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