1506c7f9bSMaxime Ripard# SPDX-License-Identifier: GPL-2.0 2506c7f9bSMaxime Ripard%YAML 1.2 3506c7f9bSMaxime Ripard--- 4506c7f9bSMaxime Ripard$id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-spdif.yaml# 5506c7f9bSMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml# 6506c7f9bSMaxime Ripard 7506c7f9bSMaxime Ripardtitle: Allwinner A10 S/PDIF Controller Device Tree Bindings 8506c7f9bSMaxime Ripard 9506c7f9bSMaxime Ripardmaintainers: 10506c7f9bSMaxime Ripard - Chen-Yu Tsai <wens@csie.org> 11506c7f9bSMaxime Ripard - Liam Girdwood <lgirdwood@gmail.com> 12506c7f9bSMaxime Ripard - Mark Brown <broonie@kernel.org> 13506c7f9bSMaxime Ripard - Maxime Ripard <maxime.ripard@bootlin.com> 14506c7f9bSMaxime Ripard 15506c7f9bSMaxime Ripardproperties: 16506c7f9bSMaxime Ripard "#sound-dai-cells": 17506c7f9bSMaxime Ripard const: 0 18506c7f9bSMaxime Ripard 19506c7f9bSMaxime Ripard compatible: 20506c7f9bSMaxime Ripard oneOf: 21506c7f9bSMaxime Ripard - const: allwinner,sun4i-a10-spdif 22506c7f9bSMaxime Ripard - const: allwinner,sun6i-a31-spdif 23506c7f9bSMaxime Ripard - const: allwinner,sun8i-h3-spdif 24b2045303SClément Péron - const: allwinner,sun50i-h6-spdif 25506c7f9bSMaxime Ripard - items: 26506c7f9bSMaxime Ripard - const: allwinner,sun8i-a83t-spdif 27506c7f9bSMaxime Ripard - const: allwinner,sun8i-h3-spdif 28506c7f9bSMaxime Ripard - items: 29506c7f9bSMaxime Ripard - const: allwinner,sun50i-a64-spdif 30506c7f9bSMaxime Ripard - const: allwinner,sun8i-h3-spdif 31506c7f9bSMaxime Ripard 32506c7f9bSMaxime Ripard reg: 33506c7f9bSMaxime Ripard maxItems: 1 34506c7f9bSMaxime Ripard 35506c7f9bSMaxime Ripard interrupts: 36506c7f9bSMaxime Ripard maxItems: 1 37506c7f9bSMaxime Ripard 38506c7f9bSMaxime Ripard clocks: 39506c7f9bSMaxime Ripard items: 40506c7f9bSMaxime Ripard - description: Bus Clock 41506c7f9bSMaxime Ripard - description: Module Clock 42506c7f9bSMaxime Ripard 43506c7f9bSMaxime Ripard clock-names: 44506c7f9bSMaxime Ripard items: 45506c7f9bSMaxime Ripard - const: apb 46506c7f9bSMaxime Ripard - const: spdif 47506c7f9bSMaxime Ripard 48506c7f9bSMaxime Ripard # Even though it only applies to subschemas under the conditionals, 49506c7f9bSMaxime Ripard # not listing them here will trigger a warning because of the 50506c7f9bSMaxime Ripard # additionalsProperties set to false. 51b1f35dfdSMaxime Ripard dmas: true 52b1f35dfdSMaxime Ripard dma-names: true 53506c7f9bSMaxime Ripard resets: 54506c7f9bSMaxime Ripard maxItems: 1 55506c7f9bSMaxime Ripard 56506c7f9bSMaxime RipardallOf: 57506c7f9bSMaxime Ripard - if: 58506c7f9bSMaxime Ripard properties: 59506c7f9bSMaxime Ripard compatible: 60506c7f9bSMaxime Ripard contains: 61506c7f9bSMaxime Ripard enum: 62506c7f9bSMaxime Ripard - allwinner,sun6i-a31-spdif 63506c7f9bSMaxime Ripard - allwinner,sun8i-h3-spdif 64506c7f9bSMaxime Ripard 65506c7f9bSMaxime Ripard then: 66506c7f9bSMaxime Ripard required: 67506c7f9bSMaxime Ripard - resets 68506c7f9bSMaxime Ripard 69b1f35dfdSMaxime Ripard - if: 70b1f35dfdSMaxime Ripard properties: 71b1f35dfdSMaxime Ripard compatible: 72b1f35dfdSMaxime Ripard contains: 73b1f35dfdSMaxime Ripard const: allwinner,sun8i-h3-spdif 74b1f35dfdSMaxime Ripard 75b1f35dfdSMaxime Ripard then: 76b1f35dfdSMaxime Ripard properties: 77b1f35dfdSMaxime Ripard dmas: 78b1f35dfdSMaxime Ripard description: TX DMA Channel 79b1f35dfdSMaxime Ripard 80b1f35dfdSMaxime Ripard dma-names: 81b1f35dfdSMaxime Ripard const: tx 82b1f35dfdSMaxime Ripard 83b1f35dfdSMaxime Ripard else: 84b1f35dfdSMaxime Ripard properties: 85b1f35dfdSMaxime Ripard dmas: 86b1f35dfdSMaxime Ripard items: 87b1f35dfdSMaxime Ripard - description: RX DMA Channel 88b1f35dfdSMaxime Ripard - description: TX DMA Channel 89b1f35dfdSMaxime Ripard 90b1f35dfdSMaxime Ripard dma-names: 91b1f35dfdSMaxime Ripard items: 92b1f35dfdSMaxime Ripard - const: rx 93b1f35dfdSMaxime Ripard - const: tx 94b1f35dfdSMaxime Ripard 95506c7f9bSMaxime Ripardrequired: 96506c7f9bSMaxime Ripard - "#sound-dai-cells" 97506c7f9bSMaxime Ripard - compatible 98506c7f9bSMaxime Ripard - reg 99506c7f9bSMaxime Ripard - interrupts 100506c7f9bSMaxime Ripard - clocks 101506c7f9bSMaxime Ripard - clock-names 102506c7f9bSMaxime Ripard - dmas 103506c7f9bSMaxime Ripard - dma-names 104506c7f9bSMaxime Ripard 105506c7f9bSMaxime RipardadditionalProperties: false 106506c7f9bSMaxime Ripard 107506c7f9bSMaxime Ripardexamples: 108506c7f9bSMaxime Ripard - | 109506c7f9bSMaxime Ripard spdif: spdif@1c21000 { 110506c7f9bSMaxime Ripard #sound-dai-cells = <0>; 111506c7f9bSMaxime Ripard compatible = "allwinner,sun4i-a10-spdif"; 112506c7f9bSMaxime Ripard reg = <0x01c21000 0x40>; 113506c7f9bSMaxime Ripard interrupts = <13>; 114506c7f9bSMaxime Ripard clocks = <&apb0_gates 1>, <&spdif_clk>; 115506c7f9bSMaxime Ripard clock-names = "apb", "spdif"; 116506c7f9bSMaxime Ripard dmas = <&dma 0 2>, <&dma 0 2>; 117506c7f9bSMaxime Ripard dma-names = "rx", "tx"; 118506c7f9bSMaxime Ripard }; 119506c7f9bSMaxime Ripard 120506c7f9bSMaxime Ripard... 121