From: Rob Herring <robh@kernel.org>
To: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Cc: shraash@google.com, alsa-devel@alsa-project.org,
allen-kh.cheng@mediatek.com, kuninori.morimoto.gx@renesas.com,
lgirdwood@gmail.com, tiwai@suse.com, shane.chien@mediatek.com,
krzysztof.kozlowski+dt@linaro.org, claudiu.beznea@tuxon.dev,
kernel@collabora.com, nfraprado@collabora.com,
amergnat@baylibre.com, zhourui@huaqin.corp-partner.google.com,
jiaxin.yu@mediatek.com, trevor.wu@mediatek.com,
wenst@chromium.org, devicetree@vger.kernel.org,
conor+dt@kernel.org, ckeepax@opensource.cirrus.com,
arnd@arndb.de, frank.li@vivo.com, maso.huang@mediatek.com,
u.kleine-koenig@pengutronix.de, eugen.hristev@collabora.com,
alpernebiyasak@gmail.com, broonie@kernel.org,
linux-mediatek@lists.infradead.org, linux-sound@vger.kernel.org,
matthias.bgg@gmail.com, perex@perex.cz,
linux-arm-kernel@lists.infradead.org,
xiazhengqiao@huaqin.corp-partner.google.com,
dianders@chromium.org, linux-kernel@vger.kernel.org,
jarkko.nikula@bitmer.com
Subject: Re: [PATCH 19/22] ASoC: dt-bindings: mt8192: Document audio-routing and dai-link subnode
Date: Mon, 4 Mar 2024 08:23:41 -0600 [thread overview]
Message-ID: <20240304142341.GA156846-robh@kernel.org> (raw)
In-Reply-To: <20240227120939.290143-20-angelogioacchino.delregno@collabora.com>
On Tue, Feb 27, 2024 at 01:09:36PM +0100, AngeloGioacchino Del Regno wrote:
> Document the dai-link subnodes and the audio-routing property, allowing
> to describe machine specific audio hardware and links in device tree.
>
> While at it, also deprecate the old properties which were previously
> used with the driver's partially hardcoded configuration.
>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> ---
> .../sound/mt8192-mt6359-rt1015-rt5682.yaml | 129 ++++++++++++++++--
> 1 file changed, 121 insertions(+), 8 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/sound/mt8192-mt6359-rt1015-rt5682.yaml b/Documentation/devicetree/bindings/sound/mt8192-mt6359-rt1015-rt5682.yaml
> index 7e50f5d65c8f..78e221003750 100644
> --- a/Documentation/devicetree/bindings/sound/mt8192-mt6359-rt1015-rt5682.yaml
> +++ b/Documentation/devicetree/bindings/sound/mt8192-mt6359-rt1015-rt5682.yaml
> @@ -20,6 +20,15 @@ properties:
> - mediatek,mt8192_mt6359_rt1015p_rt5682
> - mediatek,mt8192_mt6359_rt1015p_rt5682s
>
> + audio-routing:
> + $ref: /schemas/types.yaml#/definitions/non-unique-string-array
Already defined in sound-card-common.yaml. Add a $ref.
> + description:
> + A list of the connections between audio components. Each entry is a
> + pair of strings, the first being the connection's sink, the second
> + being the connection's source.
> + Valid names could be the input or output widgets of audio components,
> + power supplies, MicBias of codec and the software switch.
Generally the names are defined here.
> +
> mediatek,platform:
> $ref: /schemas/types.yaml#/definitions/phandle
> description: The phandle of MT8192 ASoC platform.
> @@ -27,10 +36,12 @@ properties:
> mediatek,hdmi-codec:
> $ref: /schemas/types.yaml#/definitions/phandle
> description: The phandle of HDMI codec.
> + deprecated: true
>
> headset-codec:
> type: object
> additionalProperties: false
> + deprecated: true
>
> properties:
> sound-dai:
> @@ -41,6 +52,7 @@ properties:
> speaker-codecs:
> type: object
> additionalProperties: false
> + deprecated: true
>
> properties:
> sound-dai:
> @@ -51,13 +63,83 @@ properties:
> required:
> - sound-dai
>
> +patternProperties:
> + ".*-dai-link$":
> + type: object
> + description:
> + Container for dai-link level properties and CODEC sub-nodes.
> +
> + properties:
> + link-name:
> + description: Indicates dai-link name and PCM stream name
> + items:
> + enum:
> + - I2S0
> + - I2S1
> + - I2S2
> + - I2S3
> + - I2S4
> + - I2S5
> + - I2S6
> + - I2S7
> + - I2S8
> + - I2S9
> + - TDM
> +
> + codec:
> + description: Holds subnode which indicates codec dai.
> + type: object
> + additionalProperties: false
> + properties:
> + sound-dai:
> + minItems: 1
> + maxItems: 2
> + required:
> + - sound-dai
> +
> + dai-format:
> + description: audio format
> + items:
> + enum:
> + - i2s
> + - right_j
> + - left_j
> + - dsp_a
> + - dsp_b
> +
> + mediatek,clk-provider:
> + $ref: /schemas/types.yaml#/definitions/string
> + description: Indicates dai-link clock master.
> + items:
> + enum:
> + - cpu
> + - codec
> +
> + additionalProperties: false
Move this before properties.
> +
> + required:
> + - link-name
> +
> additionalProperties: false
>
> required:
> - compatible
> - mediatek,platform
> - - headset-codec
> - - speaker-codecs
> +
> +allOf:
> + # Disallow dai-link-xxx nodes if the legacy properties are specified
xxx-dai-link?
> + - if:
> + patternProperties:
> + ".*-dai-link$": false
> + then:
> + required:
> + - headset-codec
> + - speaker-codecs
> + else:
> + properties:
> + headset-codec: false
> + speaker-codecs: false
> + mediatek,hdmi-codec: false
Allowing both would preserve compatibility. That's not needed? If so,
say why in the commit msg.
>
> examples:
> - |
> @@ -65,19 +147,50 @@ examples:
> sound: mt8192-sound {
> compatible = "mediatek,mt8192_mt6359_rt1015_rt5682";
> mediatek,platform = <&afe>;
> - mediatek,hdmi-codec = <&anx_bridge_dp>;
> pinctrl-names = "aud_clk_mosi_off",
> "aud_clk_mosi_on";
> pinctrl-0 = <&aud_clk_mosi_off>;
> pinctrl-1 = <&aud_clk_mosi_on>;
>
> - headset-codec {
> - sound-dai = <&rt5682>;
> + audio-routing =
> + "Headphone Jack", "HPOL",
> + "Headphone Jack", "HPOR",
> + "IN1P", "Headset Mic",
> + "Speakers", "Speaker";
> +
> + spk-playback-dai-link {
> + link-name = "I2S3";
> + dai-format = "i2s";
> + mediatek,clk-provider = "cpu";
> + codec {
> + sound-dai = <&rt1015p>;
> + };
> + };
> +
> + hs-playback-dai-link {
> + link-name = "I2S8";
> + dai-format = "i2s";
> + mediatek,clk-provider = "cpu";
> + codec {
> + sound-dai = <&rt5682 0>;
> + };
> + };
> +
> + hs-capture-dai-link {
> + link-name = "I2S9";
> + dai-format = "i2s";
> + mediatek,clk-provider = "cpu";
> + codec {
> + sound-dai = <&rt5682 0>;
> + };
> };
>
> - speaker-codecs {
> - sound-dai = <&rt1015_l>,
> - <&rt1015_r>;
> + displayport-dai-link {
> + link-name = "TDM";
> + dai-format = "dsp_a";
> + codec {
> + sound-dai = <&anx_bridge_dp>;
> + };
> };
> };
>
> --
> 2.44.0
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2024-03-04 14:24 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-27 12:09 [PATCH 00/22] ASoC: Cleanup MediaTek soundcard machine drivers AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 01/22] ASoC: mediatek: mt8192-afe-pcm: Convert to devm_pm_runtime_enable() AngeloGioacchino Del Regno
2024-02-29 3:23 ` Chen-Yu Tsai
2024-02-27 12:09 ` [PATCH 02/22] ASoC: mediatek: mt8192-afe-pcm: Simplify with dev_err_probe() AngeloGioacchino Del Regno
2024-02-29 3:25 ` Chen-Yu Tsai
2024-02-27 12:09 ` [PATCH 03/22] ASoC: mediatek: Commonize ADDA rate transform functions and enums AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 04/22] ASoC: mediatek: Assign dummy when codec not specified for a DAI link AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 05/22] ASoC: mediatek: Add common machine soundcard driver probe mechanism AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 06/22] ASoC: mediatek: common: Constify struct mtk_sof_priv AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 07/22] ASoC: mediatek: mt8188: Migrate to mtk_soundcard_common_probe AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 08/22] ASoC: mediatek: mt8195: " AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 09/22] ASoC: mediatek: mt8192: " AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 10/22] ASoC: mediatek: mt8186: " AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 11/22] ASoC: mediatek: Add common snd_soc_ops .startup() callback AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 12/22] ASoC: mediatek: mt8195: Migrate to the common mtk_soundcard_startup AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 13/22] ASoC: mediatek: mt8192: " AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 14/22] ASoC: mediatek: mt8186-rt1019: " AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 15/22] ASoC: mediatek: Add common mtk_afe_component_probe callback AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 16/22] ASoC: mediatek: Use common mtk_afe_pcm_platform with common probe cb AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 17/22] ASoC: mediatek: mt8186: Unify mt8186-mt6366 machine drivers AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 18/22] ASoC: dt-bindings: mt8195: Document audio-routing and dai-link subnode AngeloGioacchino Del Regno
2024-02-29 8:25 ` Krzysztof Kozlowski
2024-02-29 9:10 ` AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 19/22] ASoC: dt-bindings: mt8192: " AngeloGioacchino Del Regno
2024-03-04 14:23 ` Rob Herring [this message]
2024-03-05 11:20 ` AngeloGioacchino Del Regno
2024-03-07 14:03 ` Rob Herring
2024-03-07 14:26 ` AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 20/22] ASoC: dt-bindings: mt8186: " AngeloGioacchino Del Regno
2024-03-04 14:24 ` Rob Herring
2024-02-27 12:09 ` [PATCH 21/22] arm64: dts: mediatek: mt8195-cherry: Specify sound DAI links and routing AngeloGioacchino Del Regno
2024-02-27 12:09 ` [PATCH 22/22] arm64: dts: mediatek: mt8186-corsola: " AngeloGioacchino Del Regno
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=20240304142341.GA156846-robh@kernel.org \
--to=robh@kernel.org \
--cc=allen-kh.cheng@mediatek.com \
--cc=alpernebiyasak@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=amergnat@baylibre.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=arnd@arndb.de \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=claudiu.beznea@tuxon.dev \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=eugen.hristev@collabora.com \
--cc=frank.li@vivo.com \
--cc=jarkko.nikula@bitmer.com \
--cc=jiaxin.yu@mediatek.com \
--cc=kernel@collabora.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--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-mediatek@lists.infradead.org \
--cc=linux-sound@vger.kernel.org \
--cc=maso.huang@mediatek.com \
--cc=matthias.bgg@gmail.com \
--cc=nfraprado@collabora.com \
--cc=perex@perex.cz \
--cc=shane.chien@mediatek.com \
--cc=shraash@google.com \
--cc=tiwai@suse.com \
--cc=trevor.wu@mediatek.com \
--cc=u.kleine-koenig@pengutronix.de \
--cc=wenst@chromium.org \
--cc=xiazhengqiao@huaqin.corp-partner.google.com \
--cc=zhourui@huaqin.corp-partner.google.com \
/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;
as well as URLs for NNTP newsgroup(s).