Merge tag 'docs-5.10-2' of git://git.lwn.net/linux
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / sound / nvidia,tegra210-admaif.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/nvidia,tegra210-admaif.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Tegra210 ADMAIF Device Tree Bindings
8
9 description: |
10   ADMAIF is the interface between ADMA and AHUB. Each ADMA channel
11   that sends/receives data to/from AHUB must interface through an
12   ADMAIF channel. ADMA channel sending data to AHUB pairs with ADMAIF
13   Tx channel and ADMA channel receiving data from AHUB pairs with
14   ADMAIF Rx channel.
15
16 maintainers:
17   - Jon Hunter <jonathanh@nvidia.com>
18   - Sameer Pujar <spujar@nvidia.com>
19
20 properties:
21   $nodename:
22     pattern: "^admaif@[0-9a-f]*$"
23
24   compatible:
25     oneOf:
26       - enum:
27           - nvidia,tegra210-admaif
28           - nvidia,tegra186-admaif
29       - items:
30           - const: nvidia,tegra194-admaif
31           - const: nvidia,tegra186-admaif
32
33   reg:
34     maxItems: 1
35
36   dmas: true
37
38   dma-names: true
39
40 if:
41   properties:
42     compatible:
43       contains:
44         const: nvidia,tegra210-admaif
45
46 then:
47   properties:
48     dmas:
49       description:
50         DMA channel specifiers, equally divided for Tx and Rx.
51       minItems: 1
52       maxItems: 20
53     dma-names:
54       items:
55         pattern: "^[rt]x(10|[1-9])$"
56       description:
57         Should be "rx1", "rx2" ... "rx10" for DMA Rx channel
58         Should be "tx1", "tx2" ... "tx10" for DMA Tx channel
59       minItems: 1
60       maxItems: 20
61
62 else:
63   properties:
64     dmas:
65       description:
66         DMA channel specifiers, equally divided for Tx and Rx.
67       minItems: 1
68       maxItems: 40
69     dma-names:
70       items:
71         pattern: "^[rt]x(1[0-9]|[1-9]|20)$"
72       description:
73         Should be "rx1", "rx2" ... "rx20" for DMA Rx channel
74         Should be "tx1", "tx2" ... "tx20" for DMA Tx channel
75       minItems: 1
76       maxItems: 40
77
78 required:
79   - compatible
80   - reg
81   - dmas
82   - dma-names
83
84 additionalProperties: false
85
86 examples:
87   - |
88     admaif@702d0000 {
89         compatible = "nvidia,tegra210-admaif";
90         reg = <0x702d0000 0x800>;
91         dmas = <&adma 1>,  <&adma 1>,
92                <&adma 2>,  <&adma 2>,
93                <&adma 3>,  <&adma 3>,
94                <&adma 4>,  <&adma 4>,
95                <&adma 5>,  <&adma 5>,
96                <&adma 6>,  <&adma 6>,
97                <&adma 7>,  <&adma 7>,
98                <&adma 8>,  <&adma 8>,
99                <&adma 9>,  <&adma 9>,
100                <&adma 10>, <&adma 10>;
101         dma-names = "rx1",  "tx1",
102                     "rx2",  "tx2",
103                     "rx3",  "tx3",
104                     "rx4",  "tx4",
105                     "rx5",  "tx5",
106                     "rx6",  "tx6",
107                     "rx7",  "tx7",
108                     "rx8",  "tx8",
109                     "rx9",  "tx9",
110                     "rx10", "tx10";
111     };
112
113 ...