18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-i2s.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Allwinner A10 I2S Controller Device Tree Bindings 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Chen-Yu Tsai <wens@csie.org> 118c2ecf20Sopenharmony_ci - Maxime Ripard <mripard@kernel.org> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciproperties: 148c2ecf20Sopenharmony_ci "#sound-dai-cells": 158c2ecf20Sopenharmony_ci const: 0 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci compatible: 188c2ecf20Sopenharmony_ci oneOf: 198c2ecf20Sopenharmony_ci - const: allwinner,sun4i-a10-i2s 208c2ecf20Sopenharmony_ci - const: allwinner,sun6i-a31-i2s 218c2ecf20Sopenharmony_ci - const: allwinner,sun8i-a83t-i2s 228c2ecf20Sopenharmony_ci - const: allwinner,sun8i-h3-i2s 238c2ecf20Sopenharmony_ci - const: allwinner,sun50i-a64-codec-i2s 248c2ecf20Sopenharmony_ci - items: 258c2ecf20Sopenharmony_ci - const: allwinner,sun50i-a64-i2s 268c2ecf20Sopenharmony_ci - const: allwinner,sun8i-h3-i2s 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci reg: 298c2ecf20Sopenharmony_ci maxItems: 1 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci interrupts: 328c2ecf20Sopenharmony_ci maxItems: 1 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci clocks: 358c2ecf20Sopenharmony_ci items: 368c2ecf20Sopenharmony_ci - description: Bus Clock 378c2ecf20Sopenharmony_ci - description: Module Clock 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci clock-names: 408c2ecf20Sopenharmony_ci items: 418c2ecf20Sopenharmony_ci - const: apb 428c2ecf20Sopenharmony_ci - const: mod 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci # Even though it only applies to subschemas under the conditionals, 458c2ecf20Sopenharmony_ci # not listing them here will trigger a warning because of the 468c2ecf20Sopenharmony_ci # additionalsProperties set to false. 478c2ecf20Sopenharmony_ci dmas: true 488c2ecf20Sopenharmony_ci dma-names: true 498c2ecf20Sopenharmony_ci resets: 508c2ecf20Sopenharmony_ci maxItems: 1 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ciallOf: 538c2ecf20Sopenharmony_ci - if: 548c2ecf20Sopenharmony_ci properties: 558c2ecf20Sopenharmony_ci compatible: 568c2ecf20Sopenharmony_ci contains: 578c2ecf20Sopenharmony_ci enum: 588c2ecf20Sopenharmony_ci - allwinner,sun6i-a31-i2s 598c2ecf20Sopenharmony_ci - allwinner,sun8i-a83t-i2s 608c2ecf20Sopenharmony_ci - allwinner,sun8i-h3-i2s 618c2ecf20Sopenharmony_ci - allwinner,sun50i-a64-codec-i2s 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci then: 648c2ecf20Sopenharmony_ci required: 658c2ecf20Sopenharmony_ci - resets 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci - if: 688c2ecf20Sopenharmony_ci properties: 698c2ecf20Sopenharmony_ci compatible: 708c2ecf20Sopenharmony_ci contains: 718c2ecf20Sopenharmony_ci const: allwinner,sun8i-a83t-i2s 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci then: 748c2ecf20Sopenharmony_ci properties: 758c2ecf20Sopenharmony_ci dmas: 768c2ecf20Sopenharmony_ci minItems: 1 778c2ecf20Sopenharmony_ci maxItems: 2 788c2ecf20Sopenharmony_ci items: 798c2ecf20Sopenharmony_ci - description: RX DMA Channel 808c2ecf20Sopenharmony_ci - description: TX DMA Channel 818c2ecf20Sopenharmony_ci description: 828c2ecf20Sopenharmony_ci Some controllers cannot receive but can only transmit 838c2ecf20Sopenharmony_ci data. In such a case, the RX DMA channel is to be omitted. 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci dma-names: 868c2ecf20Sopenharmony_ci oneOf: 878c2ecf20Sopenharmony_ci - items: 888c2ecf20Sopenharmony_ci - const: rx 898c2ecf20Sopenharmony_ci - const: tx 908c2ecf20Sopenharmony_ci - const: tx 918c2ecf20Sopenharmony_ci description: 928c2ecf20Sopenharmony_ci Some controllers cannot receive but can only transmit 938c2ecf20Sopenharmony_ci data. In such a case, the RX name is to be omitted. 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci else: 968c2ecf20Sopenharmony_ci properties: 978c2ecf20Sopenharmony_ci dmas: 988c2ecf20Sopenharmony_ci items: 998c2ecf20Sopenharmony_ci - description: RX DMA Channel 1008c2ecf20Sopenharmony_ci - description: TX DMA Channel 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci dma-names: 1038c2ecf20Sopenharmony_ci items: 1048c2ecf20Sopenharmony_ci - const: rx 1058c2ecf20Sopenharmony_ci - const: tx 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_cirequired: 1088c2ecf20Sopenharmony_ci - "#sound-dai-cells" 1098c2ecf20Sopenharmony_ci - compatible 1108c2ecf20Sopenharmony_ci - reg 1118c2ecf20Sopenharmony_ci - interrupts 1128c2ecf20Sopenharmony_ci - clocks 1138c2ecf20Sopenharmony_ci - clock-names 1148c2ecf20Sopenharmony_ci - dmas 1158c2ecf20Sopenharmony_ci - dma-names 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ciadditionalProperties: false 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ciexamples: 1208c2ecf20Sopenharmony_ci - | 1218c2ecf20Sopenharmony_ci i2s0: i2s@1c22400 { 1228c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 1238c2ecf20Sopenharmony_ci compatible = "allwinner,sun4i-a10-i2s"; 1248c2ecf20Sopenharmony_ci reg = <0x01c22400 0x400>; 1258c2ecf20Sopenharmony_ci interrupts = <0 16 4>; 1268c2ecf20Sopenharmony_ci clocks = <&apb0_gates 3>, <&i2s0_clk>; 1278c2ecf20Sopenharmony_ci clock-names = "apb", "mod"; 1288c2ecf20Sopenharmony_ci dmas = <&dma 0 3>, <&dma 0 3>; 1298c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 1308c2ecf20Sopenharmony_ci }; 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci... 133