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