1*b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*b97ee269SEmmanuel Vadot# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries 3*b97ee269SEmmanuel Vadot%YAML 1.2 4*b97ee269SEmmanuel Vadot--- 5*b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/atmel,sama5d2-i2s.yaml# 6*b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 7*b97ee269SEmmanuel Vadot 8*b97ee269SEmmanuel Vadottitle: Atmel I2S controller 9*b97ee269SEmmanuel Vadot 10*b97ee269SEmmanuel Vadotmaintainers: 11*b97ee269SEmmanuel Vadot - Nicolas Ferre <nicolas.ferre@microchip.com> 12*b97ee269SEmmanuel Vadot - Alexandre Belloni <alexandre.belloni@bootlin.com> 13*b97ee269SEmmanuel Vadot - Claudiu Beznea <claudiu.beznea@microchip.com> 14*b97ee269SEmmanuel Vadot 15*b97ee269SEmmanuel Vadotdescription: 16*b97ee269SEmmanuel Vadot Atmel I2S (Inter-IC Sound Controller) bus is the standard 17*b97ee269SEmmanuel Vadot interface for connecting audio devices, such as audio codecs. 18*b97ee269SEmmanuel Vadot 19*b97ee269SEmmanuel Vadotproperties: 20*b97ee269SEmmanuel Vadot compatible: 21*b97ee269SEmmanuel Vadot const: atmel,sama5d2-i2s 22*b97ee269SEmmanuel Vadot 23*b97ee269SEmmanuel Vadot reg: 24*b97ee269SEmmanuel Vadot maxItems: 1 25*b97ee269SEmmanuel Vadot 26*b97ee269SEmmanuel Vadot interrupts: 27*b97ee269SEmmanuel Vadot maxItems: 1 28*b97ee269SEmmanuel Vadot 29*b97ee269SEmmanuel Vadot clocks: 30*b97ee269SEmmanuel Vadot items: 31*b97ee269SEmmanuel Vadot - description: Peripheral clock 32*b97ee269SEmmanuel Vadot - description: Generated clock (Optional) 33*b97ee269SEmmanuel Vadot - description: I2S mux clock (Optional). Set 34*b97ee269SEmmanuel Vadot with gclk when Master Mode is required. 35*b97ee269SEmmanuel Vadot minItems: 1 36*b97ee269SEmmanuel Vadot 37*b97ee269SEmmanuel Vadot clock-names: 38*b97ee269SEmmanuel Vadot items: 39*b97ee269SEmmanuel Vadot - const: pclk 40*b97ee269SEmmanuel Vadot - const: gclk 41*b97ee269SEmmanuel Vadot - const: muxclk 42*b97ee269SEmmanuel Vadot minItems: 1 43*b97ee269SEmmanuel Vadot 44*b97ee269SEmmanuel Vadot dmas: 45*b97ee269SEmmanuel Vadot items: 46*b97ee269SEmmanuel Vadot - description: TX DMA Channel 47*b97ee269SEmmanuel Vadot - description: RX DMA Channel 48*b97ee269SEmmanuel Vadot 49*b97ee269SEmmanuel Vadot dma-names: 50*b97ee269SEmmanuel Vadot items: 51*b97ee269SEmmanuel Vadot - const: tx 52*b97ee269SEmmanuel Vadot - const: rx 53*b97ee269SEmmanuel Vadot 54*b97ee269SEmmanuel Vadotrequired: 55*b97ee269SEmmanuel Vadot - compatible 56*b97ee269SEmmanuel Vadot - reg 57*b97ee269SEmmanuel Vadot - interrupts 58*b97ee269SEmmanuel Vadot - dmas 59*b97ee269SEmmanuel Vadot - dma-names 60*b97ee269SEmmanuel Vadot - clocks 61*b97ee269SEmmanuel Vadot - clock-names 62*b97ee269SEmmanuel Vadot 63*b97ee269SEmmanuel VadotadditionalProperties: false 64*b97ee269SEmmanuel Vadot 65*b97ee269SEmmanuel Vadotexamples: 66*b97ee269SEmmanuel Vadot - | 67*b97ee269SEmmanuel Vadot #include <dt-bindings/dma/at91.h> 68*b97ee269SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 69*b97ee269SEmmanuel Vadot 70*b97ee269SEmmanuel Vadot i2s@f8050000 { 71*b97ee269SEmmanuel Vadot compatible = "atmel,sama5d2-i2s"; 72*b97ee269SEmmanuel Vadot reg = <0xf8050000 0x300>; 73*b97ee269SEmmanuel Vadot interrupts = <54 IRQ_TYPE_LEVEL_HIGH 7>; 74*b97ee269SEmmanuel Vadot dmas = <&dma0 75*b97ee269SEmmanuel Vadot (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 76*b97ee269SEmmanuel Vadot AT91_XDMAC_DT_PERID(31))>, 77*b97ee269SEmmanuel Vadot <&dma0 78*b97ee269SEmmanuel Vadot (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | 79*b97ee269SEmmanuel Vadot AT91_XDMAC_DT_PERID(32))>; 80*b97ee269SEmmanuel Vadot dma-names = "tx", "rx"; 81*b97ee269SEmmanuel Vadot clocks = <&i2s0_clk>, <&i2s0_gclk>, <&i2s0muxck>; 82*b97ee269SEmmanuel Vadot clock-names = "pclk", "gclk", "muxclk"; 83*b97ee269SEmmanuel Vadot pinctrl-names = "default"; 84*b97ee269SEmmanuel Vadot pinctrl-0 = <&pinctrl_i2s0_default>; 85*b97ee269SEmmanuel Vadot }; 86