xref: /freebsd/sys/contrib/device-tree/Bindings/sound/nvidia,tegra210-adx.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-adx.yaml#
58cc087a1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68cc087a1SEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Tegra210 ADX
88cc087a1SEmmanuel Vadot
98cc087a1SEmmanuel Vadotdescription: |
108cc087a1SEmmanuel Vadot  The Audio Demultiplexer (ADX) block takes an input stream with up to
118cc087a1SEmmanuel Vadot  16 channels and demultiplexes it into four output streams of up to 16
128cc087a1SEmmanuel Vadot  channels each. A byte RAM helps to form output frames by any combination
138cc087a1SEmmanuel Vadot  of bytes from the input frame. Its design is identical to that of byte
148cc087a1SEmmanuel Vadot  RAM in the AMX except that the data flow direction is reversed.
158cc087a1SEmmanuel Vadot
168cc087a1SEmmanuel Vadotmaintainers:
178cc087a1SEmmanuel Vadot  - Jon Hunter <jonathanh@nvidia.com>
188cc087a1SEmmanuel Vadot  - Mohan Kumar <mkumard@nvidia.com>
198cc087a1SEmmanuel Vadot  - Sameer Pujar <spujar@nvidia.com>
208cc087a1SEmmanuel Vadot
218cc087a1SEmmanuel VadotallOf:
22*8bab661aSEmmanuel Vadot  - $ref: dai-common.yaml#
238cc087a1SEmmanuel Vadot
248cc087a1SEmmanuel Vadotproperties:
258cc087a1SEmmanuel Vadot  $nodename:
268cc087a1SEmmanuel Vadot    pattern: "^adx@[0-9a-f]*$"
278cc087a1SEmmanuel Vadot
288cc087a1SEmmanuel Vadot  compatible:
298cc087a1SEmmanuel Vadot    oneOf:
308cc087a1SEmmanuel Vadot      - const: nvidia,tegra210-adx
318cc087a1SEmmanuel Vadot      - items:
328cc087a1SEmmanuel Vadot          - enum:
33c9ccf3a3SEmmanuel Vadot              - nvidia,tegra234-adx
348cc087a1SEmmanuel Vadot              - nvidia,tegra194-adx
358cc087a1SEmmanuel Vadot              - nvidia,tegra186-adx
368cc087a1SEmmanuel Vadot          - const: nvidia,tegra210-adx
378cc087a1SEmmanuel Vadot
388cc087a1SEmmanuel Vadot  reg:
398cc087a1SEmmanuel Vadot    maxItems: 1
408cc087a1SEmmanuel Vadot
418cc087a1SEmmanuel Vadot  sound-name-prefix:
428cc087a1SEmmanuel Vadot    pattern: "^ADX[1-9]$"
438cc087a1SEmmanuel Vadot
448cc087a1SEmmanuel Vadot  ports:
458cc087a1SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
468cc087a1SEmmanuel Vadot    description: |
478cc087a1SEmmanuel Vadot      ADX has one input and four outputs. Accordingly ACIF (Audio Client
488cc087a1SEmmanuel Vadot      Interface) port nodes are defined to represent ADX input (port 0)
498cc087a1SEmmanuel Vadot      and outputs (ports 1 to 4). These are connected to corresponding
508cc087a1SEmmanuel Vadot      ports on AHUB (Audio Hub).
518cc087a1SEmmanuel Vadot    properties:
528cc087a1SEmmanuel Vadot      port@0:
538cc087a1SEmmanuel Vadot        $ref: audio-graph-port.yaml#
548cc087a1SEmmanuel Vadot        unevaluatedProperties: false
558cc087a1SEmmanuel Vadot        description: ADX ACIF input port
568cc087a1SEmmanuel Vadot    patternProperties:
578cc087a1SEmmanuel Vadot      '^port@[1-4]':
588cc087a1SEmmanuel Vadot        $ref: audio-graph-port.yaml#
598cc087a1SEmmanuel Vadot        unevaluatedProperties: false
608cc087a1SEmmanuel Vadot        description: ADX ACIF output ports
618cc087a1SEmmanuel Vadot
628cc087a1SEmmanuel Vadotrequired:
638cc087a1SEmmanuel Vadot  - compatible
648cc087a1SEmmanuel Vadot  - reg
658cc087a1SEmmanuel Vadot
668cc087a1SEmmanuel VadotadditionalProperties: false
678cc087a1SEmmanuel Vadot
688cc087a1SEmmanuel Vadotexamples:
698cc087a1SEmmanuel Vadot  - |
708cc087a1SEmmanuel Vadot
718cc087a1SEmmanuel Vadot    adx@702d3800 {
728cc087a1SEmmanuel Vadot        compatible = "nvidia,tegra210-adx";
738cc087a1SEmmanuel Vadot        reg = <0x702d3800 0x100>;
748cc087a1SEmmanuel Vadot        sound-name-prefix = "ADX1";
758cc087a1SEmmanuel Vadot    };
768cc087a1SEmmanuel Vadot
778cc087a1SEmmanuel Vadot...
78