1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-i2s.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 77ef62cebSEmmanuel Vadottitle: Allwinner A10 I2S Controller 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - Chen-Yu Tsai <wens@csie.org> 11c66ec88fSEmmanuel Vadot - Maxime Ripard <mripard@kernel.org> 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadotproperties: 14c66ec88fSEmmanuel Vadot "#sound-dai-cells": 15c66ec88fSEmmanuel Vadot const: 0 16c66ec88fSEmmanuel Vadot 17c66ec88fSEmmanuel Vadot compatible: 18c66ec88fSEmmanuel Vadot oneOf: 19c66ec88fSEmmanuel Vadot - const: allwinner,sun4i-a10-i2s 20c66ec88fSEmmanuel Vadot - const: allwinner,sun6i-a31-i2s 21c66ec88fSEmmanuel Vadot - const: allwinner,sun8i-a83t-i2s 22c66ec88fSEmmanuel Vadot - const: allwinner,sun8i-h3-i2s 235956d97fSEmmanuel Vadot - items: 248cc087a1SEmmanuel Vadot - const: allwinner,sun8i-r40-i2s 258cc087a1SEmmanuel Vadot - const: allwinner,sun8i-h3-i2s 268cc087a1SEmmanuel Vadot - items: 275956d97fSEmmanuel Vadot - const: allwinner,sun8i-v3-i2s 285956d97fSEmmanuel Vadot - const: allwinner,sun8i-h3-i2s 29c66ec88fSEmmanuel Vadot - const: allwinner,sun50i-a64-codec-i2s 30c66ec88fSEmmanuel Vadot - items: 31c66ec88fSEmmanuel Vadot - const: allwinner,sun50i-a64-i2s 32c66ec88fSEmmanuel Vadot - const: allwinner,sun8i-h3-i2s 335def4c47SEmmanuel Vadot - const: allwinner,sun50i-h6-i2s 34c9ccf3a3SEmmanuel Vadot - const: allwinner,sun50i-r329-i2s 35c9ccf3a3SEmmanuel Vadot - items: 36c9ccf3a3SEmmanuel Vadot - const: allwinner,sun20i-d1-i2s 37c9ccf3a3SEmmanuel Vadot - const: allwinner,sun50i-r329-i2s 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot reg: 40c66ec88fSEmmanuel Vadot maxItems: 1 41c66ec88fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot interrupts: 43c66ec88fSEmmanuel Vadot maxItems: 1 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot clocks: 46c66ec88fSEmmanuel Vadot items: 47c66ec88fSEmmanuel Vadot - description: Bus Clock 48c66ec88fSEmmanuel Vadot - description: Module Clock 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot clock-names: 51c66ec88fSEmmanuel Vadot items: 52c66ec88fSEmmanuel Vadot - const: apb 53c66ec88fSEmmanuel Vadot - const: mod 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot # Even though it only applies to subschemas under the conditionals, 56c66ec88fSEmmanuel Vadot # not listing them here will trigger a warning because of the 57c66ec88fSEmmanuel Vadot # additionalsProperties set to false. 58c66ec88fSEmmanuel Vadot dmas: true 59c66ec88fSEmmanuel Vadot dma-names: true 60c66ec88fSEmmanuel Vadot resets: 61c66ec88fSEmmanuel Vadot maxItems: 1 62c66ec88fSEmmanuel Vadot 63c66ec88fSEmmanuel VadotallOf: 64*8bab661aSEmmanuel Vadot - $ref: dai-common.yaml# 65c66ec88fSEmmanuel Vadot - if: 66c66ec88fSEmmanuel Vadot properties: 67c66ec88fSEmmanuel Vadot compatible: 68c66ec88fSEmmanuel Vadot contains: 69c66ec88fSEmmanuel Vadot enum: 70c66ec88fSEmmanuel Vadot - allwinner,sun6i-a31-i2s 71c66ec88fSEmmanuel Vadot - allwinner,sun8i-a83t-i2s 72c66ec88fSEmmanuel Vadot - allwinner,sun8i-h3-i2s 73c66ec88fSEmmanuel Vadot - allwinner,sun50i-a64-codec-i2s 745def4c47SEmmanuel Vadot - allwinner,sun50i-h6-i2s 75c9ccf3a3SEmmanuel Vadot - allwinner,sun50i-r329-i2s 76c66ec88fSEmmanuel Vadot 77c66ec88fSEmmanuel Vadot then: 78c66ec88fSEmmanuel Vadot required: 79c66ec88fSEmmanuel Vadot - resets 80c66ec88fSEmmanuel Vadot 81c66ec88fSEmmanuel Vadot - if: 82c66ec88fSEmmanuel Vadot properties: 83c66ec88fSEmmanuel Vadot compatible: 84c66ec88fSEmmanuel Vadot contains: 855def4c47SEmmanuel Vadot enum: 865def4c47SEmmanuel Vadot - allwinner,sun8i-a83t-i2s 875def4c47SEmmanuel Vadot - allwinner,sun8i-h3-i2s 88c66ec88fSEmmanuel Vadot 89c66ec88fSEmmanuel Vadot then: 90c66ec88fSEmmanuel Vadot properties: 91c66ec88fSEmmanuel Vadot dmas: 92c66ec88fSEmmanuel Vadot minItems: 1 93c66ec88fSEmmanuel Vadot items: 94c66ec88fSEmmanuel Vadot - description: RX DMA Channel 95c66ec88fSEmmanuel Vadot - description: TX DMA Channel 96c66ec88fSEmmanuel Vadot description: 97c66ec88fSEmmanuel Vadot Some controllers cannot receive but can only transmit 98c66ec88fSEmmanuel Vadot data. In such a case, the RX DMA channel is to be omitted. 99c66ec88fSEmmanuel Vadot 100c66ec88fSEmmanuel Vadot dma-names: 101c66ec88fSEmmanuel Vadot oneOf: 102c66ec88fSEmmanuel Vadot - items: 103c66ec88fSEmmanuel Vadot - const: rx 104c66ec88fSEmmanuel Vadot - const: tx 105c66ec88fSEmmanuel Vadot - const: tx 106c66ec88fSEmmanuel Vadot description: 107c66ec88fSEmmanuel Vadot Some controllers cannot receive but can only transmit 108c66ec88fSEmmanuel Vadot data. In such a case, the RX name is to be omitted. 109c66ec88fSEmmanuel Vadot 110c66ec88fSEmmanuel Vadot else: 111c66ec88fSEmmanuel Vadot properties: 112c66ec88fSEmmanuel Vadot dmas: 113c66ec88fSEmmanuel Vadot items: 114c66ec88fSEmmanuel Vadot - description: RX DMA Channel 115c66ec88fSEmmanuel Vadot - description: TX DMA Channel 116c66ec88fSEmmanuel Vadot 117c66ec88fSEmmanuel Vadot dma-names: 118c66ec88fSEmmanuel Vadot items: 119c66ec88fSEmmanuel Vadot - const: rx 120c66ec88fSEmmanuel Vadot - const: tx 121c66ec88fSEmmanuel Vadot 122c66ec88fSEmmanuel Vadotrequired: 123c66ec88fSEmmanuel Vadot - "#sound-dai-cells" 124c66ec88fSEmmanuel Vadot - compatible 125c66ec88fSEmmanuel Vadot - reg 126c66ec88fSEmmanuel Vadot - interrupts 127c66ec88fSEmmanuel Vadot - clocks 128c66ec88fSEmmanuel Vadot - clock-names 129c66ec88fSEmmanuel Vadot - dmas 130c66ec88fSEmmanuel Vadot - dma-names 131c66ec88fSEmmanuel Vadot 132*8bab661aSEmmanuel VadotunevaluatedProperties: false 133c66ec88fSEmmanuel Vadot 134c66ec88fSEmmanuel Vadotexamples: 135c66ec88fSEmmanuel Vadot - | 136c66ec88fSEmmanuel Vadot i2s0: i2s@1c22400 { 137c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 138c66ec88fSEmmanuel Vadot compatible = "allwinner,sun4i-a10-i2s"; 139c66ec88fSEmmanuel Vadot reg = <0x01c22400 0x400>; 140c66ec88fSEmmanuel Vadot interrupts = <0 16 4>; 141c66ec88fSEmmanuel Vadot clocks = <&apb0_gates 3>, <&i2s0_clk>; 142c66ec88fSEmmanuel Vadot clock-names = "apb", "mod"; 143c66ec88fSEmmanuel Vadot dmas = <&dma 0 3>, <&dma 0 3>; 144c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 145c66ec88fSEmmanuel Vadot }; 146c66ec88fSEmmanuel Vadot 147c66ec88fSEmmanuel Vadot... 148