10a0ca8e9SMaxime Ripard# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause) 20a0ca8e9SMaxime Ripard%YAML 1.2 30a0ca8e9SMaxime Ripard--- 40a0ca8e9SMaxime Ripard$id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-i2s.yaml# 50a0ca8e9SMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml# 60a0ca8e9SMaxime Ripard 7dd3cb467SAndrew Lunntitle: Allwinner A10 I2S Controller 80a0ca8e9SMaxime Ripard 90a0ca8e9SMaxime Ripardmaintainers: 100a0ca8e9SMaxime Ripard - Chen-Yu Tsai <wens@csie.org> 115c7404bbSMaxime Ripard - Maxime Ripard <mripard@kernel.org> 120a0ca8e9SMaxime Ripard 130a0ca8e9SMaxime Ripardproperties: 140a0ca8e9SMaxime Ripard "#sound-dai-cells": 150a0ca8e9SMaxime Ripard const: 0 160a0ca8e9SMaxime Ripard 170a0ca8e9SMaxime Ripard compatible: 180a0ca8e9SMaxime Ripard oneOf: 190a0ca8e9SMaxime Ripard - const: allwinner,sun4i-a10-i2s 200a0ca8e9SMaxime Ripard - const: allwinner,sun6i-a31-i2s 210a0ca8e9SMaxime Ripard - const: allwinner,sun8i-a83t-i2s 220a0ca8e9SMaxime Ripard - const: allwinner,sun8i-h3-i2s 23ce09d1a6STobias Schramm - items: 2456c9d407SJernej Skrabec - const: allwinner,sun8i-r40-i2s 2556c9d407SJernej Skrabec - const: allwinner,sun8i-h3-i2s 2656c9d407SJernej Skrabec - items: 27ce09d1a6STobias Schramm - const: allwinner,sun8i-v3-i2s 28ce09d1a6STobias Schramm - const: allwinner,sun8i-h3-i2s 290a0ca8e9SMaxime Ripard - const: allwinner,sun50i-a64-codec-i2s 300a0ca8e9SMaxime Ripard - items: 310a0ca8e9SMaxime Ripard - const: allwinner,sun50i-a64-i2s 320a0ca8e9SMaxime Ripard - const: allwinner,sun8i-h3-i2s 33e84f44baSJernej Skrabec - const: allwinner,sun50i-h6-i2s 347f97b2adSSamuel Holland - const: allwinner,sun50i-r329-i2s 357f97b2adSSamuel Holland - items: 367f97b2adSSamuel Holland - const: allwinner,sun20i-d1-i2s 377f97b2adSSamuel Holland - const: allwinner,sun50i-r329-i2s 380a0ca8e9SMaxime Ripard 390a0ca8e9SMaxime Ripard reg: 400a0ca8e9SMaxime Ripard maxItems: 1 410a0ca8e9SMaxime Ripard 420a0ca8e9SMaxime Ripard interrupts: 430a0ca8e9SMaxime Ripard maxItems: 1 440a0ca8e9SMaxime Ripard 450a0ca8e9SMaxime Ripard clocks: 460a0ca8e9SMaxime Ripard items: 470a0ca8e9SMaxime Ripard - description: Bus Clock 480a0ca8e9SMaxime Ripard - description: Module Clock 490a0ca8e9SMaxime Ripard 500a0ca8e9SMaxime Ripard clock-names: 510a0ca8e9SMaxime Ripard items: 520a0ca8e9SMaxime Ripard - const: apb 530a0ca8e9SMaxime Ripard - const: mod 540a0ca8e9SMaxime Ripard 550a0ca8e9SMaxime Ripard # Even though it only applies to subschemas under the conditionals, 560a0ca8e9SMaxime Ripard # not listing them here will trigger a warning because of the 570a0ca8e9SMaxime Ripard # additionalsProperties set to false. 58eb5b1284SMaxime Ripard dmas: true 59eb5b1284SMaxime Ripard dma-names: true 600a0ca8e9SMaxime Ripard resets: 610a0ca8e9SMaxime Ripard maxItems: 1 620a0ca8e9SMaxime Ripard 630a0ca8e9SMaxime RipardallOf: 64*58ae9a2aSKrzysztof Kozlowski - $ref: dai-common.yaml# 650a0ca8e9SMaxime Ripard - if: 660a0ca8e9SMaxime Ripard properties: 670a0ca8e9SMaxime Ripard compatible: 680a0ca8e9SMaxime Ripard contains: 690a0ca8e9SMaxime Ripard enum: 700a0ca8e9SMaxime Ripard - allwinner,sun6i-a31-i2s 710a0ca8e9SMaxime Ripard - allwinner,sun8i-a83t-i2s 720a0ca8e9SMaxime Ripard - allwinner,sun8i-h3-i2s 730a0ca8e9SMaxime Ripard - allwinner,sun50i-a64-codec-i2s 74e84f44baSJernej Skrabec - allwinner,sun50i-h6-i2s 757f97b2adSSamuel Holland - allwinner,sun50i-r329-i2s 760a0ca8e9SMaxime Ripard 770a0ca8e9SMaxime Ripard then: 780a0ca8e9SMaxime Ripard required: 790a0ca8e9SMaxime Ripard - resets 800a0ca8e9SMaxime Ripard 81eb5b1284SMaxime Ripard - if: 82eb5b1284SMaxime Ripard properties: 83eb5b1284SMaxime Ripard compatible: 84eb5b1284SMaxime Ripard contains: 850bc1bf24SClément Péron enum: 860bc1bf24SClément Péron - allwinner,sun8i-a83t-i2s 870bc1bf24SClément Péron - allwinner,sun8i-h3-i2s 88eb5b1284SMaxime Ripard 89eb5b1284SMaxime Ripard then: 90eb5b1284SMaxime Ripard properties: 91eb5b1284SMaxime Ripard dmas: 92eb5b1284SMaxime Ripard minItems: 1 93eb5b1284SMaxime Ripard items: 94eb5b1284SMaxime Ripard - description: RX DMA Channel 95eb5b1284SMaxime Ripard - description: TX DMA Channel 96eb5b1284SMaxime Ripard description: 97eb5b1284SMaxime Ripard Some controllers cannot receive but can only transmit 98eb5b1284SMaxime Ripard data. In such a case, the RX DMA channel is to be omitted. 99eb5b1284SMaxime Ripard 100eb5b1284SMaxime Ripard dma-names: 101eb5b1284SMaxime Ripard oneOf: 102eb5b1284SMaxime Ripard - items: 103eb5b1284SMaxime Ripard - const: rx 104eb5b1284SMaxime Ripard - const: tx 105eb5b1284SMaxime Ripard - const: tx 106eb5b1284SMaxime Ripard description: 107eb5b1284SMaxime Ripard Some controllers cannot receive but can only transmit 108eb5b1284SMaxime Ripard data. In such a case, the RX name is to be omitted. 109eb5b1284SMaxime Ripard 110eb5b1284SMaxime Ripard else: 111eb5b1284SMaxime Ripard properties: 112eb5b1284SMaxime Ripard dmas: 113eb5b1284SMaxime Ripard items: 114eb5b1284SMaxime Ripard - description: RX DMA Channel 115eb5b1284SMaxime Ripard - description: TX DMA Channel 116eb5b1284SMaxime Ripard 117eb5b1284SMaxime Ripard dma-names: 118eb5b1284SMaxime Ripard items: 119eb5b1284SMaxime Ripard - const: rx 120eb5b1284SMaxime Ripard - const: tx 121eb5b1284SMaxime Ripard 1220a0ca8e9SMaxime Ripardrequired: 1230a0ca8e9SMaxime Ripard - "#sound-dai-cells" 1240a0ca8e9SMaxime Ripard - compatible 1250a0ca8e9SMaxime Ripard - reg 1260a0ca8e9SMaxime Ripard - interrupts 1270a0ca8e9SMaxime Ripard - clocks 1280a0ca8e9SMaxime Ripard - clock-names 1290a0ca8e9SMaxime Ripard - dmas 1300a0ca8e9SMaxime Ripard - dma-names 1310a0ca8e9SMaxime Ripard 132*58ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false 1330a0ca8e9SMaxime Ripard 1340a0ca8e9SMaxime Ripardexamples: 1350a0ca8e9SMaxime Ripard - | 1360a0ca8e9SMaxime Ripard i2s0: i2s@1c22400 { 1370a0ca8e9SMaxime Ripard #sound-dai-cells = <0>; 1380a0ca8e9SMaxime Ripard compatible = "allwinner,sun4i-a10-i2s"; 1390a0ca8e9SMaxime Ripard reg = <0x01c22400 0x400>; 1400a0ca8e9SMaxime Ripard interrupts = <0 16 4>; 1410a0ca8e9SMaxime Ripard clocks = <&apb0_gates 3>, <&i2s0_clk>; 1420a0ca8e9SMaxime Ripard clock-names = "apb", "mod"; 1430a0ca8e9SMaxime Ripard dmas = <&dma 0 3>, <&dma 0 3>; 1440a0ca8e9SMaxime Ripard dma-names = "rx", "tx"; 1450a0ca8e9SMaxime Ripard }; 1460a0ca8e9SMaxime Ripard 1470a0ca8e9SMaxime Ripard... 148