| # SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-i2s.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Allwinner A10 I2S Controller |
| |
| maintainers: |
| - Chen-Yu Tsai <wens@csie.org> |
| - Maxime Ripard <mripard@kernel.org> |
| |
| properties: |
| "#sound-dai-cells": |
| const: 0 |
| |
| compatible: |
| oneOf: |
| - const: allwinner,sun4i-a10-i2s |
| - const: allwinner,sun6i-a31-i2s |
| - const: allwinner,sun8i-a83t-i2s |
| - const: allwinner,sun8i-h3-i2s |
| - items: |
| - const: allwinner,sun8i-r40-i2s |
| - const: allwinner,sun8i-h3-i2s |
| - items: |
| - const: allwinner,sun8i-v3-i2s |
| - const: allwinner,sun8i-h3-i2s |
| - const: allwinner,sun50i-a64-codec-i2s |
| - items: |
| - const: allwinner,sun50i-a64-i2s |
| - const: allwinner,sun8i-h3-i2s |
| - const: allwinner,sun50i-h6-i2s |
| - const: allwinner,sun50i-r329-i2s |
| - items: |
| - const: allwinner,sun20i-d1-i2s |
| - const: allwinner,sun50i-r329-i2s |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| maxItems: 1 |
| |
| clocks: |
| items: |
| - description: Bus Clock |
| - description: Module Clock |
| |
| clock-names: |
| items: |
| - const: apb |
| - const: mod |
| |
| # Even though it only applies to subschemas under the conditionals, |
| # not listing them here will trigger a warning because of the |
| # additionalsProperties set to false. |
| dmas: true |
| dma-names: true |
| resets: |
| maxItems: 1 |
| |
| allOf: |
| - $ref: dai-common.yaml# |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - allwinner,sun6i-a31-i2s |
| - allwinner,sun8i-a83t-i2s |
| - allwinner,sun8i-h3-i2s |
| - allwinner,sun50i-a64-codec-i2s |
| - allwinner,sun50i-h6-i2s |
| - allwinner,sun50i-r329-i2s |
| |
| then: |
| required: |
| - resets |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - allwinner,sun8i-a83t-i2s |
| - allwinner,sun8i-h3-i2s |
| |
| then: |
| properties: |
| dmas: |
| minItems: 1 |
| items: |
| - description: RX DMA Channel |
| - description: TX DMA Channel |
| description: |
| Some controllers cannot receive but can only transmit |
| data. In such a case, the RX DMA channel is to be omitted. |
| |
| dma-names: |
| oneOf: |
| - items: |
| - const: rx |
| - const: tx |
| - const: tx |
| description: |
| Some controllers cannot receive but can only transmit |
| data. In such a case, the RX name is to be omitted. |
| |
| else: |
| properties: |
| dmas: |
| items: |
| - description: RX DMA Channel |
| - description: TX DMA Channel |
| |
| dma-names: |
| items: |
| - const: rx |
| - const: tx |
| |
| required: |
| - "#sound-dai-cells" |
| - compatible |
| - reg |
| - interrupts |
| - clocks |
| - clock-names |
| - dmas |
| - dma-names |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| i2s0: i2s@1c22400 { |
| #sound-dai-cells = <0>; |
| compatible = "allwinner,sun4i-a10-i2s"; |
| reg = <0x01c22400 0x400>; |
| interrupts = <0 16 4>; |
| clocks = <&apb0_gates 3>, <&i2s0_clk>; |
| clock-names = "apb", "mod"; |
| dmas = <&dma 0 3>, <&dma 0 3>; |
| dma-names = "rx", "tx"; |
| }; |
| |
| ... |