xref: /linux/Documentation/devicetree/bindings/sound/nvidia,tegra210-admaif.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1665308c0SSameer Pujar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2665308c0SSameer Pujar%YAML 1.2
3665308c0SSameer Pujar---
4665308c0SSameer Pujar$id: http://devicetree.org/schemas/sound/nvidia,tegra210-admaif.yaml#
5665308c0SSameer Pujar$schema: http://devicetree.org/meta-schemas/core.yaml#
6665308c0SSameer Pujar
7*dd3cb467SAndrew Lunntitle: Tegra210 ADMAIF
8665308c0SSameer Pujar
9665308c0SSameer Pujardescription: |
10665308c0SSameer Pujar  ADMAIF is the interface between ADMA and AHUB. Each ADMA channel
11665308c0SSameer Pujar  that sends/receives data to/from AHUB must interface through an
12665308c0SSameer Pujar  ADMAIF channel. ADMA channel sending data to AHUB pairs with ADMAIF
13665308c0SSameer Pujar  Tx channel and ADMA channel receiving data from AHUB pairs with
14665308c0SSameer Pujar  ADMAIF Rx channel.
15665308c0SSameer Pujar
16665308c0SSameer Pujarmaintainers:
17665308c0SSameer Pujar  - Jon Hunter <jonathanh@nvidia.com>
18665308c0SSameer Pujar  - Sameer Pujar <spujar@nvidia.com>
19665308c0SSameer Pujar
20665308c0SSameer Pujarproperties:
21665308c0SSameer Pujar  $nodename:
22665308c0SSameer Pujar    pattern: "^admaif@[0-9a-f]*$"
23665308c0SSameer Pujar
24665308c0SSameer Pujar  compatible:
25665308c0SSameer Pujar    oneOf:
26665308c0SSameer Pujar      - enum:
27665308c0SSameer Pujar          - nvidia,tegra210-admaif
28665308c0SSameer Pujar          - nvidia,tegra186-admaif
29665308c0SSameer Pujar      - items:
30fed44d6cSSameer Pujar          - enum:
31fed44d6cSSameer Pujar              - nvidia,tegra234-admaif
32fed44d6cSSameer Pujar              - nvidia,tegra194-admaif
33665308c0SSameer Pujar          - const: nvidia,tegra186-admaif
34665308c0SSameer Pujar
35665308c0SSameer Pujar  reg:
36665308c0SSameer Pujar    maxItems: 1
37665308c0SSameer Pujar
38665308c0SSameer Pujar  dmas: true
39665308c0SSameer Pujar
40665308c0SSameer Pujar  dma-names: true
41665308c0SSameer Pujar
429e0f86fdSSameer Pujar  ports:
439c1e0439SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
449e0f86fdSSameer Pujar    description: |
459e0f86fdSSameer Pujar      Contains list of ACIF (Audio CIF) port nodes for ADMAIF channels.
469e0f86fdSSameer Pujar      The number of port nodes depends on the number of ADMAIF channels
479e0f86fdSSameer Pujar      that SoC may have. These are interfaced with respective ACIF ports
489e0f86fdSSameer Pujar      in AHUB (Audio Hub). Each port is capable of data transfers in
499e0f86fdSSameer Pujar      both directions.
509e0f86fdSSameer Pujar
519c1e0439SRob Herring    patternProperties:
529c1e0439SRob Herring      '^port@[0-9]':
539c1e0439SRob Herring        $ref: audio-graph-port.yaml#
549c1e0439SRob Herring        unevaluatedProperties: false
559c1e0439SRob Herring
56665308c0SSameer Pujarif:
57665308c0SSameer Pujar  properties:
58665308c0SSameer Pujar    compatible:
59665308c0SSameer Pujar      contains:
60665308c0SSameer Pujar        const: nvidia,tegra210-admaif
61665308c0SSameer Pujar
62665308c0SSameer Pujarthen:
63665308c0SSameer Pujar  properties:
64665308c0SSameer Pujar    dmas:
65665308c0SSameer Pujar      description:
66665308c0SSameer Pujar        DMA channel specifiers, equally divided for Tx and Rx.
67665308c0SSameer Pujar      minItems: 1
68665308c0SSameer Pujar      maxItems: 20
69665308c0SSameer Pujar    dma-names:
70665308c0SSameer Pujar      items:
71665308c0SSameer Pujar        pattern: "^[rt]x(10|[1-9])$"
72665308c0SSameer Pujar      description:
73665308c0SSameer Pujar        Should be "rx1", "rx2" ... "rx10" for DMA Rx channel
74665308c0SSameer Pujar        Should be "tx1", "tx2" ... "tx10" for DMA Tx channel
75665308c0SSameer Pujar      minItems: 1
76665308c0SSameer Pujar      maxItems: 20
77665308c0SSameer Pujar
78665308c0SSameer Pujarelse:
79665308c0SSameer Pujar  properties:
80665308c0SSameer Pujar    dmas:
81665308c0SSameer Pujar      description:
82665308c0SSameer Pujar        DMA channel specifiers, equally divided for Tx and Rx.
83665308c0SSameer Pujar      minItems: 1
84665308c0SSameer Pujar      maxItems: 40
85665308c0SSameer Pujar    dma-names:
86665308c0SSameer Pujar      items:
87665308c0SSameer Pujar        pattern: "^[rt]x(1[0-9]|[1-9]|20)$"
88665308c0SSameer Pujar      description:
89665308c0SSameer Pujar        Should be "rx1", "rx2" ... "rx20" for DMA Rx channel
90665308c0SSameer Pujar        Should be "tx1", "tx2" ... "tx20" for DMA Tx channel
91665308c0SSameer Pujar      minItems: 1
92665308c0SSameer Pujar      maxItems: 40
93665308c0SSameer Pujar
94665308c0SSameer Pujarrequired:
95665308c0SSameer Pujar  - compatible
96665308c0SSameer Pujar  - reg
97665308c0SSameer Pujar  - dmas
98665308c0SSameer Pujar  - dma-names
99665308c0SSameer Pujar
1009c1e0439SRob HerringadditionalProperties: false
1015be478f9SRob Herring
102665308c0SSameer Pujarexamples:
103665308c0SSameer Pujar  - |
104665308c0SSameer Pujar    admaif@702d0000 {
105665308c0SSameer Pujar        compatible = "nvidia,tegra210-admaif";
106665308c0SSameer Pujar        reg = <0x702d0000 0x800>;
107665308c0SSameer Pujar        dmas = <&adma 1>,  <&adma 1>,
108665308c0SSameer Pujar               <&adma 2>,  <&adma 2>,
109665308c0SSameer Pujar               <&adma 3>,  <&adma 3>,
110665308c0SSameer Pujar               <&adma 4>,  <&adma 4>,
111665308c0SSameer Pujar               <&adma 5>,  <&adma 5>,
112665308c0SSameer Pujar               <&adma 6>,  <&adma 6>,
113665308c0SSameer Pujar               <&adma 7>,  <&adma 7>,
114665308c0SSameer Pujar               <&adma 8>,  <&adma 8>,
115665308c0SSameer Pujar               <&adma 9>,  <&adma 9>,
116665308c0SSameer Pujar               <&adma 10>, <&adma 10>;
117665308c0SSameer Pujar        dma-names = "rx1",  "tx1",
118665308c0SSameer Pujar                    "rx2",  "tx2",
119665308c0SSameer Pujar                    "rx3",  "tx3",
120665308c0SSameer Pujar                    "rx4",  "tx4",
121665308c0SSameer Pujar                    "rx5",  "tx5",
122665308c0SSameer Pujar                    "rx6",  "tx6",
123665308c0SSameer Pujar                    "rx7",  "tx7",
124665308c0SSameer Pujar                    "rx8",  "tx8",
125665308c0SSameer Pujar                    "rx9",  "tx9",
126665308c0SSameer Pujar                    "rx10", "tx10";
127665308c0SSameer Pujar    };
128665308c0SSameer Pujar
129665308c0SSameer Pujar...
130