1aa56a9deSSameer Pujar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2aa56a9deSSameer Pujar%YAML 1.2
3aa56a9deSSameer Pujar---
4aa56a9deSSameer Pujar$id: http://devicetree.org/schemas/sound/nvidia,tegra210-adx.yaml#
5aa56a9deSSameer Pujar$schema: http://devicetree.org/meta-schemas/core.yaml#
6aa56a9deSSameer Pujar
7dd3cb467SAndrew Lunntitle: Tegra210 ADX
8aa56a9deSSameer Pujar
9aa56a9deSSameer Pujardescription: |
10aa56a9deSSameer Pujar  The Audio Demultiplexer (ADX) block takes an input stream with up to
11aa56a9deSSameer Pujar  16 channels and demultiplexes it into four output streams of up to 16
12aa56a9deSSameer Pujar  channels each. A byte RAM helps to form output frames by any combination
13aa56a9deSSameer Pujar  of bytes from the input frame. Its design is identical to that of byte
14aa56a9deSSameer Pujar  RAM in the AMX except that the data flow direction is reversed.
15aa56a9deSSameer Pujar
16aa56a9deSSameer Pujarmaintainers:
17aa56a9deSSameer Pujar  - Jon Hunter <jonathanh@nvidia.com>
18aa56a9deSSameer Pujar  - Mohan Kumar <mkumard@nvidia.com>
19aa56a9deSSameer Pujar  - Sameer Pujar <spujar@nvidia.com>
20aa56a9deSSameer Pujar
21aa56a9deSSameer PujarallOf:
22*3fda8532SKrzysztof Kozlowski  - $ref: dai-common.yaml#
23aa56a9deSSameer Pujar
24aa56a9deSSameer Pujarproperties:
25aa56a9deSSameer Pujar  $nodename:
26aa56a9deSSameer Pujar    pattern: "^adx@[0-9a-f]*$"
27aa56a9deSSameer Pujar
28aa56a9deSSameer Pujar  compatible:
29aa56a9deSSameer Pujar    oneOf:
30aa56a9deSSameer Pujar      - const: nvidia,tegra210-adx
31aa56a9deSSameer Pujar      - items:
32aa56a9deSSameer Pujar          - enum:
33fed44d6cSSameer Pujar              - nvidia,tegra234-adx
34aa56a9deSSameer Pujar              - nvidia,tegra194-adx
35aa56a9deSSameer Pujar              - nvidia,tegra186-adx
36aa56a9deSSameer Pujar          - const: nvidia,tegra210-adx
37aa56a9deSSameer Pujar
38aa56a9deSSameer Pujar  reg:
39aa56a9deSSameer Pujar    maxItems: 1
40aa56a9deSSameer Pujar
41aa56a9deSSameer Pujar  sound-name-prefix:
42aa56a9deSSameer Pujar    pattern: "^ADX[1-9]$"
43aa56a9deSSameer Pujar
44aa56a9deSSameer Pujar  ports:
45aa56a9deSSameer Pujar    $ref: /schemas/graph.yaml#/properties/ports
46aa56a9deSSameer Pujar    description: |
47aa56a9deSSameer Pujar      ADX has one input and four outputs. Accordingly ACIF (Audio Client
48aa56a9deSSameer Pujar      Interface) port nodes are defined to represent ADX input (port 0)
49aa56a9deSSameer Pujar      and outputs (ports 1 to 4). These are connected to corresponding
50aa56a9deSSameer Pujar      ports on AHUB (Audio Hub).
51aa56a9deSSameer Pujar    properties:
52aa56a9deSSameer Pujar      port@0:
53aa56a9deSSameer Pujar        $ref: audio-graph-port.yaml#
54aa56a9deSSameer Pujar        unevaluatedProperties: false
55aa56a9deSSameer Pujar        description: ADX ACIF input port
56aa56a9deSSameer Pujar    patternProperties:
57aa56a9deSSameer Pujar      '^port@[1-4]':
58aa56a9deSSameer Pujar        $ref: audio-graph-port.yaml#
59aa56a9deSSameer Pujar        unevaluatedProperties: false
60aa56a9deSSameer Pujar        description: ADX ACIF output ports
61aa56a9deSSameer Pujar
62aa56a9deSSameer Pujarrequired:
63aa56a9deSSameer Pujar  - compatible
64aa56a9deSSameer Pujar  - reg
65aa56a9deSSameer Pujar
66aa56a9deSSameer PujaradditionalProperties: false
67aa56a9deSSameer Pujar
68aa56a9deSSameer Pujarexamples:
69aa56a9deSSameer Pujar  - |
70aa56a9deSSameer Pujar
71aa56a9deSSameer Pujar    adx@702d3800 {
72aa56a9deSSameer Pujar        compatible = "nvidia,tegra210-adx";
73aa56a9deSSameer Pujar        reg = <0x702d3800 0x100>;
74aa56a9deSSameer Pujar        sound-name-prefix = "ADX1";
75aa56a9deSSameer Pujar    };
76aa56a9deSSameer Pujar
77aa56a9deSSameer Pujar...
78