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