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-amx.yaml#
5aa56a9deSSameer Pujar$schema: http://devicetree.org/meta-schemas/core.yaml#
6aa56a9deSSameer Pujar
7dd3cb467SAndrew Lunntitle: Tegra210 AMX
8aa56a9deSSameer Pujar
9aa56a9deSSameer Pujardescription: |
10aa56a9deSSameer Pujar  The Audio Multiplexer (AMX) block can multiplex up to four input streams
11aa56a9deSSameer Pujar  each of which can have maximum 16 channels and generate an output stream
12aa56a9deSSameer Pujar  with maximum 16 channels. A byte RAM helps to form an output frame by
13aa56a9deSSameer Pujar  any combination of bytes from the input frames.
14aa56a9deSSameer Pujar
15aa56a9deSSameer Pujarmaintainers:
16aa56a9deSSameer Pujar  - Jon Hunter <jonathanh@nvidia.com>
17aa56a9deSSameer Pujar  - Mohan Kumar <mkumard@nvidia.com>
18aa56a9deSSameer Pujar  - Sameer Pujar <spujar@nvidia.com>
19aa56a9deSSameer Pujar
20aa56a9deSSameer PujarallOf:
21*3fda8532SKrzysztof Kozlowski  - $ref: dai-common.yaml#
22aa56a9deSSameer Pujar
23aa56a9deSSameer Pujarproperties:
24aa56a9deSSameer Pujar  $nodename:
25aa56a9deSSameer Pujar    pattern: "^amx@[0-9a-f]*$"
26aa56a9deSSameer Pujar
27aa56a9deSSameer Pujar  compatible:
28aa56a9deSSameer Pujar    oneOf:
29aa56a9deSSameer Pujar      - const: nvidia,tegra210-amx
30aa56a9deSSameer Pujar      - items:
31aa56a9deSSameer Pujar          - const: nvidia,tegra186-amx
32aa56a9deSSameer Pujar          - const: nvidia,tegra210-amx
33aa56a9deSSameer Pujar      - const: nvidia,tegra194-amx
34fed44d6cSSameer Pujar      - items:
35fed44d6cSSameer Pujar          - const: nvidia,tegra234-amx
36fed44d6cSSameer Pujar          - const: nvidia,tegra194-amx
37aa56a9deSSameer Pujar
38aa56a9deSSameer Pujar  reg:
39aa56a9deSSameer Pujar    maxItems: 1
40aa56a9deSSameer Pujar
41aa56a9deSSameer Pujar  sound-name-prefix:
42aa56a9deSSameer Pujar    pattern: "^AMX[1-9]$"
43aa56a9deSSameer Pujar
44aa56a9deSSameer Pujar  ports:
45aa56a9deSSameer Pujar    $ref: /schemas/graph.yaml#/properties/ports
46aa56a9deSSameer Pujar    description: |
47aa56a9deSSameer Pujar      AMX has four inputs and one output. Accordingly ACIF (Audio Client
48aa56a9deSSameer Pujar      Interfaces) port nodes are defined to represent AMX inputs (port 0
49aa56a9deSSameer Pujar      to 3) and output (port 4). These are connected to corresponding
50aa56a9deSSameer Pujar      ports on AHUB (Audio Hub).
51aa56a9deSSameer Pujar
52aa56a9deSSameer Pujar    patternProperties:
53aa56a9deSSameer Pujar      '^port@[0-3]':
54aa56a9deSSameer Pujar        $ref: audio-graph-port.yaml#
55aa56a9deSSameer Pujar        unevaluatedProperties: false
56aa56a9deSSameer Pujar        description: AMX ACIF input ports
57aa56a9deSSameer Pujar
58aa56a9deSSameer Pujar    properties:
59aa56a9deSSameer Pujar      port@4:
60aa56a9deSSameer Pujar        $ref: audio-graph-port.yaml#
61aa56a9deSSameer Pujar        unevaluatedProperties: false
62aa56a9deSSameer Pujar        description: AMX ACIF output port
63aa56a9deSSameer Pujar
64aa56a9deSSameer Pujarrequired:
65aa56a9deSSameer Pujar  - compatible
66aa56a9deSSameer Pujar  - reg
67aa56a9deSSameer Pujar
68aa56a9deSSameer PujaradditionalProperties: false
69aa56a9deSSameer Pujar
70aa56a9deSSameer Pujarexamples:
71aa56a9deSSameer Pujar  - |
72aa56a9deSSameer Pujar
73aa56a9deSSameer Pujar    amx@702d3000 {
74aa56a9deSSameer Pujar        compatible = "nvidia,tegra210-amx";
75aa56a9deSSameer Pujar        reg = <0x702d3000 0x100>;
76aa56a9deSSameer Pujar        sound-name-prefix = "AMX1";
77aa56a9deSSameer Pujar    };
78aa56a9deSSameer Pujar
79aa56a9deSSameer Pujar...
80