From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Sameer Pujar <spujar@nvidia.com>,
broonie@kernel.org, robh+dt@kernel.org,
krzysztof.kozlowski+dt@linaro.org, thierry.reding@gmail.com,
catalin.marinas@arm.com, will@kernel.org, perex@perex.cz,
tiwai@suse.com
Cc: jonathanh@nvidia.com, alsa-devel@alsa-project.org,
devicetree@vger.kernel.org, linux-tegra@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/6] ASoC: tegra: Add binding doc for OPE module
Date: Thu, 19 May 2022 13:40:54 +0200 [thread overview]
Message-ID: <049173a1-0fa6-510b-9169-ebe869b8a3b3@linaro.org> (raw)
In-Reply-To: <1652895372-29885-2-git-send-email-spujar@nvidia.com>
On 18/05/2022 19:36, 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 <spujar@nvidia.com>
> ---
> .../bindings/sound/nvidia,tegra210-ahub.yaml | 4 +
> .../bindings/sound/nvidia,tegra210-mbdrc.yaml | 51 ++++++++++++
> .../bindings/sound/nvidia,tegra210-ope.yaml | 91 ++++++++++++++++++++++
> .../bindings/sound/nvidia,tegra210-peq.yaml | 52 +++++++++++++
> 4 files changed, 198 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..1fb93d9 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#
>
> + '^ope@[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 00000000..199712ed
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-mbdrc.yaml
> @@ -0,0 +1,51 @@
> +# 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 Device Tree Bindings
s/Device Tree Bindings//
and then you have enough space to de-acronym this 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:
> + $nodename:
> + pattern: "^mbdrc@[0-9a-f]*$"
Why? We enforce only generic names in shared schemas and this is neither
shared schema nor is it generic name.
> +
> + 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:
> + - |
> +
No need for space
> + mbdrc@702d8200 {
Generic node name.
> + 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 00000000..92488fd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-ope.yaml
> @@ -0,0 +1,91 @@
> +# 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 Device Tree Bindings
Same comment.
> +
> +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:
> + $nodename:
> + pattern: "^ope@[0-9a-f]*$"
Same comment.
> +
> + 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: |
No need for |
> + 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: |
Ditto
> + OPE ACIF output port. This is connected to corresponding ACIF
> + input port on AHUB.
> +
> +patternProperties:
> + '^peq@[0-9a-f]+$':
> + type: object
> + $ref: nvidia,tegra210-peq.yaml#
> +
> + '^mbdrc@[0-9a-f]+$':
> + type: object
> + $ref: nvidia,tegra210-mbdrc.yaml#
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> +
Similar to other patch.
> + ope@702d8000 {
I would suggest generic node name, if it is possible.
> + 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 00000000..0f78746
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-peq.yaml
> @@ -0,0 +1,52 @@
> +# 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 Device Tree Bindings
Ditto
> +
> +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:
> + $nodename:
> + pattern: "^peq@[0-9a-f]*$"
Ditto
> +
> + 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:
> + - |
> +
Ditto
> + peq@702d8100 {
Generic node name, so this is "equalizer", I guess?
> + compatible = "nvidia,tegra210-peq";
> + reg = <0x702d8100 0x100>;
> + };
> +
> +...
Best regards,
Krzysztof
next prev parent reply other threads:[~2022-05-19 11:41 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-18 17:36 [PATCH 0/6] OPE support on Tegra210 and later Sameer Pujar
2022-05-18 17:36 ` [PATCH 1/6] ASoC: tegra: Add binding doc for OPE module Sameer Pujar
2022-05-19 11:40 ` Krzysztof Kozlowski [this message]
2022-05-19 17:40 ` Mark Brown
2022-05-20 4:19 ` Sameer Pujar
2022-05-20 6:51 ` Krzysztof Kozlowski
2022-05-21 6:46 ` Sameer Pujar
2022-05-18 17:36 ` [PATCH 2/6] ASoC: tegra: Add Tegra210 based OPE driver Sameer Pujar
2022-05-18 17:36 ` [PATCH 3/6] ASoC: tegra: AHUB routes for OPE module Sameer Pujar
2022-05-18 17:36 ` [PATCH 4/6] arm64: defconfig: Build Tegra " Sameer Pujar
2022-05-18 17:36 ` [PATCH 5/6] arm64: tegra: Add OPE device on Tegra210 and later Sameer Pujar
2022-05-18 17:36 ` [PATCH 6/6] arm64: tegra: Enable OPE on various platforms Sameer Pujar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=049173a1-0fa6-510b-9169-ebe869b8a3b3@linaro.org \
--to=krzysztof.kozlowski@linaro.org \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=jonathanh@nvidia.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=perex@perex.cz \
--cc=robh+dt@kernel.org \
--cc=spujar@nvidia.com \
--cc=thierry.reding@gmail.com \
--cc=tiwai@suse.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox