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