mirror of
https://github.com/torvalds/linux.git
synced 2024-12-11 05:33:09 +00:00
ASoC: tegra: Add binding doc for OPE module
This patch adds YAML schema for DT bindings of Output Processing Engine (OPE) module. It consists of Parametric Equalizer (PEQ) and Multi Band Dynamic Range Compressor (MBDRC) sub blocks and binding doc for these blocks are added as well. The OPE will be registered as an ASoC component and can be plugged into an audio path as per need via ALSA mixer controls. The DT bindings are applicable on Tegra210 and later SoCs where OPE module is present. Signed-off-by: Sameer Pujar <spujar@nvidia.com> Link: https://lore.kernel.org/r/1654238172-16293-2-git-send-email-spujar@nvidia.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
be1a63daff
commit
45c6c5e052
@ -110,6 +110,10 @@ patternProperties:
|
||||
type: object
|
||||
$ref: nvidia,tegra186-asrc.yaml#
|
||||
|
||||
'^processing-engine@[0-9a-f]+$':
|
||||
type: object
|
||||
$ref: nvidia,tegra210-ope.yaml#
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
@ -0,0 +1,47 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/nvidia,tegra210-mbdrc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Tegra210 MBDRC
|
||||
|
||||
description:
|
||||
The Multi Band Dynamic Range Compressor (MBDRC) is part of Output
|
||||
Processing Engine (OPE) which interfaces with Audio Hub (AHUB) via
|
||||
Audio Client Interface (ACIF). MBDRC can be used as a traditional
|
||||
single full band or a dual band or a multi band dynamic processor.
|
||||
|
||||
maintainers:
|
||||
- Jon Hunter <jonathanh@nvidia.com>
|
||||
- Mohan Kumar <mkumard@nvidia.com>
|
||||
- Sameer Pujar <spujar@nvidia.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: nvidia,tegra210-mbdrc
|
||||
- items:
|
||||
- enum:
|
||||
- nvidia,tegra234-mbdrc
|
||||
- nvidia,tegra194-mbdrc
|
||||
- nvidia,tegra186-mbdrc
|
||||
- const: nvidia,tegra210-mbdrc
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
dynamic-range-compressor@702d8200 {
|
||||
compatible = "nvidia,tegra210-mbdrc";
|
||||
reg = <0x702d8200 0x200>;
|
||||
};
|
||||
|
||||
...
|
@ -0,0 +1,87 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/nvidia,tegra210-ope.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Tegra210 OPE
|
||||
|
||||
description:
|
||||
The Output Processing Engine (OPE) is one of the AHUB client. It has
|
||||
PEQ (Parametric Equalizer) and MBDRC (Multi Band Dynamic Range Compressor)
|
||||
sub blocks for data processing.
|
||||
|
||||
maintainers:
|
||||
- Jon Hunter <jonathanh@nvidia.com>
|
||||
- Mohan Kumar <mkumard@nvidia.com>
|
||||
- Sameer Pujar <spujar@nvidia.com>
|
||||
|
||||
allOf:
|
||||
- $ref: name-prefix.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: nvidia,tegra210-ope
|
||||
- items:
|
||||
- enum:
|
||||
- nvidia,tegra234-ope
|
||||
- nvidia,tegra194-ope
|
||||
- nvidia,tegra186-ope
|
||||
- const: nvidia,tegra210-ope
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
ranges: true
|
||||
|
||||
sound-name-prefix:
|
||||
pattern: "^OPE[1-9]$"
|
||||
|
||||
ports:
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
properties:
|
||||
port@0:
|
||||
$ref: audio-graph-port.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
OPE ACIF (Audio Client Interface) input port. This is connected
|
||||
to corresponding ACIF output port on AHUB (Audio Hub).
|
||||
|
||||
port@1:
|
||||
$ref: audio-graph-port.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
OPE ACIF output port. This is connected to corresponding ACIF
|
||||
input port on AHUB.
|
||||
|
||||
patternProperties:
|
||||
'^equalizer@[0-9a-f]+$':
|
||||
type: object
|
||||
$ref: nvidia,tegra210-peq.yaml#
|
||||
|
||||
'^dynamic-range-compressor@[0-9a-f]+$':
|
||||
type: object
|
||||
$ref: nvidia,tegra210-mbdrc.yaml#
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
processing-engine@702d8000 {
|
||||
compatible = "nvidia,tegra210-ope";
|
||||
reg = <0x702d8000 0x100>;
|
||||
sound-name-prefix = "OPE1";
|
||||
};
|
||||
|
||||
...
|
@ -0,0 +1,48 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/nvidia,tegra210-peq.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Tegra210 PEQ
|
||||
|
||||
description:
|
||||
The Parametric Equalizer (PEQ) is a cascade of biquad filters with
|
||||
each filter tuned based on certain parameters. It can be used to
|
||||
equalize the irregularities in the speaker frequency response.
|
||||
PEQ sits inside Output Processing Engine (OPE) which interfaces
|
||||
with Audio Hub (AHUB) via Audio Client Interface (ACIF).
|
||||
|
||||
maintainers:
|
||||
- Jon Hunter <jonathanh@nvidia.com>
|
||||
- Mohan Kumar <mkumard@nvidia.com>
|
||||
- Sameer Pujar <spujar@nvidia.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: nvidia,tegra210-peq
|
||||
- items:
|
||||
- enum:
|
||||
- nvidia,tegra234-peq
|
||||
- nvidia,tegra194-peq
|
||||
- nvidia,tegra186-peq
|
||||
- const: nvidia,tegra210-peq
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
equalizer@702d8100 {
|
||||
compatible = "nvidia,tegra210-peq";
|
||||
reg = <0x702d8100 0x100>;
|
||||
};
|
||||
|
||||
...
|
Loading…
Reference in New Issue
Block a user