LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Sameer Pujar <spujar@nvidia.com>
Cc: broonie@kernel.org, lgirdwood@gmail.com,
thierry.reding@gmail.com, jonathanh@nvidia.com,
catalin.marinas@arm.com, will@kernel.org, perex@perex.cz,
tiwai@suse.com, kuninori.morimoto.gx@renesas.com,
sharadg@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 04/13] ASoC: dt-bindings: tegra: Few more Tegra210 AHUB modules
Date: Tue, 31 Aug 2021 15:21:33 -0500 [thread overview]
Message-ID: <YS6PTYwwu9tU8TWX@robh.at.kernel.org> (raw)
In-Reply-To: <1630056839-6562-5-git-send-email-spujar@nvidia.com>
On Fri, Aug 27, 2021 at 03:03:50PM +0530, Sameer Pujar wrote:
> This patch adds YAML schema for DT bindings of few AHUB modules.
> These devices will be registered as ASoC components and bindings
> will be used on Tegra210 and later chips. The bindings for below
> mentioned modules are added:
>
> * SFC (Sampling Frequency Converter)
> * MVC (Master Volume Control)
> * AMX (Audio Multiplexer)
> * ADX (Audio Demultiplexer)
> * Mixer
>
> Signed-off-by: Sameer Pujar <spujar@nvidia.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> ---
> .../bindings/sound/nvidia,tegra210-adx.yaml | 74 ++++++++++++++++++++
> .../bindings/sound/nvidia,tegra210-ahub.yaml | 20 ++++++
> .../bindings/sound/nvidia,tegra210-amx.yaml | 72 ++++++++++++++++++++
> .../bindings/sound/nvidia,tegra210-mixer.yaml | 67 ++++++++++++++++++
> .../bindings/sound/nvidia,tegra210-mvc.yaml | 79 ++++++++++++++++++++++
> .../bindings/sound/nvidia,tegra210-sfc.yaml | 76 +++++++++++++++++++++
> 6 files changed, 388 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-adx.yaml
> create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-amx.yaml
> create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-mixer.yaml
> create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-mvc.yaml
> create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-sfc.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra210-adx.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra210-adx.yaml
> new file mode 100644
> index 0000000..9950585
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-adx.yaml
> @@ -0,0 +1,74 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/nvidia,tegra210-adx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Tegra210 ADX Device Tree Bindings
> +
> +description: |
> + The Audio Demultiplexer (ADX) block takes an input stream with up to
extra spaces.
> + 16 channels and demultiplexes it into four output streams of up to 16
> + channels each. A byte RAM helps to form output frames by any combination
> + of bytes from the input frame. Its design is identical to that of byte
> + RAM in the AMX except that the data flow direction is reversed.
> +
> +maintainers:
> + - Jon Hunter <jonathanh@nvidia.com>
> + - Mohan Kumar <mkumard@nvidia.com>
> + - Sameer Pujar <spujar@nvidia.com>
> +
> +properties:
> + $nodename:
> + pattern: "^adx@[0-9a-f]*$"
> +
> + compatible:
> + oneOf:
> + - const: nvidia,tegra210-adx
> + - items:
> + - enum:
> + - nvidia,tegra194-adx
> + - nvidia,tegra186-adx
> + - const: nvidia,tegra210-adx
> +
> + reg:
> + maxItems: 1
> +
> + sound-name-prefix:
nvidia,sound-name-prefix
> + pattern: "^ADX[1-9]$"
> + $ref: /schemas/types.yaml#/definitions/string
> + description:
> + used as prefix for sink/source names of the component. Must be a
> + unique string among multiple instances of the same component.
> + The name can be "ADX1" or "ADX2" ... "ADXx", where x depends on
> + the maximum available instances on a Tegra SoC.
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> + description: |
> + ADX has one input and four output. Accordingly ACIF (Audio Client
You need to define the port numbers for the input and each output.
> + Interface) RX and TX port nodes are defined to represent ADX inputs
> + and output respectively. These are connected to corresponding ports
> + on AHUB.
> +
> + patternProperties:
> + '^port@[0-9]':
Per above, this will need to be split at least into input and output
ports.
Same issues in the other schemas.
> + $ref: audio-graph-port.yaml#
> + unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> +
> + adx@702d3800 {
> + compatible = "nvidia,tegra210-adx";
> + reg = <0x702d3800 0x100>;
> + sound-name-prefix = "ADX1";
> + };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml
> index 1118a94..4087eeb 100644
> --- a/Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml
> +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml
> @@ -85,6 +85,26 @@ patternProperties:
> type: object
> $ref: nvidia,tegra186-dspk.yaml#
>
> + '^mvc@[0-9a-f]+$':
> + type: object
> + $ref: nvidia,tegra210-mvc.yaml#
> +
> + '^sfc@[0-9a-f]+$':
> + type: object
> + $ref: nvidia,tegra210-sfc.yaml#
> +
> + '^amx@[0-9a-f]+$':
> + type: object
> + $ref: nvidia,tegra210-amx.yaml#
> +
> + '^adx@[0-9a-f]+$':
> + type: object
> + $ref: nvidia,tegra210-adx.yaml#
> +
> + '^mixer@[0-9a-f]+$':
> + type: object
> + $ref: nvidia,tegra210-mixer.yaml#
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra210-amx.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra210-amx.yaml
> new file mode 100644
> index 0000000..e6b365b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-amx.yaml
> @@ -0,0 +1,72 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/nvidia,tegra210-amx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Tegra210 AMX Device Tree Bindings
> +
> +description: |
> + The Audio Multiplexer (AMX) block can multiplex up to four input streams
> + each of which can have maximum 16 channels and generate an output stream
> + with maximum 16 channels. A byte RAM helps to form an output frame by
> + any combination of bytes from the input frames.
> +
> +maintainers:
> + - Jon Hunter <jonathanh@nvidia.com>
> + - Mohan Kumar <mkumard@nvidia.com>
> + - Sameer Pujar <spujar@nvidia.com>
> +
> +properties:
> + $nodename:
> + pattern: "^amx@[0-9a-f]*$"
> +
> + compatible:
> + oneOf:
> + - const: nvidia,tegra210-amx
> + - items:
> + - const: nvidia,tegra186-amx
> + - const: nvidia,tegra210-amx
> + - const: nvidia,tegra194-amx
> +
> + reg:
> + maxItems: 1
> +
> + sound-name-prefix:
> + pattern: "^AMX[1-9]$"
> + $ref: /schemas/types.yaml#/definitions/string
> + description:
> + used as prefix for sink/source names of the component. Must be a
> + unique string among multiple instances of the same component.
> + The name can be "AMX1" or "AMX2" ... "AMXx", where x depends on
> + the maximum available instances on a Tegra SoC.
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> + description: |
> + AMX has four inputs and one output. Accordingly ACIF (Audio Client
> + Interfaces) RX and TX port nodes are defined to represent AMX inputs
> + and output respectively. These are connected to corresponding ports
> + on AHUB.
> +
> + patternProperties:
> + '^port@[0-9]':
> + $ref: audio-graph-port.yaml#
> + unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> +
> + amx@702d3000 {
> + compatible = "nvidia,tegra210-amx";
> + reg = <0x702d3000 0x100>;
> + sound-name-prefix = "AMX1";
> + };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra210-mixer.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra210-mixer.yaml
> new file mode 100644
> index 0000000..0808355
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-mixer.yaml
> @@ -0,0 +1,67 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/nvidia,tegra210-mixer.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Tegra210 Mixer Device Tree Bindings
> +
> +description: |
> + The Mixer supports mixing of up to ten 7.1 audio input streams and
> + generate five outputs (each of which can be any combination of the
> + ten input streams).
> +
> +maintainers:
> + - Jon Hunter <jonathanh@nvidia.com>
> + - Mohan Kumar <mkumard@nvidia.com>
> + - Sameer Pujar <spujar@nvidia.com>
> +
> +properties:
> + $nodename:
> + pattern: "^mixer@[0-9a-f]*$"
> +
> + compatible:
> + oneOf:
> + - const: nvidia,tegra210-amixer
> + - items:
> + - enum:
> + - nvidia,tegra194-amixer
> + - nvidia,tegra186-amixer
> + - const: nvidia,tegra210-amixer
> +
> + reg:
> + maxItems: 1
> +
> + sound-name-prefix:
> + const: "MIXER"
Don't need quotes. A fixed string seems a bit pointless to put into DT.
> + $ref: /schemas/types.yaml#/definitions/string
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> + description: |
> + Mixer has ten inputs and five outputs. Accordingly ACIF (Audio Client
> + Interfaces) RX and TX port nodes are defined to represent MIXER inputs
> + and outputs respectively. These are connected to corresponding ports
> + on AHUB.
> +
> + patternProperties:
> + '^port@[0-9]':
> + $ref: audio-graph-port.yaml#
> + unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> +
> + mixer@702dbb00 {
> + compatible = "nvidia,tegra210-amixer";
> + reg = <0x702dbb00 0x800>;
> + sound-name-prefix = "MIXER";
> + };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra210-mvc.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra210-mvc.yaml
> new file mode 100644
> index 0000000..7d81b11
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-mvc.yaml
> @@ -0,0 +1,79 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/nvidia,tegra210-mvc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Tegra210 MVC Device Tree Bindings
> +
> +description: |
> + The Master Volume Control (MVC) provides gain or attenuation to a digital
> + signal path. It can be used in input or output signal path for per-stream
> + volume control or it can be used as master volume control. The MVC block
> + has one input and one output. The input digital stream can be mono or
> + multi-channel (up to 7.1 channels) stream. An independent mute control is
> + also included in the MVC block.
> +
> +maintainers:
> + - Jon Hunter <jonathanh@nvidia.com>
> + - Mohan Kumar <mkumard@nvidia.com>
> + - Sameer Pujar <spujar@nvidia.com>
> +
> +properties:
> + $nodename:
> + pattern: "^mvc@[0-9a-f]*$"
> +
> + compatible:
> + oneOf:
> + - const: nvidia,tegra210-mvc
> + - items:
> + - enum:
> + - nvidia,tegra194-mvc
> + - nvidia,tegra186-mvc
> + - const: nvidia,tegra210-mvc
> +
> + reg:
> + maxItems: 1
> +
> + sound-name-prefix:
> + pattern: "^MVC[1-9]$"
> + $ref: /schemas/types.yaml#/definitions/string
> + description:
> + used as prefix for sink/source names of the component. Must be a
> + unique string among multiple instances of the same component.
> + The name can be "MVC1" or "MVC2" ... "MVCx", where x depends on
> + the maximum available instances on a Tegra SoC.
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> + properties:
> + port@0:
> + $ref: audio-graph-port.yaml#
> + unevaluatedProperties: false
> + description: |
> + ACIF (Audio Client Interface) acting as MVC input (RX) port.
> + This is connected to corresponding ACIF port on AHUB.
> +
> + port@1:
> + $ref: audio-graph-port.yaml#
> + unevaluatedProperties: false
> + description: |
> + ACIF (Audio Client Interface) acting as MVC output (TX) port.
> + This is connected to corresponding ACIF port on AHUB.
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> +
> + mvc@702da000 {
> + compatible = "nvidia,tegra210-mvc";
> + reg = <0x702da000 0x200>;
> + sound-name-prefix = "MVC1";
> + };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra210-sfc.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra210-sfc.yaml
> new file mode 100644
> index 0000000..5f05e2a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-sfc.yaml
> @@ -0,0 +1,76 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/nvidia,tegra210-sfc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Tegra210 SFC Device Tree Bindings
> +
> +description: |
> + The Sampling Frequency Converter (SFC) converts the sampling frequency
> + of the input signal from one frequency to another. It supports sampling
> + frequency conversions of streams of up to two channels (stereo).
> +
> +maintainers:
> + - Jon Hunter <jonathanh@nvidia.com>
> + - Mohan Kumar <mkumard@nvidia.com>
> + - Sameer Pujar <spujar@nvidia.com>
> +
> +properties:
> + $nodename:
> + pattern: "^sfc@[0-9a-f]*$"
> +
> + compatible:
> + oneOf:
> + - const: nvidia,tegra210-sfc
> + - items:
> + - enum:
> + - nvidia,tegra194-sfc
> + - nvidia,tegra186-sfc
> + - const: nvidia,tegra210-sfc
> +
> + reg:
> + maxItems: 1
> +
> + sound-name-prefix:
> + pattern: "^SFC[1-9]$"
> + $ref: /schemas/types.yaml#/definitions/string
> + description:
> + used as prefix for sink/source names of the component. Must be a
> + unique string among multiple instances of the same component.
> + The name can be "SFC1" or "SFC2" ... "SFCx", where x depends on
> + the maximum available instances on a Tegra SoC.
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> + properties:
> + port@0:
> + $ref: audio-graph-port.yaml#
> + unevaluatedProperties: false
> + description: |
> + ACIF (Audio Client Interface) acting as SFC input (RX) port.
> + This is connected to corresponding ACIF port on AHUB.
> +
> + port@1:
> + $ref: audio-graph-port.yaml#
> + unevaluatedProperties: false
> + description: |
> + ACIF (Audio Client Interface) acting as SFC output (TX) port.
> + This is connected to corresponding ACIF port on AHUB.
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> +
> + sfc@702d2000 {
> + compatible = "nvidia,tegra210-sfc";
> + reg = <0x702d2000 0x200>;
> + sound-name-prefix = "SFC1";
> + };
> +
> +...
> --
> 2.7.4
>
>
next prev parent reply other threads:[~2021-08-31 20:21 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-27 9:33 [PATCH 00/13] Extend AHUB audio support for Tegra210 and later Sameer Pujar
2021-08-27 9:33 ` [PATCH 01/13] ASoC: soc-pcm: Don't reconnect an already active BE Sameer Pujar
2021-09-28 21:25 ` Pierre-Louis Bossart
2021-09-29 7:43 ` Sameer Pujar
[not found] ` <2f96f1aa-74f2-8ea8-3f43-e4da97400fde@linux.intel.com>
2021-09-29 14:52 ` Pierre-Louis Bossart
2021-09-30 7:57 ` Sameer Pujar
2021-09-30 14:34 ` Pierre-Louis Bossart
2021-09-30 15:35 ` Sameer Pujar
2021-09-30 16:13 ` Pierre-Louis Bossart
2021-09-30 19:00 ` Pierre-Louis Bossart
2021-10-04 4:38 ` Sameer Pujar
2021-08-27 9:33 ` [PATCH 02/13] ASoC: simple-card-utils: Increase maximum DAI links limit to 512 Sameer Pujar
2021-08-27 9:33 ` [PATCH 03/13] ASoC: audio-graph: Fixup CPU endpoint hw_params in a BE<->BE link Sameer Pujar
2021-08-27 9:33 ` [PATCH 04/13] ASoC: dt-bindings: tegra: Few more Tegra210 AHUB modules Sameer Pujar
2021-08-31 20:21 ` Rob Herring [this message]
2021-09-01 7:09 ` Sameer Pujar
2021-08-27 9:33 ` [PATCH 05/13] ASoC: tegra: Add routes for few " Sameer Pujar
2021-08-27 9:33 ` [PATCH 06/13] ASoC: tegra: Add Tegra210 based MVC driver Sameer Pujar
2021-09-03 18:13 ` Mark Brown
[not found] ` <7b248062-9a62-524c-4c96-295685e211b1@nvidia.com>
[not found] ` <86fc49a3-4cac-78c7-2c0c-eaee8e49d387@nvidia.com>
2021-09-09 14:20 ` Mark Brown
[not found] ` <29c785d0-cc70-7cce-c205-77059c11e0e1@nvidia.com>
2021-09-13 14:23 ` Mark Brown
2021-08-27 9:33 ` [PATCH 07/13] ASoC: tegra: Add Tegra210 based SFC driver Sameer Pujar
2021-08-27 9:33 ` [PATCH 08/13] ASoC: tegra: Add Tegra210 based AMX driver Sameer Pujar
2021-08-27 9:33 ` [PATCH 09/13] ASoC: tegra: Add Tegra210 based ADX driver Sameer Pujar
2021-08-27 9:33 ` [PATCH 10/13] ASoC: tegra: Add Tegra210 based Mixer driver Sameer Pujar
2021-08-27 9:33 ` [PATCH 11/13] arm64: defconfig: Enable few Tegra210 based AHUB drivers Sameer Pujar
2021-08-27 9:33 ` [PATCH 12/13] arm64: tegra: Add few AHUB devices for Tegra210 and later Sameer Pujar
2021-08-27 9:33 ` [PATCH 13/13] arm64: tegra: Extend APE audio support on Jetson platforms Sameer Pujar
2021-09-08 4:56 ` [PATCH 00/13] Extend AHUB audio support for Tegra210 and later 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=YS6PTYwwu9tU8TWX@robh.at.kernel.org \
--to=robh@kernel.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=kuninori.morimoto.gx@renesas.com \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=perex@perex.cz \
--cc=sharadg@nvidia.com \
--cc=spujar@nvidia.com \
--cc=thierry.reding@gmail.com \
--cc=tiwai@suse.com \
--cc=will@kernel.org \
--subject='Re: [PATCH 04/13] ASoC: dt-bindings: tegra: Few more Tegra210 AHUB modules' \
/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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).