xref: /freebsd/sys/contrib/device-tree/Bindings/sound/nvidia,tegra186-asrc.yaml (revision b077aed33b7b6aefca7b17ddb250cf521f938613)
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 Device Tree Bindings
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: name-prefix.yaml#
27
28properties:
29  $nodename:
30    pattern: "^asrc@[0-9a-f]*$"
31
32  compatible:
33    oneOf:
34      - const: nvidia,tegra186-asrc
35      - items:
36          - enum:
37              - nvidia,tegra234-asrc
38              - nvidia,tegra194-asrc
39          - const: nvidia,tegra186-asrc
40
41  reg:
42    maxItems: 1
43
44  sound-name-prefix:
45    pattern: "^ASRC[1-9]$"
46
47  ports:
48    $ref: /schemas/graph.yaml#/properties/ports
49    description: |
50      ASRC has seven input ports and six output ports. Accordingly ACIF
51      (Audio Client Interfaces) port nodes are defined to represent the
52      ASRC inputs (port 0 to 6) and outputs (port 7 to 12). These are
53      connected to corresponding ports on AHUB (Audio Hub). Additional
54      input (port 6) is for receiving ratio information from estimator.
55
56    patternProperties:
57      '^port@[0-6]':
58        $ref: audio-graph-port.yaml#
59        unevaluatedProperties: false
60        description: ASRC ACIF input ports
61      '^port@[7-9]|1[1-2]':
62        $ref: audio-graph-port.yaml#
63        unevaluatedProperties: false
64        description: ASRC ACIF output ports
65
66required:
67  - compatible
68  - reg
69
70additionalProperties: false
71
72examples:
73  - |
74
75    asrc@2910000 {
76        compatible = "nvidia,tegra186-asrc";
77        reg = <0x2910000 0x2000>;
78        sound-name-prefix = "ASRC1";
79    };
80
81...
82