2022-06-04 09:07:05

by Sameer Pujar

[permalink] [raw]
Subject: [PATCH v3 1/6] 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 <[email protected]>
---
.../bindings/sound/nvidia,tegra210-ahub.yaml | 4 +
.../bindings/sound/nvidia,tegra210-mbdrc.yaml | 47 ++++++++++++
.../bindings/sound/nvidia,tegra210-ope.yaml | 87 ++++++++++++++++++++++
.../bindings/sound/nvidia,tegra210-peq.yaml | 48 ++++++++++++
4 files changed, 186 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-mbdrc.yaml
create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-ope.yaml
create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-peq.yaml

diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml
index 6df6f85..47b6e71 100644
--- a/Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml
@@ -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
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra210-mbdrc.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra210-mbdrc.yaml
new file mode 100644
index 0000000..5b91986
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-mbdrc.yaml
@@ -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 <[email protected]>
+ - Mohan Kumar <[email protected]>
+ - Sameer Pujar <[email protected]>
+
+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>;
+ };
+
+...
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra210-ope.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra210-ope.yaml
new file mode 100644
index 0000000..9dc9ba5
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-ope.yaml
@@ -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 <[email protected]>
+ - Mohan Kumar <[email protected]>
+ - Sameer Pujar <[email protected]>
+
+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";
+ };
+
+...
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra210-peq.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra210-peq.yaml
new file mode 100644
index 0000000..1e373c4
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-peq.yaml
@@ -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 <[email protected]>
+ - Mohan Kumar <[email protected]>
+ - Sameer Pujar <[email protected]>
+
+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>;
+ };
+
+...
--
2.7.4


2022-06-06 04:31:05

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v3 1/6] ASoC: tegra: Add binding doc for OPE module

On Fri, Jun 03, 2022 at 12:06:07PM +0530, Sameer Pujar wrote:
> 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 <[email protected]>
> ---
> .../bindings/sound/nvidia,tegra210-ahub.yaml | 4 +
> .../bindings/sound/nvidia,tegra210-mbdrc.yaml | 47 ++++++++++++
> .../bindings/sound/nvidia,tegra210-ope.yaml | 87 ++++++++++++++++++++++
> .../bindings/sound/nvidia,tegra210-peq.yaml | 48 ++++++++++++
> 4 files changed, 186 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-mbdrc.yaml
> create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-ope.yaml
> create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-peq.yaml

Doesn't apply for me. I guess there is some undocumented dependency
here? Resend after the merge window if that solves it.

Rob

2022-06-06 08:36:07

by Sameer Pujar

[permalink] [raw]
Subject: Re: [PATCH v3 1/6] ASoC: tegra: Add binding doc for OPE module


On 04-06-2022 02:00, Rob Herring wrote:
> Doesn't apply for me. I guess there is some undocumented dependency
> here? Resend after the merge window if that solves it.

These were getting applied fine on linux-next.

Merge window seems to have closed now and v5.19-rc1 release is out. I
can apply these cleanly on v5.19-rc1. Please let me know if re-send is
needed now or I need to wait for some more time? Thanks.

2022-06-06 14:01:58

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v3 1/6] ASoC: tegra: Add binding doc for OPE module

On Mon, Jun 06, 2022 at 01:47:48PM +0530, Sameer Pujar wrote:
>
> On 04-06-2022 02:00, Rob Herring wrote:
> > Doesn't apply for me. I guess there is some undocumented dependency
> > here? Resend after the merge window if that solves it.
>
> These were getting applied fine on linux-next.

linux-next is not a base maintainers can apply to. Convenient instead of
having to get a specific tree, but you still need to say what the base
is (what tree it should be applied to).

> Merge window seems to have closed now and v5.19-rc1 release is out. I can
> apply these cleanly on v5.19-rc1. Please let me know if re-send is needed
> now or I need to wait for some more time? Thanks.

Yes, or the automated checks don't run.

Rob