1*c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2*c66ec88fSEmmanuel Vadot%YAML 1.2 3*c66ec88fSEmmanuel Vadot--- 4*c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-spdif.yaml# 5*c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel Vadottitle: Allwinner A10 S/PDIF Controller Device Tree Bindings 8*c66ec88fSEmmanuel Vadot 9*c66ec88fSEmmanuel Vadotmaintainers: 10*c66ec88fSEmmanuel Vadot - Chen-Yu Tsai <wens@csie.org> 11*c66ec88fSEmmanuel Vadot - Liam Girdwood <lgirdwood@gmail.com> 12*c66ec88fSEmmanuel Vadot - Mark Brown <broonie@kernel.org> 13*c66ec88fSEmmanuel Vadot - Maxime Ripard <mripard@kernel.org> 14*c66ec88fSEmmanuel Vadot 15*c66ec88fSEmmanuel Vadotproperties: 16*c66ec88fSEmmanuel Vadot "#sound-dai-cells": 17*c66ec88fSEmmanuel Vadot const: 0 18*c66ec88fSEmmanuel Vadot 19*c66ec88fSEmmanuel Vadot compatible: 20*c66ec88fSEmmanuel Vadot oneOf: 21*c66ec88fSEmmanuel Vadot - const: allwinner,sun4i-a10-spdif 22*c66ec88fSEmmanuel Vadot - const: allwinner,sun6i-a31-spdif 23*c66ec88fSEmmanuel Vadot - const: allwinner,sun8i-h3-spdif 24*c66ec88fSEmmanuel Vadot - const: allwinner,sun50i-h6-spdif 25*c66ec88fSEmmanuel Vadot - items: 26*c66ec88fSEmmanuel Vadot - const: allwinner,sun8i-a83t-spdif 27*c66ec88fSEmmanuel Vadot - const: allwinner,sun8i-h3-spdif 28*c66ec88fSEmmanuel Vadot - items: 29*c66ec88fSEmmanuel Vadot - const: allwinner,sun50i-a64-spdif 30*c66ec88fSEmmanuel Vadot - const: allwinner,sun8i-h3-spdif 31*c66ec88fSEmmanuel Vadot 32*c66ec88fSEmmanuel Vadot reg: 33*c66ec88fSEmmanuel Vadot maxItems: 1 34*c66ec88fSEmmanuel Vadot 35*c66ec88fSEmmanuel Vadot interrupts: 36*c66ec88fSEmmanuel Vadot maxItems: 1 37*c66ec88fSEmmanuel Vadot 38*c66ec88fSEmmanuel Vadot clocks: 39*c66ec88fSEmmanuel Vadot items: 40*c66ec88fSEmmanuel Vadot - description: Bus Clock 41*c66ec88fSEmmanuel Vadot - description: Module Clock 42*c66ec88fSEmmanuel Vadot 43*c66ec88fSEmmanuel Vadot clock-names: 44*c66ec88fSEmmanuel Vadot items: 45*c66ec88fSEmmanuel Vadot - const: apb 46*c66ec88fSEmmanuel Vadot - const: spdif 47*c66ec88fSEmmanuel Vadot 48*c66ec88fSEmmanuel Vadot # Even though it only applies to subschemas under the conditionals, 49*c66ec88fSEmmanuel Vadot # not listing them here will trigger a warning because of the 50*c66ec88fSEmmanuel Vadot # additionalsProperties set to false. 51*c66ec88fSEmmanuel Vadot dmas: true 52*c66ec88fSEmmanuel Vadot dma-names: true 53*c66ec88fSEmmanuel Vadot resets: 54*c66ec88fSEmmanuel Vadot maxItems: 1 55*c66ec88fSEmmanuel Vadot 56*c66ec88fSEmmanuel VadotallOf: 57*c66ec88fSEmmanuel Vadot - if: 58*c66ec88fSEmmanuel Vadot properties: 59*c66ec88fSEmmanuel Vadot compatible: 60*c66ec88fSEmmanuel Vadot contains: 61*c66ec88fSEmmanuel Vadot enum: 62*c66ec88fSEmmanuel Vadot - allwinner,sun6i-a31-spdif 63*c66ec88fSEmmanuel Vadot - allwinner,sun8i-h3-spdif 64*c66ec88fSEmmanuel Vadot 65*c66ec88fSEmmanuel Vadot then: 66*c66ec88fSEmmanuel Vadot required: 67*c66ec88fSEmmanuel Vadot - resets 68*c66ec88fSEmmanuel Vadot 69*c66ec88fSEmmanuel Vadot - if: 70*c66ec88fSEmmanuel Vadot properties: 71*c66ec88fSEmmanuel Vadot compatible: 72*c66ec88fSEmmanuel Vadot contains: 73*c66ec88fSEmmanuel Vadot enum: 74*c66ec88fSEmmanuel Vadot - allwinner,sun8i-h3-spdif 75*c66ec88fSEmmanuel Vadot - allwinner,sun50i-h6-spdif 76*c66ec88fSEmmanuel Vadot 77*c66ec88fSEmmanuel Vadot then: 78*c66ec88fSEmmanuel Vadot properties: 79*c66ec88fSEmmanuel Vadot dmas: 80*c66ec88fSEmmanuel Vadot description: TX DMA Channel 81*c66ec88fSEmmanuel Vadot 82*c66ec88fSEmmanuel Vadot dma-names: 83*c66ec88fSEmmanuel Vadot const: tx 84*c66ec88fSEmmanuel Vadot 85*c66ec88fSEmmanuel Vadot else: 86*c66ec88fSEmmanuel Vadot properties: 87*c66ec88fSEmmanuel Vadot dmas: 88*c66ec88fSEmmanuel Vadot items: 89*c66ec88fSEmmanuel Vadot - description: RX DMA Channel 90*c66ec88fSEmmanuel Vadot - description: TX DMA Channel 91*c66ec88fSEmmanuel Vadot 92*c66ec88fSEmmanuel Vadot dma-names: 93*c66ec88fSEmmanuel Vadot items: 94*c66ec88fSEmmanuel Vadot - const: rx 95*c66ec88fSEmmanuel Vadot - const: tx 96*c66ec88fSEmmanuel Vadot 97*c66ec88fSEmmanuel Vadotrequired: 98*c66ec88fSEmmanuel Vadot - "#sound-dai-cells" 99*c66ec88fSEmmanuel Vadot - compatible 100*c66ec88fSEmmanuel Vadot - reg 101*c66ec88fSEmmanuel Vadot - interrupts 102*c66ec88fSEmmanuel Vadot - clocks 103*c66ec88fSEmmanuel Vadot - clock-names 104*c66ec88fSEmmanuel Vadot - dmas 105*c66ec88fSEmmanuel Vadot - dma-names 106*c66ec88fSEmmanuel Vadot 107*c66ec88fSEmmanuel VadotadditionalProperties: false 108*c66ec88fSEmmanuel Vadot 109*c66ec88fSEmmanuel Vadotexamples: 110*c66ec88fSEmmanuel Vadot - | 111*c66ec88fSEmmanuel Vadot spdif: spdif@1c21000 { 112*c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 113*c66ec88fSEmmanuel Vadot compatible = "allwinner,sun4i-a10-spdif"; 114*c66ec88fSEmmanuel Vadot reg = <0x01c21000 0x40>; 115*c66ec88fSEmmanuel Vadot interrupts = <13>; 116*c66ec88fSEmmanuel Vadot clocks = <&apb0_gates 1>, <&spdif_clk>; 117*c66ec88fSEmmanuel Vadot clock-names = "apb", "spdif"; 118*c66ec88fSEmmanuel Vadot dmas = <&dma 0 2>, <&dma 0 2>; 119*c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 120*c66ec88fSEmmanuel Vadot }; 121*c66ec88fSEmmanuel Vadot 122*c66ec88fSEmmanuel Vadot... 123