2019-05-24 14:57:58 +02:00
# 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#
2022-08-25 04:04:27 +02:00
title : Allwinner A10 I2S Controller
2019-05-24 14:57:58 +02:00
maintainers :
- Chen-Yu Tsai <wens@csie.org>
2019-12-09 10:32:48 +01:00
- Maxime Ripard <mripard@kernel.org>
2019-05-24 14:57:58 +02:00
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
2021-09-12 09:29:13 +02:00
- items :
- const : allwinner,sun8i-r40-i2s
- const : allwinner,sun8i-h3-i2s
2021-05-14 15:44:04 +02:00
- items :
- const : allwinner,sun8i-v3-i2s
- const : allwinner,sun8i-h3-i2s
2019-05-24 14:57:58 +02:00
- const : allwinner,sun50i-a64-codec-i2s
- items :
- const : allwinner,sun50i-a64-i2s
- const : allwinner,sun8i-h3-i2s
2020-10-30 15:46:43 +01:00
- const : allwinner,sun50i-h6-i2s
2022-02-02 20:01:13 -06:00
- const : allwinner,sun50i-r329-i2s
- items :
- const : allwinner,sun20i-d1-i2s
- const : allwinner,sun50i-r329-i2s
2019-05-24 14:57:58 +02:00
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.
2019-05-24 14:57:59 +02:00
dmas : true
dma-names : true
2019-05-24 14:57:58 +02:00
resets :
maxItems : 1
allOf :
2022-12-03 17:04:41 +01:00
- $ref : dai-common.yaml#
2019-05-24 14:57:58 +02:00
- if :
properties :
compatible :
contains :
enum :
- allwinner,sun6i-a31-i2s
- allwinner,sun8i-a83t-i2s
- allwinner,sun8i-h3-i2s
- allwinner,sun50i-a64-codec-i2s
2020-10-30 15:46:43 +01:00
- allwinner,sun50i-h6-i2s
2022-02-02 20:01:13 -06:00
- allwinner,sun50i-r329-i2s
2019-05-24 14:57:58 +02:00
then :
required :
- resets
2019-05-24 14:57:59 +02:00
- if :
properties :
compatible :
contains :
2020-10-30 15:46:47 +01:00
enum :
- allwinner,sun8i-a83t-i2s
- allwinner,sun8i-h3-i2s
2019-05-24 14:57:59 +02:00
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
2019-05-24 14:57:58 +02:00
required :
- "#sound-dai-cells"
- compatible
- reg
- interrupts
- clocks
- clock-names
- dmas
- dma-names
2022-12-03 17:04:41 +01:00
unevaluatedProperties : false
2019-05-24 14:57:58 +02:00
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";
};
...