Received: by 2002:ab2:788f:0:b0:1ee:8f2e:70ae with SMTP id b15csp501317lqi; Thu, 7 Mar 2024 03:50:13 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWsXW2uyTDc4om2oVIZqGkGAYxFwYtkoaOSyb0t6QSInyhXW3fq3PekIhX8SPQR6SAoCweN0UlGBTUtBighI6Z8J5KmnNQiy0r4HDubhw== X-Google-Smtp-Source: AGHT+IFG37sjaGBqOe2Udjy5dw+XmZiAkaS+IJEAbUqmfw+vS9di92VZOkuC7nEBR6BCcbDG5qxj X-Received: by 2002:a05:6358:5e08:b0:17b:f881:6649 with SMTP id q8-20020a0563585e0800b0017bf8816649mr6532082rwn.26.1709812213376; Thu, 07 Mar 2024 03:50:13 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709812213; cv=pass; d=google.com; s=arc-20160816; b=Q60Xl29zqe6V3asjh/+MB6rwQ66gp6Et0ynRAX1ApAkDqDlc11+po6TaIC8zuPjipK KE1U9mhpCuXKZ3KWSFfbtPssy4KmOf7EH9xR8U25QdAenHAG2gKiPXnQFJxpuRO11uqg XQ5w80rhIXNwsZIjR54jQmsRr+lXMW8eUqMnsZKPgCDAW5cgDxOXjkHiHWw9E7wZsBPy YgxqFti4QS/IK5vKMf/oJLjdq8HYlbrI5h5/XTXXryN8ttWuQLur/iq5/iKx81F10zNZ 413WP0PVLsHJjqVHLJUckrJecySlSG4LXaWIwe0zQtt8WH8aj6WwZc7GLwtouWJVYeqE WfaA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=tFSJwcz5k3psK6wQn9vHAxcjXrXfl1v982u8Lf3cp2U=; fh=9iEt4iCRn9CzCxci4w2sdEG90CBf9Xi5ef9RsAZByLs=; b=iWJKPfcMvVlyouyanAzTaQRxicebUOJVHyOxTQGRt4Y7Q7+I7gmuBdApCa0kZc/sut VNLbee/adij3gZPtA4f+vuCfX/ekpWU3xBsBuCP3qTGiCSv4wxLB85UjvxD8z05AOSB7 3kn1UxGBk+VAzSolwDYI7W5VVHQIDqiJcpmWHunETtrPneOkCFR8EQH+V0T5EYOtXbTI fOEZg7Dwa7asrHegz0c53BkcDVEFO8TpaH7PN5T8rW0el36XluFWpnbBq/q+lxEJ/znb pC6LN4i6V1z8YrgNdWCzyZ+MgqwnScISW4QAV4Bn4Xx8J9FEvPohD2K5He9qtnwkne8X 5llQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=VMLHOpi8; arc=pass (i=1 spf=pass spfdomain=collabora.com dkim=pass dkdomain=collabora.com dmarc=pass fromdomain=collabora.com); spf=pass (google.com: domain of linux-kernel+bounces-95480-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-95480-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id c5-20020a05620a11a500b00787b021007asi11262229qkk.40.2024.03.07.03.50.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Mar 2024 03:50:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-95480-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=VMLHOpi8; arc=pass (i=1 spf=pass spfdomain=collabora.com dkim=pass dkdomain=collabora.com dmarc=pass fromdomain=collabora.com); spf=pass (google.com: domain of linux-kernel+bounces-95480-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-95480-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 0EB361C22999 for ; Thu, 7 Mar 2024 11:50:13 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 702BC12A175; Thu, 7 Mar 2024 11:45:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="VMLHOpi8" Received: from madrid.collaboradmins.com (madrid.collaboradmins.com [46.235.227.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 975FB12F583; Thu, 7 Mar 2024 11:45:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=46.235.227.194 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709811939; cv=none; b=J5gKqV1iTiJ7xaW0tIbQv4ELhbyHMUodF457KlfhZAd7UaTbZPj82S1qkthkQZENzrL/nu46GK4ndGuB1pRpPOXW5VkM3qMP9E0uK6Cywza6ZCvfOP6jCTJTb9yrbAsKK0wuaCB8vb5sncWLMe9juZW5sgrNJhZSUPkc121gQAI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709811939; c=relaxed/simple; bh=IBBs8wsWLVP6Y6LCDKxs6KnJVjZKYs0pi1oC6afZdDg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=opFuulVcc5egtutKPTMf3j6o40VRZB9q/AoWfrqQpc/8XAKuCUCX8j929NZ3lx9fbv4lQADEYNjsBkGZRQpCaa4+PF+cvyRVy0poROew7g166h9n9qPCYN9Q2bGX8JYmQCrmj18asfu1RY3QI6/i2REoBbCM6OIlHAAkyhiPUaw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=VMLHOpi8; arc=none smtp.client-ip=46.235.227.194 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1709811935; bh=IBBs8wsWLVP6Y6LCDKxs6KnJVjZKYs0pi1oC6afZdDg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VMLHOpi8HO3X1y/V0VmnYZCb1fHKBWd925C6HvZOlchCNfCFBPUlrK9FN1B/hv9C5 GxkdIhiBS+PepU/wyAXGdpCHre5xzD8z75CFQn6gtLOiqDe8SfbDjVUFtwLJXp7rtq zrhiSAUiQ8EdBIyhB5MJNsz4D0YCzj1V1Cc56c7Bw6uh4FD5xlOwSXRx+tNOcdhLWh YN12PusIM0Z9Vdv2xZ6hMqWnjTQqGv7qCyNo0Clt/hnNwtg2B1dEN8wYp16e1aipHy NyM+RPicXgkitW4GvB4ZJLl9pIMlw+BnYpskGTUxOO5s/T2nA8hivl0ZcdnGqT53UZ 5UOhwN3a/J+BQ== Received: from IcarusMOD.eternityproject.eu (cola.collaboradmins.com [195.201.22.229]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: kholk11) by madrid.collaboradmins.com (Postfix) with ESMTPSA id BE55737820F5; Thu, 7 Mar 2024 11:45:33 +0000 (UTC) From: AngeloGioacchino Del Regno To: broonie@kernel.org Cc: wenst@chromium.org, lgirdwood@gmail.com, robh@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, matthias.bgg@gmail.com, perex@perex.cz, tiwai@suse.com, trevor.wu@mediatek.com, maso.huang@mediatek.com, xiazhengqiao@huaqin.corp-partner.google.com, arnd@arndb.de, kuninori.morimoto.gx@renesas.com, shraash@google.com, amergnat@baylibre.com, nicolas.ferre@microchip.com, u.kleine-koenig@pengutronix.de, dianders@chromium.org, frank.li@vivo.com, allen-kh.cheng@mediatek.com, eugen.hristev@collabora.com, claudiu.beznea@tuxon.dev, jarkko.nikula@bitmer.com, jiaxin.yu@mediatek.com, alpernebiyasak@gmail.com, ckeepax@opensource.cirrus.com, zhourui@huaqin.corp-partner.google.com, nfraprado@collabora.com, alsa-devel@alsa-project.org, shane.chien@mediatek.com, linux-sound@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, kernel@collabora.com, AngeloGioacchino Del Regno Subject: [PATCH v2 18/22] ASoC: dt-bindings: mt8195: Document audio-routing and dai-link subnode Date: Thu, 7 Mar 2024 12:44:41 +0100 Message-ID: <20240307114445.196981-19-angelogioacchino.delregno@collabora.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240307114445.196981-1-angelogioacchino.delregno@collabora.com> References: <20240307114445.196981-1-angelogioacchino.delregno@collabora.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 driver hardcoded configuration. Signed-off-by: AngeloGioacchino Del Regno --- .../bindings/sound/mt8195-mt6359.yaml | 115 ++++++++++++++++++ 1 file changed, 115 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/mt8195-mt6359.yaml b/Documentation/devicetree/bindings/sound/mt8195-mt6359.yaml index c1ddbf672ca3..dfd6e61935ab 100644 --- a/Documentation/devicetree/bindings/sound/mt8195-mt6359.yaml +++ b/Documentation/devicetree/bindings/sound/mt8195-mt6359.yaml @@ -12,6 +12,9 @@ maintainers: description: This binding describes the MT8195 sound card. +allOf: + - $ref: sound-card-common.yaml# + properties: compatible: enum: @@ -23,6 +26,14 @@ properties: $ref: /schemas/types.yaml#/definitions/string description: User specified audio sound card name + audio-routing: + 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. + mediatek,platform: $ref: /schemas/types.yaml#/definitions/phandle description: The phandle of MT8195 ASoC platform. @@ -30,10 +41,12 @@ properties: mediatek,dptx-codec: $ref: /schemas/types.yaml#/definitions/phandle description: The phandle of MT8195 Display Port Tx codec node. + deprecated: true mediatek,hdmi-codec: $ref: /schemas/types.yaml#/definitions/phandle description: The phandle of MT8195 HDMI codec node. + deprecated: true mediatek,adsp: $ref: /schemas/types.yaml#/definitions/phandle @@ -45,20 +58,122 @@ properties: A list of the desired dai-links in the sound card. Each entry is a name defined in the machine driver. +patternProperties: + ".*-dai-link$": + type: object + additionalProperties: false + description: + Container for dai-link level properties and CODEC sub-nodes. + + properties: + link-name: + description: Indicates dai-link name and PCM stream name + enum: + - DPTX_BE + - ETDM1_IN_BE + - ETDM2_IN_BE + - ETDM1_OUT_BE + - ETDM2_OUT_BE + - ETDM3_OUT_BE + - PCM1_BE + + 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 + 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. + enum: [ cpu, codec ] + + required: + - link-name + additionalProperties: false required: - compatible - mediatek,platform +# Disallow legacy properties if xxx-dai-link nodes are specified +if: + not: + patternProperties: + ".*-dai-link$": false +then: + properties: + mediatek,dptx-codec: false + mediatek,hdmi-codec: false + examples: - | sound: mt8195-sound { compatible = "mediatek,mt8195_mt6359_rt1019_rt5682"; + model = "mt8195_r1019_5682"; mediatek,platform = <&afe>; pinctrl-names = "default"; pinctrl-0 = <&aud_pins_default>; + + audio-routing = + "Headphone", "HPOL", + "Headphone", "HPOR", + "IN1P", "Headset Mic", + "Ext Spk", "Speaker"; + + mm-dai-link { + link-name = "ETDM1_IN_BE"; + mediatek,clk-provider = "cpu"; + }; + + hs-playback-dai-link { + link-name = "ETDM1_OUT_BE"; + mediatek,clk-provider = "cpu"; + codec { + sound-dai = <&headset_codec>; + }; + }; + + hs-capture-dai-link { + link-name = "ETDM2_IN_BE"; + mediatek,clk-provider = "cpu"; + codec { + sound-dai = <&headset_codec>; + }; + }; + + spk-playback-dai-link { + link-name = "ETDM2_OUT_BE"; + mediatek,clk-provider = "cpu"; + codec { + sound-dai = <&spk_amplifier>; + }; + }; + + hdmi-dai-link { + link-name = "ETDM3_OUT_BE"; + codec { + sound-dai = <&hdmi_tx>; + }; + }; + + displayport-dai-link { + link-name = "DPTX_BE"; + codec { + sound-dai = <&dp_tx>; + }; + }; }; ... -- 2.44.0