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