xref: /freebsd/sys/contrib/device-tree/Bindings/sound/nvidia,tegra210-amx.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
18cc087a1SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28cc087a1SEmmanuel Vadot%YAML 1.2
38cc087a1SEmmanuel Vadot---
48cc087a1SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/nvidia,tegra210-amx.yaml#
58cc087a1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68cc087a1SEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Tegra210 AMX
88cc087a1SEmmanuel Vadot
98cc087a1SEmmanuel Vadotdescription: |
108cc087a1SEmmanuel Vadot  The Audio Multiplexer (AMX) block can multiplex up to four input streams
118cc087a1SEmmanuel Vadot  each of which can have maximum 16 channels and generate an output stream
128cc087a1SEmmanuel Vadot  with maximum 16 channels. A byte RAM helps to form an output frame by
138cc087a1SEmmanuel Vadot  any combination of bytes from the input frames.
148cc087a1SEmmanuel Vadot
158cc087a1SEmmanuel Vadotmaintainers:
168cc087a1SEmmanuel Vadot  - Jon Hunter <jonathanh@nvidia.com>
178cc087a1SEmmanuel Vadot  - Mohan Kumar <mkumard@nvidia.com>
188cc087a1SEmmanuel Vadot  - Sameer Pujar <spujar@nvidia.com>
198cc087a1SEmmanuel Vadot
208cc087a1SEmmanuel VadotallOf:
21*8bab661aSEmmanuel Vadot  - $ref: dai-common.yaml#
228cc087a1SEmmanuel Vadot
238cc087a1SEmmanuel Vadotproperties:
248cc087a1SEmmanuel Vadot  $nodename:
258cc087a1SEmmanuel Vadot    pattern: "^amx@[0-9a-f]*$"
268cc087a1SEmmanuel Vadot
278cc087a1SEmmanuel Vadot  compatible:
288cc087a1SEmmanuel Vadot    oneOf:
298cc087a1SEmmanuel Vadot      - const: nvidia,tegra210-amx
308cc087a1SEmmanuel Vadot      - items:
318cc087a1SEmmanuel Vadot          - const: nvidia,tegra186-amx
328cc087a1SEmmanuel Vadot          - const: nvidia,tegra210-amx
338cc087a1SEmmanuel Vadot      - const: nvidia,tegra194-amx
34c9ccf3a3SEmmanuel Vadot      - items:
35c9ccf3a3SEmmanuel Vadot          - const: nvidia,tegra234-amx
36c9ccf3a3SEmmanuel Vadot          - const: nvidia,tegra194-amx
378cc087a1SEmmanuel Vadot
388cc087a1SEmmanuel Vadot  reg:
398cc087a1SEmmanuel Vadot    maxItems: 1
408cc087a1SEmmanuel Vadot
418cc087a1SEmmanuel Vadot  sound-name-prefix:
428cc087a1SEmmanuel Vadot    pattern: "^AMX[1-9]$"
438cc087a1SEmmanuel Vadot
448cc087a1SEmmanuel Vadot  ports:
458cc087a1SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
468cc087a1SEmmanuel Vadot    description: |
478cc087a1SEmmanuel Vadot      AMX has four inputs and one output. Accordingly ACIF (Audio Client
488cc087a1SEmmanuel Vadot      Interfaces) port nodes are defined to represent AMX inputs (port 0
498cc087a1SEmmanuel Vadot      to 3) and output (port 4). These are connected to corresponding
508cc087a1SEmmanuel Vadot      ports on AHUB (Audio Hub).
518cc087a1SEmmanuel Vadot
528cc087a1SEmmanuel Vadot    patternProperties:
538cc087a1SEmmanuel Vadot      '^port@[0-3]':
548cc087a1SEmmanuel Vadot        $ref: audio-graph-port.yaml#
558cc087a1SEmmanuel Vadot        unevaluatedProperties: false
568cc087a1SEmmanuel Vadot        description: AMX ACIF input ports
578cc087a1SEmmanuel Vadot
588cc087a1SEmmanuel Vadot    properties:
598cc087a1SEmmanuel Vadot      port@4:
608cc087a1SEmmanuel Vadot        $ref: audio-graph-port.yaml#
618cc087a1SEmmanuel Vadot        unevaluatedProperties: false
628cc087a1SEmmanuel Vadot        description: AMX ACIF output port
638cc087a1SEmmanuel Vadot
648cc087a1SEmmanuel Vadotrequired:
658cc087a1SEmmanuel Vadot  - compatible
668cc087a1SEmmanuel Vadot  - reg
678cc087a1SEmmanuel Vadot
688cc087a1SEmmanuel VadotadditionalProperties: false
698cc087a1SEmmanuel Vadot
708cc087a1SEmmanuel Vadotexamples:
718cc087a1SEmmanuel Vadot  - |
728cc087a1SEmmanuel Vadot
738cc087a1SEmmanuel Vadot    amx@702d3000 {
748cc087a1SEmmanuel Vadot        compatible = "nvidia,tegra210-amx";
758cc087a1SEmmanuel Vadot        reg = <0x702d3000 0x100>;
768cc087a1SEmmanuel Vadot        sound-name-prefix = "AMX1";
778cc087a1SEmmanuel Vadot    };
788cc087a1SEmmanuel Vadot
798cc087a1SEmmanuel Vadot...
80