xref: /linux/Documentation/devicetree/bindings/sound/nvidia,tegra186-asrc.yaml (revision 50b7e7082a3dde5bdba14a4e40a2e2279fd08a7b)
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,tegra186-asrc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Tegra186 ASRC
8
9description: |
10  Asynchronous Sample Rate Converter (ASRC) converts the sampling frequency
11  of the input signal from one frequency to another. It can handle over a
12  wide range of sample rate ratios (freq_in/freq_out) from 1:24 to 24:1.
13  ASRC has two modes of operation. One where ratio can be programmed in SW
14  and the other where it gets the information from ratio estimator module.
15
16  It supports  sample rate conversions in the range of 8 to 192 kHz and
17  supports 6 streams upto 12 total channels. The input data size can be
18  16, 24 and 32 bits.
19
20maintainers:
21  - Jon Hunter <jonathanh@nvidia.com>
22  - Mohan Kumar <mkumard@nvidia.com>
23  - Sameer Pujar <spujar@nvidia.com>
24
25allOf:
26  - $ref: dai-common.yaml#
27
28properties:
29  $nodename:
30    pattern: "^asrc@[0-9a-f]*$"
31
32  compatible:
33    oneOf:
34      - enum:
35          - nvidia,tegra186-asrc
36          - nvidia,tegra264-asrc
37      - items:
38          - enum:
39              - nvidia,tegra234-asrc
40              - nvidia,tegra194-asrc
41          - const: nvidia,tegra186-asrc
42
43  reg:
44    maxItems: 1
45
46  sound-name-prefix:
47    pattern: "^ASRC[1-9]$"
48
49  ports:
50    $ref: /schemas/graph.yaml#/properties/ports
51    description: |
52      ASRC has seven input ports and six output ports. Accordingly ACIF
53      (Audio Client Interfaces) port nodes are defined to represent the
54      ASRC inputs (port 0 to 6) and outputs (port 7 to 12). These are
55      connected to corresponding ports on AHUB (Audio Hub). Additional
56      input (port 6) is for receiving ratio information from estimator.
57
58    patternProperties:
59      '^port@[0-6]':
60        $ref: audio-graph-port.yaml#
61        unevaluatedProperties: false
62        description: ASRC ACIF input ports
63      '^port@[7-9]|1[1-2]':
64        $ref: audio-graph-port.yaml#
65        unevaluatedProperties: false
66        description: ASRC ACIF output ports
67
68required:
69  - compatible
70  - reg
71
72additionalProperties: false
73
74examples:
75  - |
76
77    asrc@2910000 {
78        compatible = "nvidia,tegra186-asrc";
79        reg = <0x2910000 0x2000>;
80        sound-name-prefix = "ASRC1";
81    };
82
83...
84