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