From patchwork Sun Mar 2 16:30:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997917 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 02EA9C19F32 for ; Sun, 2 Mar 2025 16:34:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=/d3Bq8v5y5No+XTIWRYmPhp69XHKj3YxfOuEHx8gNag=; b=rnCCl+l/OFoMEc5ojqZIdyfABx RyB0SxaBcpYWE4utIwc4b40CBsU3hhTEwrz6m76yWunG1YS6j5mAcczMsBe+a6MWdQ+H68VsojdX6 l1U/OMMv5tiu6AMgdwob6y2fjPVmm94MhInXxD7m86nOe8S42Op+uo7TXFFZm27JDgt+tg4lx2W6s snbGTuJ72QMN0vq2j1ntLTsjW/8ebrL8ydXjorZxpQNI22nIeOO8obyXbaM1HGJuz8zXxuLNpzecU DZKSOGmsKBJc7rvZl2ArXQGjM/DXtLZb1qMxN6pKE5aeyM1Fzz77Es1gLTE4BAKYJFjlT+1lYh8BE vc7tnkGA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomGb-0000000GKzz-09Fi; Sun, 02 Mar 2025 16:34:13 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomDY-0000000GKIL-3QG0; Sun, 02 Mar 2025 16:31:06 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933063; bh=osRZAE8iggAuTuQfgUs1urVrp8xOcij0fdpUhTd0IR4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=lCGwz7D8/3lHPubSEXZHciP30N4PidM0JcMYbudUAKFRmc2NlQxG84xTM7RkxSOmb iYDx5CNz64b0QBL1k+PZZAKaG+r/nA0hEDPs0+pJfX8QdEqLOsldABbB7jzqJLyo0a gxqjJrSqy8LwG+F06NP+5R/ihhCVyXZP1LTJxGLFocO1XoEam7ZNEYPWY35ovcj75s /UQ/MrtHGGt27rdZnfvYBrKulk6xkvHnmOA27lzvY2Rn8XO1E6u/Wm0ZC12b7ZT1a8 IN/r/GwSJ5C2QKvYmBhysDzOp/Hh6e1SV4XNm8PJmE093M9i0597vFlJflZtA26vN2 Eaugt7i1rvNOg== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 770AA17E0880; Sun, 2 Mar 2025 17:30:58 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:40 -0300 Subject: [PATCH v2 01/20] ASoC: dt-bindings: Add document for mt6359-accdet MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-1-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083104_999387_78D79147 X-CRM114-Status: GOOD ( 12.37 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add dt-binding for the MT6359 ACCDET hardware block. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- .../bindings/sound/mediatek,mt6359-accdet.yaml | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/mediatek,mt6359-accdet.yaml b/Documentation/devicetree/bindings/sound/mediatek,mt6359-accdet.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d08a79301409374714c76135b061e20e8e8acfaf --- /dev/null +++ b/Documentation/devicetree/bindings/sound/mediatek,mt6359-accdet.yaml @@ -0,0 +1,42 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/mediatek,mt6359-accdet.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MT6359 Accessory Detection + +maintainers: + - Nícolas F. R. A. Prado + +description: | + The MT6359 Accessory Detection block is part of the MT6359 PMIC and allows + detecting audio jack insertion and removal, as well as identifying the type of + events connected to the jack. + +properties: + compatible: + const: mediatek,mt6359-accdet + + mediatek,hp-eint-high: + type: boolean + description: + By default, the HP_EINT pin is assumed to be pulled high and connected to + a normally open 3.5mm jack. Plug insertion is detected when the pin is + brought low in that case. Add this property if the behavior should be + inverted, for example if a normally closed 3.5mm jack is used, or if the + line is pulled low on open. + +required: + - compatible + +additionalProperties: false + +examples: + - | + #include + + accdet: accdet { + compatible = "mediatek,mt6359-accdet"; + mediatek,hp-eint-high; + }; From patchwork Sun Mar 2 16:30:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997918 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id ACC1FC19F32 for ; Sun, 2 Mar 2025 16:35:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=EYu/Xqo8FCI3CC9WJcK4NA+I/CMKIk9XFrlcNIYdZuY=; b=4HeSzv+7k5+lY8uLpHm5rcHEqu SHwauQQqCFFg/t7fN8HDFPMSOAY2raPloYmun4HUxtM27wKO/GJC+Z4RHIXmMbZI2IMB2fi1vdCjG /1xq63gWU3E2UYo+Hmfl5nul+EnVjUX/tDJaXwrlFuHJV/w7bobSqt0BlekewjJVrBc7OSAJA1pqx YdYeWODnU54UROG0UWLfN5uJKtvmfD6B/93GAbZvVEG8JHWqDxudrTCn2qzZsZ8J70q9998YPZsjk zzrWMeePoOT7bnSpJX/XAYtESeys3m8RIlfW/uBXW08PHSFYkr7aT17BTANHsur4tjo/byPtQHXXw +yORS0Vg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomI9-0000000GLMe-05LH; Sun, 02 Mar 2025 16:35:49 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomDf-0000000GKIm-11FL; Sun, 02 Mar 2025 16:31:12 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933068; bh=EjrwtqxQ5bYCEJ01b8/loccYAmWqyhZVlY3k8ihmFqI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=du1Q7rbNYTc6tTQpqCSSnYAdhHJIBt9I0oMzyuzH7b/0qpW4AHgHRY1bAFj7i6yC0 qrBqUHd5vl0B+AFN5CAvKiWjapJYSdYRSbMxqGbTOh7MKMDBQscjihtlbE7ubaC3pX bd4mj66mOGsPY0JIslyxLU644MAvLWFtPWrjFdQY+6T/y6hZgpXAr+zstdwAgvd7/t JHyKmAfamM38iDkSV+3iCQH8SBGkWI2B4oPo4/ypAlE2r/9DvqnRecZVkQlw0Er6+W 89jtmymsBbAZjMO6A+xDWmOBpwkrMXhh/7kDpGHK2+9g9sGVfI/oob4hsHEdrGZk/g hFkGImDvkJXSQ== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id E033317E09FB; Sun, 2 Mar 2025 17:31:03 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:41 -0300 Subject: [PATCH v2 02/20] dt-bindings: mfd: mediatek: mt6397: Add accdet subnode MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-2-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083111_427393_60B99A03 X-CRM114-Status: UNSURE ( 6.67 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Describe the accdet as a possible subnode of the MT6359 PMIC. Signed-off-by: Nícolas F. R. A. Prado --- Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml b/Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml index 6a89b479d10fad3c8b61cab5a3af1453baca4d1a..1a8c5748a28da6ad8aa091f8c0a74bc1dc709644 100644 --- a/Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml +++ b/Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml @@ -224,6 +224,13 @@ properties: description: Pin controller + accdet: + type: object + $ref: /schemas/sound/mediatek,mt6359-accdet.yaml + unevaluatedProperties: false + description: + Accessory Detection + required: - compatible - regulators From patchwork Sun Mar 2 16:30:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997943 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C81D7C282C6 for ; Sun, 2 Mar 2025 16:37:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=otrCHsdfao2kVoDQN7xHYLDJvx8Ap1uHO6er0CH61hU=; b=LHHFlPujb1bn+ydxzJzci2KAa9 wRIv0Vow/gYMMrNa19508xvMhLD2NwaxH2Pkap/WZASo/hWRn8HQ6aIxG+sRp4GKNUx3LG1KffaXG rnRa+Q7M/9J1p3YKlCVl27efnfz+6odok/bqRlbdUzHtg1aU4U4YospKsyi2YgV7zNc+BTgXgnkD7 vp/eBcBrUl/qQS3uKjAEti4zuYaVHOGkxMPz8DgvA2m/QsU1hItnFW39yFlhDgjFZrDAAG/d7Zgwi uMEbNVSzvdC6bCfWrytoFQI/Jsxg9LGQC8j8zVXLCr4SkTplo7hrSMzPJsMBcyD5atJzhHr6Ij0Lb QclaZ10g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomJf-0000000GLdt-45mQ; Sun, 02 Mar 2025 16:37:23 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomDk-0000000GKJl-1NhD; Sun, 02 Mar 2025 16:31:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933074; bh=wI++aCyUGB25LBiHVhu7McH+lo9hKNW4TKBihjV2t5U=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=qu+EzcT2H0ZkdpkyG88b9K92K96nkdCaamZZ9ozd4tz7NNjQbLibFRGGN+Gqhg45X wMMtPY44vGliz/qsp3Om7hGzGEof2Lk+VgiUij4U/O42RMNIUZ56rCw5+n2rH6Rwh+ 6UrpMrNo7CHtTOlPIUv8CO2kgoUrlRBvSwvYZvra0SaO5LKt+3gp0jtVEksH7mofZT hpJT7dwO6VS2LDRnm4O0lLpbS/8H4PxXtBsSqB3IGnDT+sMa1wOENvSSIkimB7doUp 0F0k3Sz7A/TrF4AwclyG/taHi9AaX3bxRSzBjQ4DpoF4P6XVd0cJDf1nAPhGwE1iPT BBlkrFOtPErqQ== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 860B517E07F8; Sun, 2 Mar 2025 17:31:09 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:42 -0300 Subject: [PATCH v2 03/20] mfd: mt6397-core: Add mfd_cell for mt6359-accdet MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-3-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= , Andrew Perepech X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083116_539333_F3F1525D X-CRM114-Status: UNSURE ( 9.81 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Andrew Perepech Add an mfd_cell for mt6359-accdet and describe its IRQ resources to allow the mt6359-accdet driver to probe. Signed-off-by: Andrew Perepech Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- drivers/mfd/mt6397-core.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/mfd/mt6397-core.c b/drivers/mfd/mt6397-core.c index 0e5d59ae064a696ae2111e2b558b316667c14773..5f8ed898890783c0ce4e34c7eae0d8f678e7d7bc 100644 --- a/drivers/mfd/mt6397-core.c +++ b/drivers/mfd/mt6397-core.c @@ -84,6 +84,12 @@ static const struct resource mt6359_keys_resources[] = { DEFINE_RES_IRQ_NAMED(MT6359_IRQ_HOMEKEY_R, "homekey_r"), }; +static const struct resource mt6359_accdet_resources[] = { + DEFINE_RES_IRQ_NAMED(MT6359_IRQ_ACCDET, "accdet_irq"), + DEFINE_RES_IRQ_NAMED(MT6359_IRQ_ACCDET_EINT0, "accdet_eint0"), + DEFINE_RES_IRQ_NAMED(MT6359_IRQ_ACCDET_EINT1, "accdet_eint1"), +}; + static const struct resource mt6323_keys_resources[] = { DEFINE_RES_IRQ_NAMED(MT6323_IRQ_STATUS_PWRKEY, "powerkey"), DEFINE_RES_IRQ_NAMED(MT6323_IRQ_STATUS_FCHRKEY, "homekey"), @@ -239,6 +245,12 @@ static const struct mfd_cell mt6359_devs[] = { .resources = mt6359_keys_resources, .of_compatible = "mediatek,mt6359-keys" }, + { + .name = "mt6359-accdet", + .of_compatible = "mediatek,mt6359-accdet", + .num_resources = ARRAY_SIZE(mt6359_accdet_resources), + .resources = mt6359_accdet_resources, + }, }; static const struct mfd_cell mt6397_devs[] = { From patchwork Sun Mar 2 16:30:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997944 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0E9BBC282C6 for ; Sun, 2 Mar 2025 16:39:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=MC5Q3ExFvTY3jQnzcaDXHRJ2zAAMr/qKR7aKCQmifUw=; b=pdk56p+C7MJnV6fjJERZidyN3D NsgdrFcrpCyX02WD0tEkX9JQtaep+gtGKVqWEMHOeUEqNmizCDUolr61VZYzM/lbl04YGjKyM7KyY kADbLZlvS32Rxh/u4WFS/Ny0Lhgr8sjzsGXiAm/9Xk6eFnmrmVSbv3wN88ACMiUb5U05+vT+keHDi msnXZlJlTtLVUHloF7vgNIihBwrLrKYZWxSrcdgHH19p7TGEg1jyz4mJWYDs7bKCL0dOMilc3phjl NAE0eWB4+O7jJ3Bgp4Nh2v0ujCti0BL9yFIAkOCM4u6hQiy4TQE8vbUc66vl2yn1H6PxN6Vkh6/9Z n5JDoz4A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomLD-0000000GLvk-1KIM; Sun, 02 Mar 2025 16:38:59 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomDp-0000000GKLl-3LBc; Sun, 02 Mar 2025 16:31:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933080; bh=7unty8UXqbw+pOftMZfZMEYJgXbtayExa3QUkhZmST8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=UaRIm6i6/gnyeJ4Jf9B5DBRt77f7BV0RNT1JcapJDVY8j7UG3N4lu8SmBwvEDz3Uj iCMGFABimrajrCW1Bnkvoy4kHJSQNR6M5G+A1McxMLKkbFJDRsPs7AcqMJ0rnDPjZr y4KuMKT7mVjH24jjR9ZP1fGJ/LmBoJEXHGOp6MmcHKGWxkSpm0u44PvnYSUPR7fiyO cBUi6Rxb8UZKoSeAmL1Actn36tEs6p3rFR5E6tOv34tU5D6pGUrtKY7rAWcNzn39PQ vD4t+wR7Nro8UOpXHltRY9UKDUrqZDB0e4kY3Z47J2fZ0Dw751fLiuLbQEG6DrBWFL bgjO31kYshU8g== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 454CF17E0880; Sun, 2 Mar 2025 17:31:15 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:43 -0300 Subject: [PATCH v2 04/20] ASoC: mediatek: mt6359-accdet: Add compatible property MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-4-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= , Andrew Perepech X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083121_981598_DB010360 X-CRM114-Status: GOOD ( 12.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add a compatible property and add it to the module device table for the mt6359-accdet platform driver to allow automatic module loading and probing when the compatible is present in DT. Co-developed-by: Andrew Perepech Signed-off-by: Andrew Perepech Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Nícolas F. R. A. Prado --- sound/soc/codecs/mt6359-accdet.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index ed34cc15b80e856356c07fd53af22207124e0d19..9bbd4497e8d481ee125693be2fc576b439574b39 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -1047,9 +1047,16 @@ static int mt6359_accdet_probe(struct platform_device *pdev) return ret; } +const struct of_device_id accdet_of_match[] = { + { .compatible = "mediatek,mt6359-accdet", }, + { /* sentinel */ }, +}; +MODULE_DEVICE_TABLE(of, accdet_of_match); + static struct platform_driver mt6359_accdet_driver = { .driver = { .name = "pmic-codec-accdet", + .of_match_table = accdet_of_match, }, .probe = mt6359_accdet_probe, }; From patchwork Sun Mar 2 16:30:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997945 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D5B51C19F32 for ; Sun, 2 Mar 2025 16:40:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Cm1PiUFCUPpCxBS25c6wkCpdKneSmBoH/ghdR1H4yGc=; b=auMKS0QwChOqBfeBYyS2ta4db9 J1aXMM/tQYn9OOK3kTErKZWk0EjS5f0+i5Q2N/RJBf3uQHulnlMmm3rkT4l9TCRU4ZHLWl3gsluTl a0l5+VVdnlg94EJLxWvjlBHkXffE6L6QpDfEmbV6GdonU7nQoo+acKLOd0lSGHkndPoH7rY5HypbC zKTNYMTI0X62hHMDzBU57e6+vVOkCRpq8RUSEvStvT3lzwvb6z5kIfUdmMm7LfFO1zVmLnk90LxY2 j7SFp+GUp4Td7i3IAkMhXl403/mHMjSo7E/FCaRHRTO8ePBUgKFO/4ua77WI4cgp59VUav9BgxAek k/fltbgA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomMk-0000000GMCx-17Oe; Sun, 02 Mar 2025 16:40:34 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomDv-0000000GKMO-2BDE; Sun, 02 Mar 2025 16:31:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933086; bh=Tgw0vGvYn1aDa8wojLhwcCN01faBqA4xTfz6ljblzSs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ZkC4Q8DArJsElX5mVKrRXBBfLaT1irlAZQArADcVPCGPL+Ab6BcqyMyf4C4bQIrit yOoh9dihrQyq7UITc0Vh1EG4Gy6GsoernpZ1J7SyJInzaJQPTLZpuk2En8SN7/mCRx YkpFxcQ8auzlrHsjsEKb2Ev5PgAbJ5orQX2TREHxUfIzJvkrxq5FBdz5FLVk3rb4lY wb8ZWbANx1e3vm/bW7owmq0FU/67OHRr7z/6mexlE0hZreNvShz7qW0TRBm2w55GjH W6h3OqOkShx/qeXQEQjJ1zktT3TeAu+kcXYjLfmnCL3h4ei9Dg114+P9PegISFaclW E77dMXu/Afd0A== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 0406F17E023F; Sun, 2 Mar 2025 17:31:20 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:44 -0300 Subject: [PATCH v2 05/20] ASoC: mediatek: mt6359-accdet: Handle hp-eint-high property MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-5-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083127_700481_7A9EE6AB X-CRM114-Status: GOOD ( 11.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Now that the dt-binding was introduced, the property that governs the eint polarity is a boolean called mediatek,hp-eint-high, while the current code handles a u32 property called mediatek,eint-level-pol. Update the driver handling accordingly. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.c | 5 +---- sound/soc/codecs/mt6359-accdet.h | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index 9bbd4497e8d481ee125693be2fc576b439574b39..ca3be59d2d0ecaadccd9ba399649ba93f20490c4 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -578,10 +578,7 @@ static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) if (!ret) memcpy(priv->data->pwm_deb, pwm_deb, sizeof(pwm_deb)); - ret = of_property_read_u32(node, "mediatek,eint-level-pol", - &priv->data->eint_pol); - if (ret) - priv->data->eint_pol = 8; + priv->data->hp_eint_high = of_property_read_bool(node, "mediatek,hp-eint-high"); ret = of_property_read_u32(node, "mediatek,eint-use-ap", &tmp); if (ret) diff --git a/sound/soc/codecs/mt6359-accdet.h b/sound/soc/codecs/mt6359-accdet.h index c234f2f4276a12853a6fe0b13c4198dfc551b6b4..a54a328bdf3797ce642da446c0cc6792f72ec939 100644 --- a/sound/soc/codecs/mt6359-accdet.h +++ b/sound/soc/codecs/mt6359-accdet.h @@ -86,7 +86,7 @@ struct dts_data { unsigned int mic_vol; unsigned int mic_mode; unsigned int plugout_deb; - unsigned int eint_pol; + bool hp_eint_high; struct pwm_deb_settings *pwm_deb; struct three_key_threshold three_key; struct four_key_threshold four_key; From patchwork Sun Mar 2 16:30:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997949 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 11BD8C282C6 for ; Sun, 2 Mar 2025 16:42:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=RxErJACc5OKuE4H+fYsLGOSu6BEj2m1wrtI4UJ9oScs=; b=eopvKeH6FHuIWqcncL9zVB4pqQ 3qFcscRdrpS2Of8kZNQzad/sfB6kUMKRu6do2ZN1hnFfmsT29n42QzBZ8WEWVeW/5FexgrosdaYwC Zxox0Ce8ZZNv7TZ/iVKulZTPCzvbTIyTz5dGRSknbHgQvUIieYikttcDVxUeX4h3t1TQeg3CPPnUA UZcjelPRX8XJDUPXQHmpgj8FzDT3EslxF6sDy1FOcwFlWS5w/lmS6bNBFDONOLF4XaAlzxcYQ4R2B L6P5gVWQeJ4yKrd39BwTTF/AknYszRdMj7MYtfYKfgsbX7DrbsMfcP46d3ON8vunulhoQKQH/gMPi b1tlFbZA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomOH-0000000GMOO-11FC; Sun, 02 Mar 2025 16:42:09 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomE1-0000000GKNe-0Q11; Sun, 02 Mar 2025 16:31:34 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933091; bh=FkPtvAEM6RvpAzlk3x8AyVhuQwrjqUaQxcRHThP+YKw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=c9TTeLh1LRdbGNwXw5bOST5NyBn+pkNPsioBA4pHKuybYEu3UF8o8SxtVnSNJOpZe bH/dZTdWaaLlRb/uIpsFQ5CRbcToGjQrzY7cS91mVBo9euuTmZPSyXrYHnagT0dzF8 Ve2ZZFduqBOxJrrJ78w0gGvGzKZ5P19KTXoGZUOBQs0F5Djhd+WawLjOf+kcIrew1u t9UDtD5wFNvWAJdN6XjbNsfXA22FeM2sP94v0yLQO9Kxks8ifpCF4fFniyS87cahk5 NFAxQM6k2lHMq1CUYJXLVy7VEUeyT2rTmL0TS/y1mF78DAMSiNI2I/ze7BH3Uxcjzw xdVz3Ew2oJzMA== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 9EA4717E05EA; Sun, 2 Mar 2025 17:31:26 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:45 -0300 Subject: [PATCH v2 06/20] ASoC: mediatek: mt6359-accdet: Implement HP_EINT polarity configuration MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-6-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= , Andrew Perepech X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083133_310064_AAB29F94 X-CRM114-Status: GOOD ( 10.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Andrew Perepech The driver currently reads the HP_EINT polarity from the Devicetree but never actually configures the hardware accordingly. Implement the polarity configuration in hardware. Signed-off-by: Andrew Perepech Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index ca3be59d2d0ecaadccd9ba399649ba93f20490c4..1d4481109f6e4f473610e0797c9d3c636bdf12cf 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -730,6 +730,17 @@ static void config_digital_init_by_mode(struct mt6359_accdet *priv) BIT(ACCDET_EINT1_INVERTER_SW_EN_SFT)); } } + + if (priv->data->hp_eint_high) { + /* EINT polarity inverse */ + regmap_update_bits(priv->regmap, ACCDET_EINT_IN_INVERSE_ADDR, + ACCDET_EINT_IN_INVERSE_MASK_SFT, + BIT(ACCDET_EINT_IN_INVERSE_SFT)); + } else { + /* EINT polarity normal */ + regmap_update_bits(priv->regmap, ACCDET_EINT_IN_INVERSE_ADDR, + ACCDET_EINT_IN_INVERSE_MASK_SFT, 0); + } } static void config_eint_init_by_mode(struct mt6359_accdet *priv) From patchwork Sun Mar 2 16:30:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997950 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 033D5C19F32 for ; Sun, 2 Mar 2025 16:43:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=huMaPJwTTze9g+90E4xy9vQsvov6aFHtpMjC1jIcdiU=; b=TwA+MNjd9DWpxcQuV+smVRC8lO fl5GP7v6qSfEh4XMdxDbKEZUSg3Dsv7Y7VCPS3AcgkGy4dzW77SwiEmsUcjdUujjgDnKnLPtqrjh6 UTiHDipLhX4VcN4z6bM6Q5WMib1k0V1xmDCtNHmfs5p6FXN86LzqlnotXAz8EwvLhuSYE64GMH4Ln dAwTKSU+EaRfNowXbA9Ve/Q6SxZJv0zwOIAK0psqejoVj0ocF4lx7Q9NNgza1ogs8LHPbFizpvJfp 5xU7QQjtrp4Zf6+ai+KJTPiowAyyP8+6zeqjhpr3JMIYLD+FKigxFf9DXqm25EL+14EPlZJ0tmH2v vfSro3GQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomPo-0000000GMWq-0t0G; Sun, 02 Mar 2025 16:43:44 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomE6-0000000GKPY-2Rul; Sun, 02 Mar 2025 16:31:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933097; bh=sdW1yXEUmXq8SNfh7ww/5Pnhe7bTSRPgObGL9j+2/Hc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ZIy7+JTbM9fMzJprdw3y+a2zoyZdq7Aqo+e2qy06/lEZipYow/n4TWeLRJL650CaH lzpM1/wH7W41q2xg/fkVw7BbEJySP0iPf/qwgXxVI/WO5duy45VpD3+SmIcuUG8dIJ M0S+BNhHCl+xcNOGnlehdvFCc+gvtWU3oy6lab4DEKO60GB1CekZED7EmKrICMw+OQ wq7mzOgw3Y32CcA4qCSL++AQof7MjA5BlMi+XN4sSeE4o7XflSi2e4raCW4TlfBBlc VAPcpuNF5mQ2tHlbJpCL7ChSRt4Rb2nJKX4dgUDdHfxiKkjE9zEPicK/5d6HJq8OGA t+CPhCiDC26fQ== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 3FEAB17E023F; Sun, 2 Mar 2025 17:31:32 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:46 -0300 Subject: [PATCH v2 07/20] ASoC: mediatek: mt6359-accdet: Drop dead code for EINT/GPIO IRQ handling MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-7-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083138_768014_739BF6DD X-CRM114-Status: GOOD ( 12.55 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The ACCDET supports two modes for IRQ generation: PMIC EINT or AP GPIO, which in principle could be configured through a DT property. However this DT property has no user nor is documented in a binding, and the driver only implements the PMIC EINT case, so drop the unused code intended to handle both cases. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index 1d4481109f6e4f473610e0797c9d3c636bdf12cf..ce8a5e64e0b9ca508124043ca1f93aaa3cc5f9a0 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -31,9 +31,6 @@ #define REGISTER_VAL(x) ((x) - 1) /* mt6359 accdet capability */ -#define ACCDET_PMIC_EINT_IRQ BIT(0) -#define ACCDET_AP_GPIO_EINT BIT(1) - #define ACCDET_PMIC_EINT0 BIT(2) #define ACCDET_PMIC_EINT1 BIT(3) #define ACCDET_PMIC_BI_EINT BIT(4) @@ -448,8 +445,7 @@ static void mt6359_accdet_jd_work(struct work_struct *work) mt6359_accdet_recover_jd_setting(priv); } - if (priv->caps & ACCDET_PMIC_EINT_IRQ) - recover_eint_setting(priv); + recover_eint_setting(priv); mutex_unlock(&priv->res_lock); } @@ -580,14 +576,6 @@ static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) priv->data->hp_eint_high = of_property_read_bool(node, "mediatek,hp-eint-high"); - ret = of_property_read_u32(node, "mediatek,eint-use-ap", &tmp); - if (ret) - tmp = 0; - if (tmp == 0) - priv->caps |= ACCDET_PMIC_EINT_IRQ; - else if (tmp == 1) - priv->caps |= ACCDET_AP_GPIO_EINT; - ret = of_property_read_u32(node, "mediatek,eint-detect-mode", &priv->data->eint_detect_mode); if (ret) { @@ -902,10 +890,8 @@ static void mt6359_accdet_init(struct mt6359_accdet *priv) 0x3 << RG_ANALOGFDEN_SFT); } - if (priv->caps & ACCDET_PMIC_EINT_IRQ) { - config_eint_init_by_mode(priv); - config_digital_init_by_mode(priv); - } + config_eint_init_by_mode(priv); + config_digital_init_by_mode(priv); } int mt6359_accdet_enable_jack_detect(struct snd_soc_component *component, From patchwork Sun Mar 2 16:30:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997951 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3BA87C19F32 for ; Sun, 2 Mar 2025 16:45:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=GLRc4Fh0DrMg+F49zfqR1p16spWvP8sc8DaG4LvhBBw=; b=UKeSmAqZOUKz4/Tbgmkpb2xLlf mYx2AlAFXGCfp/KljpwRA7ewKQnKuayQ6AJ/5tdV+7GCjVWZ5vOFl6pl053s+o9Qu16SzbtY29zlo sU6DfbSRKap1FYHDQAVvIycTp5AS56mcooZz9KfzwlirO071ze00u4OTqqunAj9kEmaQtXAo+1Ljp kQ5nxEUtrjk4/Rd+XEiXvufCfAIW7HcLA3/P5kckgjw2R0nMzgnbrKxAg5yShYkDXi+BBiuT2k5pf udu27iyZOuYoD1fwU6+aKiafVoLjZbgYkbQWyiHCy3tsEJ3U30M7PnNisXovoENJVLmEsoaGrt7G4 bd1eV8mQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomRL-0000000GMh6-13sl; Sun, 02 Mar 2025 16:45:19 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomEC-0000000GKSF-0fRy; Sun, 02 Mar 2025 16:31:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933102; bh=gHn6+QB7JOzpce3stmKJuB+P7B7u0x89jyrLFq5FivE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=YyNKlslS+LxfRlBnn3DkmrrdMT/6VzQ04af5oLzf5c3zIhtyWByofM2o1L/aFH9W9 6n3yGrh4V3kJm4dReYBbVAU5cI1nlnA/j0uLQ5TdVh+lk1+EsvnT2gWV0HZIMUgwVR WcckLKF9MRmFP5/OfR97erBkLy/YAkSoLf7Gdj+pwg2lFZUkwFWha58oiC4AZU2709 YnGM16txBSYor4/eWD9W+8Y7y10ySLp61JDffCFqRpgAr7H6ej9tYVz/3WTOhe/kHx Ypy+a3JFJoYTuw/gW43jfwc4ZZTP4g7FucV2ZkTPDWXFdxfgVPzOOpsuVZxdJQkAuj POT1SV0+FHAvg== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id AC8E917E05EA; Sun, 2 Mar 2025 17:31:37 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:47 -0300 Subject: [PATCH v2 08/20] ASoC: mediatek: mt6359-accdet: Drop dead code for EINT trigger setting MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-8-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083144_339779_7143F04B X-CRM114-Status: UNSURE ( 9.61 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org None of the EINT trigger options are implemented and the DT property is not described in the binding. Remove the unused code. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index ce8a5e64e0b9ca508124043ca1f93aaa3cc5f9a0..a21c6544174517e3eebc8cf25d1ea3029ba014f6 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -35,8 +35,6 @@ #define ACCDET_PMIC_EINT1 BIT(3) #define ACCDET_PMIC_BI_EINT BIT(4) -#define ACCDET_PMIC_GPIO_TRIG_EINT BIT(5) -#define ACCDET_PMIC_INVERTER_TRIG_EINT BIT(6) #define ACCDET_PMIC_RSV_EINT BIT(7) #define ACCDET_THREE_KEY BIT(8) @@ -593,15 +591,6 @@ static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) else if (tmp == 2) priv->caps |= ACCDET_PMIC_BI_EINT; - ret = of_property_read_u32(node, "mediatek,eint-trig-mode", - &tmp); - if (ret) - tmp = 0; - if (tmp == 0) - priv->caps |= ACCDET_PMIC_GPIO_TRIG_EINT; - else if (tmp == 1) - priv->caps |= ACCDET_PMIC_INVERTER_TRIG_EINT; - ret = of_property_read_u32(node, "mediatek,eint-use-ext-res", &priv->data->eint_use_ext_res); if (ret) { From patchwork Sun Mar 2 16:30:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997957 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F0C50C282C6 for ; Sun, 2 Mar 2025 16:47:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=et1Sg5KJwBwa7vPUr/Hg8Od8OlGVoFWayshvFRwIwhE=; b=30q0QazkD+PABYOFYb4pJASVrA ByW9yx42nu3e3mQO2+2KYfYvQtr9GmmKszOQJ+ntRxyKUSz6JyohFv11I9zqxAE5IQWNPKI1XsLLG Xc2pa17KahQDO4H03rdDnpELeXAaGMHuuDFWzNxbZFzb2Z2ZBkrNXALMnMy1pi/R84o+kJzEj8LqK eZ6tjWttH1DxnjEChRhNlFkrXelHccQjtSnw+m/qV0G4b6/YBQXAXz88lAbVnnjfYXGTFK5nHwVP3 FLr2fvm9xDui0gSL2wQkXadoEtN/BESYz4xNYq84h0JeU2SdON1hqB5Bn4Fc3wIC5YpCaThK0+CHy M9pgvtRQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomSs-0000000GMpX-2Pas; Sun, 02 Mar 2025 16:46:54 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomEH-0000000GKSf-43bb; Sun, 02 Mar 2025 16:31:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933108; bh=2pB5rdSfvWgenLzmYeA5HIJ2qp8HzZtBUZQYSjqUPuk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Ss/F+esTqiQ/ulGZEY38/wZni5GTf8cHmhrKi/OmVoTzF5BIiHjAXnW9TwFqvWURx mD3/qKZ4Ii+xcRNYECj9RznZgXr17WkIKVHhbrgin4tJqigGs2o9vE0aCf/DMdYdpY r2HI129CyslxqRnRBAOi0mzixGrR5o+JHL2Aor8rSEuA5yX8ltXCo4p04WX3hvpk/s bDDZWuvAsvfXg7bdRu2RmgePM0Is3et2sVAf80sFiI+pvY9Ccwqp1XpPm13fLIZQE8 AJ5OkFA1ZlaLluHhYI+wSOcHN+vwGwqfTxh4D3vqGA4Y0jvHjoHlS9s2/XAeU8usPL 5rTRTLqJAHGhA== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 538D417E023F; Sun, 2 Mar 2025 17:31:43 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:48 -0300 Subject: [PATCH v2 09/20] ASoC: mediatek: mt6359-accdet: Drop dead code for button detection MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-9-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083150_181538_433CE92B X-CRM114-Status: GOOD ( 16.98 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The button detection functionality depends on a calibration voltage value which is currently not updated anywhere in the driver code, and hence it doesn't actually do anything. Remove this unused code. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.c | 92 ++-------------------------------------- sound/soc/codecs/mt6359-accdet.h | 17 -------- 2 files changed, 3 insertions(+), 106 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index a21c6544174517e3eebc8cf25d1ea3029ba014f6..6b0178976d91e37c32540991693ebfd8e29c11f5 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -37,9 +37,6 @@ #define ACCDET_PMIC_RSV_EINT BIT(7) -#define ACCDET_THREE_KEY BIT(8) -#define ACCDET_FOUR_KEY BIT(9) -#define ACCDET_TRI_KEY_CDD BIT(10) #define ACCDET_RSV_KEY BIT(11) #define ACCDET_ANALOG_FASTDISCHARGE BIT(12) @@ -255,7 +252,6 @@ static void mt6359_accdet_recover_jd_setting(struct mt6359_accdet *priv) priv->data->pwm_deb->debounce3); priv->jack_type = 0; - priv->btn_type = 0; priv->accdet_status = 0x3; mt6359_accdet_jack_report(priv); } @@ -318,45 +314,10 @@ static void mt6359_accdet_jack_report(struct mt6359_accdet *priv) if (!priv->jack) return; - report = priv->jack_type | priv->btn_type; + report = priv->jack_type; snd_soc_jack_report(priv->jack, report, MT6359_ACCDET_JACK_MASK); } -static unsigned int check_button(struct mt6359_accdet *priv, unsigned int v) -{ - if (priv->caps & ACCDET_FOUR_KEY) { - if (v < priv->data->four_key.down && - v >= priv->data->four_key.up) - priv->btn_type = SND_JACK_BTN_1; - if (v < priv->data->four_key.up && - v >= priv->data->four_key.voice) - priv->btn_type = SND_JACK_BTN_2; - if (v < priv->data->four_key.voice && - v >= priv->data->four_key.mid) - priv->btn_type = SND_JACK_BTN_3; - if (v < priv->data->four_key.mid) - priv->btn_type = SND_JACK_BTN_0; - } else { - if (v < priv->data->three_key.down && - v >= priv->data->three_key.up) - priv->btn_type = SND_JACK_BTN_1; - if (v < priv->data->three_key.up && - v >= priv->data->three_key.mid) - priv->btn_type = SND_JACK_BTN_2; - if (v < priv->data->three_key.mid) - priv->btn_type = SND_JACK_BTN_0; - } - return 0; -} - -static void is_key_pressed(struct mt6359_accdet *priv, bool pressed) -{ - priv->btn_type = priv->jack_type & ~MT6359_ACCDET_BTN_MASK; - - if (pressed) - check_button(priv, priv->cali_voltage); -} - static inline void check_jack_btn_type(struct mt6359_accdet *priv) { unsigned int val = 0; @@ -368,15 +329,11 @@ static inline void check_jack_btn_type(struct mt6359_accdet *priv) switch (priv->accdet_status) { case 0: - if (priv->jack_type == SND_JACK_HEADSET) - is_key_pressed(priv, true); - else + if (priv->jack_type != SND_JACK_HEADSET) priv->jack_type = SND_JACK_HEADPHONE; break; case 1: - if (priv->jack_type == SND_JACK_HEADSET) { - is_key_pressed(priv, false); - } else { + if (priv->jack_type != SND_JACK_HEADSET) { priv->jack_type = SND_JACK_HEADSET; accdet_set_debounce(priv, eint_state011, 0x1); } @@ -603,48 +560,6 @@ static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) if (ret) priv->data->eint_comp_vth = 0x0; - ret = of_property_read_u32(node, "mediatek,key-mode", &tmp); - if (ret) - tmp = 0; - if (tmp == 0) { - int three_key[4]; - - priv->caps |= ACCDET_THREE_KEY; - ret = of_property_read_u32_array(node, - "mediatek,three-key-thr", - three_key, - ARRAY_SIZE(three_key)); - if (!ret) - memcpy(&priv->data->three_key, three_key + 1, - sizeof(struct three_key_threshold)); - } else if (tmp == 1) { - int four_key[5]; - - priv->caps |= ACCDET_FOUR_KEY; - ret = of_property_read_u32_array(node, - "mediatek,four-key-thr", - four_key, - ARRAY_SIZE(four_key)); - if (!ret) { - memcpy(&priv->data->four_key, four_key + 1, - sizeof(struct four_key_threshold)); - } else { - dev_warn(priv->dev, - "accdet no 4-key-thrsh dts, use efuse\n"); - } - } else if (tmp == 2) { - int three_key[4]; - - priv->caps |= ACCDET_TRI_KEY_CDD; - ret = of_property_read_u32_array(node, - "mediatek,tri-key-cdd-thr", - three_key, - ARRAY_SIZE(three_key)); - if (!ret) - memcpy(&priv->data->three_key, three_key + 1, - sizeof(struct three_key_threshold)); - } - of_node_put(node); dev_warn(priv->dev, "accdet caps=%x\n", priv->caps); @@ -1015,7 +930,6 @@ static int mt6359_accdet_probe(struct platform_device *pdev) priv->jd_sts = M_PLUG_OUT; priv->jack_type = 0; - priv->btn_type = 0; priv->accdet_status = 0x3; mt6359_accdet_init(priv); diff --git a/sound/soc/codecs/mt6359-accdet.h b/sound/soc/codecs/mt6359-accdet.h index a54a328bdf3797ce642da446c0cc6792f72ec939..09e1072b61a4c929bf6b764b4fab3c4b26f7cf4a 100644 --- a/sound/soc/codecs/mt6359-accdet.h +++ b/sound/soc/codecs/mt6359-accdet.h @@ -50,19 +50,6 @@ enum { eint_inverter_state000, }; -struct three_key_threshold { - unsigned int mid; - unsigned int up; - unsigned int down; -}; - -struct four_key_threshold { - unsigned int mid; - unsigned int voice; - unsigned int up; - unsigned int down; -}; - struct pwm_deb_settings { unsigned int pwm_width; unsigned int pwm_thresh; @@ -88,8 +75,6 @@ struct dts_data { unsigned int plugout_deb; bool hp_eint_high; struct pwm_deb_settings *pwm_deb; - struct three_key_threshold three_key; - struct four_key_threshold four_key; unsigned int moisture_detect_enable; unsigned int eint_detect_mode; unsigned int eint_use_ext_res; @@ -112,10 +97,8 @@ struct mt6359_accdet { struct mutex res_lock; /* lock protection */ bool jack_plugged; unsigned int jack_type; - unsigned int btn_type; unsigned int accdet_status; unsigned int pre_accdet_status; - unsigned int cali_voltage; unsigned int jd_sts; struct work_struct accdet_work; struct workqueue_struct *accdet_workqueue; From patchwork Sun Mar 2 16:30:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997958 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 58B44C282C6 for ; Sun, 2 Mar 2025 16:48:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=rG7pHVRoBOiNFfCu2MAih2uwHbyr24BqejYuAC4Ua5E=; b=qbcxBQWvnazsmiPdxlQqSptGZ8 tJRMGp3layUKWdTPeJ9g0yoLF3REclKQpMR/jrzlrVJGDMjET1PeGndjQt0C/ywXUOMScA7kAybuk wLxHA/5nn6ijAMDgdsH76Zuz5GOz43KJEJqOm3VqKhGDB0yNs4THM19V9oW9ZOIMfxTTMgtudzQbT cqM1CriTXYeagWm8jFzLVqXAprAnENtFyOxeguNT8aTL2aTrG4pcef9nfV7BrShl9a0u/EMI7Hy21 nlwON6DZNKQfXM0HC0tHDBA3wD1HJ9gS5ZoIHlICsywxxbElH791bvXLUbpG59F8m8Qe0A1Kug6GI IDxDenvw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomUP-0000000GMwv-2Pd0; Sun, 02 Mar 2025 16:48:29 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomEN-0000000GKTc-15IP; Sun, 02 Mar 2025 16:31:56 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933113; bh=ZWTM6SruLoU5Q7PWlGoj6r0M6P0ulz3KBlt6spoubXU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=WBBRgyTLjVIaCoA3VRgX6PxfM5+3BbNL7U+pKzWL+2NSo27J0Beo51S0g35mV890F Yny3T+TfQT+F/WBnoJU64avxBFqnhNwviUVhvha3ZMe1VJIMqvGh8YBysw3Xgal5nD 1gMoBSsd5QH/5xg+NEwGj1ipQNdFZgZaDDJ0IpabUGiMh8wu5iME9gU+xmZkHKmPza KkTEvOROe0g7wR6fb+3pfmDQtLSNlFSxJuUuCtQg7oDNewOBVAxYDwUbeMQoFCvnp3 gfGQDZPYZ7XUYyrqo3jze5xuGjRgIZMpdVvL1ZaE2PC7zpEj7fdFZ5FBtIYe2jKo6F ck4XQ87dpQITg== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id ED33C17E05EA; Sun, 2 Mar 2025 17:31:48 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:49 -0300 Subject: [PATCH v2 10/20] ASoC: mediatek: mt6359-accdet: Drop dead code for plugout-debounce MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-10-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083155_438768_13A6780B X-CRM114-Status: GOOD ( 10.04 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The mediatek,plugout-debounce property is undocumented in the binding and unhandled by the driver. Remove it. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.c | 5 ----- sound/soc/codecs/mt6359-accdet.h | 1 - 2 files changed, 6 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index 6b0178976d91e37c32540991693ebfd8e29c11f5..d78d7516342a5c2273b1c2962c0346646aa6390f 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -513,11 +513,6 @@ static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) if (ret) priv->data->mic_vol = 8; - ret = of_property_read_u32(node, "mediatek,plugout-debounce", - &priv->data->plugout_deb); - if (ret) - priv->data->plugout_deb = 1; - ret = of_property_read_u32(node, "mediatek,mic-mode", &priv->data->mic_mode); if (ret) diff --git a/sound/soc/codecs/mt6359-accdet.h b/sound/soc/codecs/mt6359-accdet.h index 09e1072b61a4c929bf6b764b4fab3c4b26f7cf4a..54a33a0f0e084f80df33386b3df9bba9525fa880 100644 --- a/sound/soc/codecs/mt6359-accdet.h +++ b/sound/soc/codecs/mt6359-accdet.h @@ -72,7 +72,6 @@ struct pwm_deb_settings { struct dts_data { unsigned int mic_vol; unsigned int mic_mode; - unsigned int plugout_deb; bool hp_eint_high; struct pwm_deb_settings *pwm_deb; unsigned int moisture_detect_enable; From patchwork Sun Mar 2 16:30:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997959 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DA7F8C19F32 for ; Sun, 2 Mar 2025 16:50:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=GeDvNqquN3RAV/Twt2xaw5Tp8/LqqynnM5dSfbSWa7U=; b=YPWlCNzuhQzrSNXeiiNTBQj0WU LKePOJVwKr44cX2ZlSBx5AvQLB+LBRcVcobsjUPKNz8q9TANw8xva+TNDVoEagmTGT8lWh1qIuzZJ V+ydRekDbVcppmoHArLjgavz7AGa0G0kzIN+MF7WZRQdr15tn7/t3uJQLcPc50TFhmfF1RuEO3YFg xtSPEwW6TVAmWWziNZUaf8kt0wEX1FNtSPrh9EL4XyJJSA2PRFFjXw55rgZGoSYMWkqcolcQkS57x zqVWazEerDtYHNA0H+LcUTr7wl0ugN3UqM0LlZfG7cqDBVcd/yzBW3TrYLF762b+Fw9quRHUkzMkT 5Jg6ofRw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomVw-0000000GN5a-2Bor; Sun, 02 Mar 2025 16:50:04 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomET-0000000GKVC-032N; Sun, 02 Mar 2025 16:32:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933119; bh=blWuAtLpdGFI63hnHg9AWnYvcxAarPSsE7Vp8kiBoC8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=gXs5rFt+gbMfB6kLN4m5LcMCU9n1N9UAdm82ahW/T7eYUPq52atAHtxs/rv7EqQAq B4PhsYWR5MPavvKyPq8IUJy6CdRpd7KeqjJi1zaMGOAMtLzWgMw0rOaRo5JEsCjBcR zXiaa8xgf73PdF3YCB22Kl0SMs8UPZ+hluKHU7jsxek+n1nQgQvsnkVVZJ+2NW/9KV rRfWxSx7JXHdRxLeJ9IkipbJOwa/JiJzlh+ZKAnfZcYlWSsGV4cuPgcbLGxAjygcyu o3pWKBB7F2H5bhzbZ4a8t5hKAtK8pT3orJyib5hPbM7md1/zZpRRsXrh5sSHseL67g DjqBVBnfTJR4g== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 7A46D17E023F; Sun, 2 Mar 2025 17:31:54 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:50 -0300 Subject: [PATCH v2 11/20] ASoC: mediatek: mt6359-accdet: Drop unused moisture variables MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-11-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083201_221765_97F7ACD0 X-CRM114-Status: UNSURE ( 7.82 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The dts_data struct contains several variables for moisture configuration that are simply never used. Drop them. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.h b/sound/soc/codecs/mt6359-accdet.h index 54a33a0f0e084f80df33386b3df9bba9525fa880..38c36d59b9cc68bd90e16137a05a62b521b75ac1 100644 --- a/sound/soc/codecs/mt6359-accdet.h +++ b/sound/soc/codecs/mt6359-accdet.h @@ -74,14 +74,9 @@ struct dts_data { unsigned int mic_mode; bool hp_eint_high; struct pwm_deb_settings *pwm_deb; - unsigned int moisture_detect_enable; unsigned int eint_detect_mode; unsigned int eint_use_ext_res; unsigned int eint_comp_vth; - unsigned int moisture_detect_mode; - unsigned int moisture_comp_vth; - unsigned int moisture_comp_vref2; - unsigned int moisture_use_ext_res; }; struct mt6359_accdet { From patchwork Sun Mar 2 16:30:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997963 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AA4F7C282C6 for ; Sun, 2 Mar 2025 16:51:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=hgkTV6p2dg8KQc5Lo/ScYCxeoM3Qix1azvwFvXO8ovU=; b=AQ4Xn23nfaMu4WpAB0ir9vZ1Lx D12MqdwE6oVFylv9OcEzvl/Hiq8n9nyrKfkfqLECTMEXdMwJZ1DNgHKLDUGziALDucflJP/jAMnNb BUk0JTuxxO0/RmwCalhBC2IMAGXp01iyV5LQi8dWx4MDpj+yjyWepWJ4/LNhYrkoWD0+eVz/mAT1Z cxF8XngUlzCnDfYG2+CW1CbXnVz+SSCS/8GU6N+Fj/JzsYxKpeStx5PQfKa9/93bHhHJKsy6HF4Wr ydCAWz6kgO+jf1iiQDlQDYBeRqqKsYvP06rQnVP2lmShlPYN24bIJYJPkIfZ1FizkmQXy0LNje8Aw pOI8N3Ug==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomXT-0000000GNH0-2WYt; Sun, 02 Mar 2025 16:51:39 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomEY-0000000GKVs-1R38; Sun, 02 Mar 2025 16:32:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933125; bh=FyH04ECe2s4iogeXMED2ZcWxApusSu1hMLLRfcENk2k=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=etwzHlO/iJr1sXP8AHH6SW4w6qdc2D2MCWGeyOGBW3EuXIRCYhygKi5ur3PgZ64qs j1tNL67zAXtOqe0nmHnenWyKEUlw+jVskR1K0aeom/wiPvl/KUnyZxeZl96gHeyUYN UV5RXlsHKh/l5LGgb4rVtlmjoiOY7b1pGZ2aD8g9LBfKRtQNdTQKJGPmpT3eFVMH+Z pUxAEui6VsQtGvQnITMNHebIiZYAqDRzZKRFhy4C47RnEHtDrp61ZFrunB4tPpdt0E aRNi/mr3a7INjSOiOAkFxVg+ZgDuCJicbj4rWdzmZd2tXwTYohGzguwyplSgw0Im8v KHNj1D3/Yn4tw== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 07F1C17E05EA; Sun, 2 Mar 2025 17:31:59 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:51 -0300 Subject: [PATCH v2 12/20] ASoC: mediatek: mt6359-accdet: Always use internal resistor MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-12-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083206_528835_73118305 X-CRM114-Status: GOOD ( 13.86 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The code currently reads a property mediatek,eint-use-ext-res with values ranging between 0 and 4. Not only should this be a boolean property, but there's no need for it to even be a DT property, seeing as all current boards will use the internal resistor anyway. Since there's no current dt-binding or Devicetree user of this property, remove its handling and make the driver always configure the internal resistor. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.c | 53 +++++++++++----------------------------- sound/soc/codecs/mt6359-accdet.h | 1 - 2 files changed, 14 insertions(+), 40 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index d78d7516342a5c2273b1c2962c0346646aa6390f..e04cfb9a607aa5d38d46329eb1387545fda37ccc 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -82,14 +82,10 @@ static unsigned int adjust_eint_analog_setting(struct mt6359_accdet *priv) RG_EINT1CONFIGACCDET_MASK_SFT, BIT(RG_EINT1CONFIGACCDET_SFT)); } - if (priv->data->eint_use_ext_res == 0x3 || - priv->data->eint_use_ext_res == 0x4) { - /*select 500k, use internal resistor */ - regmap_update_bits(priv->regmap, - RG_EINT0HIRENB_ADDR, - RG_EINT0HIRENB_MASK_SFT, - BIT(RG_EINT0HIRENB_SFT)); - } + /*select 500k, use internal resistor */ + regmap_update_bits(priv->regmap, RG_EINT0HIRENB_ADDR, + RG_EINT0HIRENB_MASK_SFT, + BIT(RG_EINT0HIRENB_SFT)); } return 0; } @@ -543,13 +539,6 @@ static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) else if (tmp == 2) priv->caps |= ACCDET_PMIC_BI_EINT; - ret = of_property_read_u32(node, "mediatek,eint-use-ext-res", - &priv->data->eint_use_ext_res); - if (ret) { - /* eint use internal resister */ - priv->data->eint_use_ext_res = 0x0; - } - ret = of_property_read_u32(node, "mediatek,eint-comp-vth", &priv->data->eint_comp_vth); if (ret) @@ -651,30 +640,16 @@ static void config_eint_init_by_mode(struct mt6359_accdet *priv) if (priv->data->eint_detect_mode == 0x1 || priv->data->eint_detect_mode == 0x2 || priv->data->eint_detect_mode == 0x3) { - if (priv->data->eint_use_ext_res == 0x1) { - if (priv->caps & ACCDET_PMIC_EINT0) { - regmap_update_bits(priv->regmap, - RG_EINT0CONFIGACCDET_ADDR, - RG_EINT0CONFIGACCDET_MASK_SFT, - 0); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - regmap_update_bits(priv->regmap, - RG_EINT1CONFIGACCDET_ADDR, - RG_EINT1CONFIGACCDET_MASK_SFT, - 0); - } - } else { - if (priv->caps & ACCDET_PMIC_EINT0) { - regmap_update_bits(priv->regmap, - RG_EINT0CONFIGACCDET_ADDR, - RG_EINT0CONFIGACCDET_MASK_SFT, - BIT(RG_EINT0CONFIGACCDET_SFT)); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - regmap_update_bits(priv->regmap, - RG_EINT1CONFIGACCDET_ADDR, - RG_EINT1CONFIGACCDET_MASK_SFT, - BIT(RG_EINT1CONFIGACCDET_SFT)); - } + if (priv->caps & ACCDET_PMIC_EINT0) { + regmap_update_bits(priv->regmap, + RG_EINT0CONFIGACCDET_ADDR, + RG_EINT0CONFIGACCDET_MASK_SFT, + BIT(RG_EINT0CONFIGACCDET_SFT)); + } else if (priv->caps & ACCDET_PMIC_EINT1) { + regmap_update_bits(priv->regmap, + RG_EINT1CONFIGACCDET_ADDR, + RG_EINT1CONFIGACCDET_MASK_SFT, + BIT(RG_EINT1CONFIGACCDET_SFT)); } } diff --git a/sound/soc/codecs/mt6359-accdet.h b/sound/soc/codecs/mt6359-accdet.h index 38c36d59b9cc68bd90e16137a05a62b521b75ac1..99de5037a2294b62cb8535fc45dbf4c6fafb5c7f 100644 --- a/sound/soc/codecs/mt6359-accdet.h +++ b/sound/soc/codecs/mt6359-accdet.h @@ -75,7 +75,6 @@ struct dts_data { bool hp_eint_high; struct pwm_deb_settings *pwm_deb; unsigned int eint_detect_mode; - unsigned int eint_use_ext_res; unsigned int eint_comp_vth; }; From patchwork Sun Mar 2 16:30:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997964 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id ED56CC282C6 for ; Sun, 2 Mar 2025 16:53:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=2xu24GtTtvkezi9riibmSzjNlFZXCH1U19izHepRviY=; b=kfR0wEXgNw1D2XE9gIYW2B/EOJ AYs5JFyuBj+WDbczBYI0T1qCnaSL9qEXV2JkxXmXlSDjo09hrtM/lK2mItw/DzTGYsJxqfGcEd9Xd USAinokEnaglZjqYswjw0QmuaANzHI3yV5O7bFkVxZ3yTCzipafa3JWXeWTfRU/uSJ2oAU21IHfTH y3Oi9OK9XLNeJt000vXJUsG+AVghLZVNuesz5U+CULZrqS6uIHV0qHb68b2X4q035UebKcKmku1Zx RJqVq/RXPuO5z/yZvuS6jMPkSRCn/zTFV3E3mNDnPGxJywoZJYJs7WFjrJJDdakwKFjFjyV/CaIh1 0eLAm0gA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomZ0-0000000GNZS-3WpL; Sun, 02 Mar 2025 16:53:14 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomEe-0000000GKX6-07ha; Sun, 02 Mar 2025 16:32:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933130; bh=WYhfhB4H1JBHkDM3tgca8EJ+fQqGiRkqEcKZEKlqLRI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=QIzgo+IfZT8j1RN0U/N59fWBnHK//Hwv7GbseSUqNxPWtMpqSrKsgj7VtLq54cT7q igGmdE51urLyUvdG3AQKwpXp2VKsbC+vFYtX+HyPCJrGkngfw1DkqoUF6gMVY+FH24 myaAac4rGVEsLY50mNexXaNpCSJ78BJ73kNQVke+tNGL8KY900fCRyodUMawH3etG0 dFr/EUUewM8aP3xQdWaMTZQYuXjfJz0nQlJW4LJVIN+uxMmv7Qky1Nvl+NkzuIeAGd UWC0wjhslYhmmPizC2Y0sro+ECDSCLm2woNaeESt4RRIJtnypn0BdwzSh6KYEYU0Gk v85gd3Td1JwkQ== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 8940717E023F; Sun, 2 Mar 2025 17:32:05 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:52 -0300 Subject: [PATCH v2 13/20] ASoC: mediatek: mt6359-accdet: Make PWM debounce settings internal MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-13-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083212_244728_2DC2764B X-CRM114-Status: GOOD ( 17.66 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Instead of reading a bunch of PWM debounce settings from the Devicetree, set reasonable values inside the driver that are known to work across multiple boards. There are no current users of these DT properties, so no backward compatibility needs to be maintained. The properties can be properly introduced in the binding in the future if different boards really need to override them. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.c | 70 ++++++++++++++++++++++------------------ sound/soc/codecs/mt6359-accdet.h | 20 ------------ 2 files changed, 38 insertions(+), 52 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index e04cfb9a607aa5d38d46329eb1387545fda37ccc..6728f1018c992fc9d4e4133dbaf091d256567683 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -43,6 +43,25 @@ #define ACCDET_DIGITAL_FASTDISCHARGE BIT(13) #define ACCDET_AD_FASTDISCHRAGE BIT(14) +/* Debounce time = (DEBOUNCE/32768) sec */ +#define ACCDET_DEBOUNCE0_625MS 0x800 +#define ACCDET_DEBOUNCE1_625MS 0x800 +#define ACCDET_DEBOUNCE3_976US 0x20 +#define ACCDET_DEBOUNCE_AUXADC_2MS 0x44 +/* PWM frequency = 32768/(PWM_WIDTH + 1) Hz */ +#define ACCDET_PWM_WIDTH_25_580HZ 0x500 +/* Duty cycle = (PWM_THRESH + 1) / (PWM_WIDTH + 1) */ +#define ACCDET_PWM_THRESH_100PERCENT ACCDET_PWM_WIDTH_25_580HZ +#define ACCDET_RISE_DELAY 0x1f0 +#define ACCDET_FALL_DELAY 1 +#define ACCDET_EINT_DEBOUNCE0_1MS 5 +#define ACCDET_EINT_DEBOUNCE1_900US 3 +#define ACCDET_EINT_DEBOUNCE2_900US 3 +#define ACCDET_EINT_DEBOUNCE3_1MS 5 +#define ACCDET_EINT_INVERTER_DEBOUNCE_256MS 0xe +#define ACCDET_EINT_CMPMEN_PWM_WIDTH_400MS 4 +#define ACCDET_EINT_CMPMEN_PWM_THRESH_2MS 1 + static struct platform_driver mt6359_accdet_driver; static const struct snd_soc_component_driver mt6359_accdet_soc_driver; @@ -130,7 +149,7 @@ static unsigned int mt6359_accdet_jd_setting(struct mt6359_accdet *priv) } else if (priv->jd_sts == M_PLUG_OUT) { /* set debounce to 1ms */ accdet_set_debounce(priv, eint_state000, - priv->data->pwm_deb->eint_debounce0); + ACCDET_EINT_DEBOUNCE0_1MS); } else { dev_dbg(priv->dev, "should not be here %s()\n", __func__); } @@ -241,11 +260,11 @@ static void mt6359_accdet_recover_jd_setting(struct mt6359_accdet *priv) /* recover accdet debounce0,3 */ accdet_set_debounce(priv, accdet_state000, - priv->data->pwm_deb->debounce0); + ACCDET_DEBOUNCE0_625MS); accdet_set_debounce(priv, accdet_state001, - priv->data->pwm_deb->debounce1); + ACCDET_DEBOUNCE1_625MS); accdet_set_debounce(priv, accdet_state011, - priv->data->pwm_deb->debounce3); + ACCDET_DEBOUNCE3_976US); priv->jack_type = 0; priv->accdet_status = 0x3; @@ -390,7 +409,7 @@ static void mt6359_accdet_jd_work(struct work_struct *work) priv->jack_plugged = false; accdet_set_debounce(priv, accdet_state011, - priv->data->pwm_deb->debounce3); + ACCDET_DEBOUNCE3_976US); regmap_update_bits(priv->regmap, ACCDET_SW_EN_ADDR, ACCDET_SW_EN_MASK_SFT, 0); mt6359_accdet_recover_jd_setting(priv); @@ -497,7 +516,6 @@ static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) int ret; struct device *dev = priv->dev; struct device_node *node = NULL; - int pwm_deb[15] = {0}; unsigned int tmp = 0; node = of_get_child_by_name(dev->parent->of_node, "accdet"); @@ -514,12 +532,6 @@ static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) if (ret) priv->data->mic_mode = 2; - ret = of_property_read_u32_array(node, "mediatek,pwm-deb-setting", - pwm_deb, ARRAY_SIZE(pwm_deb)); - /* debounce8(auxadc debounce) is default, needn't get from dts */ - if (!ret) - memcpy(priv->data->pwm_deb, pwm_deb, sizeof(pwm_deb)); - priv->data->hp_eint_high = of_property_read_bool(node, "mediatek,hp-eint-high"); ret = of_property_read_u32(node, "mediatek,eint-detect-mode", @@ -554,8 +566,8 @@ static void config_digital_init_by_mode(struct mt6359_accdet *priv) { /* enable eint cmpmem pwm */ regmap_write(priv->regmap, ACCDET_EINT_CMPMEN_PWM_THRESH_ADDR, - (priv->data->pwm_deb->eint_pwm_width << 4 | - priv->data->pwm_deb->eint_pwm_thresh)); + (ACCDET_EINT_CMPMEN_PWM_WIDTH_400MS << 4 | + ACCDET_EINT_CMPMEN_PWM_THRESH_2MS)); /* DA signal stable */ if (priv->caps & ACCDET_PMIC_EINT0) { regmap_write(priv->regmap, ACCDET_DA_STABLE_ADDR, @@ -675,22 +687,22 @@ static void mt6359_accdet_init(struct mt6359_accdet *priv) mdelay(1); /* init the debounce time (debounce/32768)sec */ accdet_set_debounce(priv, accdet_state000, - priv->data->pwm_deb->debounce0); + ACCDET_DEBOUNCE0_625MS); accdet_set_debounce(priv, accdet_state001, - priv->data->pwm_deb->debounce1); + ACCDET_DEBOUNCE1_625MS); accdet_set_debounce(priv, accdet_state011, - priv->data->pwm_deb->debounce3); + ACCDET_DEBOUNCE3_976US); accdet_set_debounce(priv, accdet_auxadc, - priv->data->pwm_deb->debounce4); + ACCDET_DEBOUNCE_AUXADC_2MS); accdet_set_debounce(priv, eint_state000, - priv->data->pwm_deb->eint_debounce0); + ACCDET_EINT_DEBOUNCE0_1MS); accdet_set_debounce(priv, eint_state001, - priv->data->pwm_deb->eint_debounce1); + ACCDET_EINT_DEBOUNCE1_900US); accdet_set_debounce(priv, eint_state011, - priv->data->pwm_deb->eint_debounce3); + ACCDET_EINT_DEBOUNCE3_1MS); accdet_set_debounce(priv, eint_inverter_state000, - priv->data->pwm_deb->eint_inverter_debounce); + ACCDET_EINT_INVERTER_DEBOUNCE_256MS); regmap_update_bits(priv->regmap, RG_ACCDET_RST_ADDR, RG_ACCDET_RST_MASK_SFT, BIT(RG_ACCDET_RST_SFT)); @@ -705,12 +717,12 @@ static void mt6359_accdet_init(struct mt6359_accdet *priv) /* init pwm frequency, duty & rise/falling delay */ regmap_write(priv->regmap, ACCDET_PWM_WIDTH_ADDR, - REGISTER_VAL(priv->data->pwm_deb->pwm_width)); + REGISTER_VAL(ACCDET_PWM_WIDTH_25_580HZ)); regmap_write(priv->regmap, ACCDET_PWM_THRESH_ADDR, - REGISTER_VAL(priv->data->pwm_deb->pwm_thresh)); + REGISTER_VAL(ACCDET_PWM_THRESH_100PERCENT)); regmap_write(priv->regmap, ACCDET_RISE_DELAY_ADDR, - (priv->data->pwm_deb->fall_delay << 15 | - priv->data->pwm_deb->rise_delay)); + (ACCDET_FALL_DELAY << 15 | + ACCDET_RISE_DELAY)); regmap_read(priv->regmap, RG_AUDPWDBMICBIAS1_ADDR, ®); if (priv->data->mic_vol <= 7) { @@ -806,12 +818,6 @@ static int mt6359_accdet_probe(struct platform_device *pdev) if (!priv->data) return -ENOMEM; - priv->data->pwm_deb = devm_kzalloc(&pdev->dev, - sizeof(struct pwm_deb_settings), - GFP_KERNEL); - if (!priv->data->pwm_deb) - return -ENOMEM; - priv->regmap = mt6397->regmap; if (IS_ERR(priv->regmap)) { ret = PTR_ERR(priv->regmap); diff --git a/sound/soc/codecs/mt6359-accdet.h b/sound/soc/codecs/mt6359-accdet.h index 99de5037a2294b62cb8535fc45dbf4c6fafb5c7f..287201eebe0330fa170093fd6192bf5694c30469 100644 --- a/sound/soc/codecs/mt6359-accdet.h +++ b/sound/soc/codecs/mt6359-accdet.h @@ -50,30 +50,10 @@ enum { eint_inverter_state000, }; -struct pwm_deb_settings { - unsigned int pwm_width; - unsigned int pwm_thresh; - unsigned int fall_delay; - unsigned int rise_delay; - unsigned int debounce0; - unsigned int debounce1; - unsigned int debounce3; - unsigned int debounce4; - unsigned int eint_pwm_width; - unsigned int eint_pwm_thresh; - unsigned int eint_debounce0; - unsigned int eint_debounce1; - unsigned int eint_debounce2; - unsigned int eint_debounce3; - unsigned int eint_inverter_debounce; - -}; - struct dts_data { unsigned int mic_vol; unsigned int mic_mode; bool hp_eint_high; - struct pwm_deb_settings *pwm_deb; unsigned int eint_detect_mode; unsigned int eint_comp_vth; }; From patchwork Sun Mar 2 16:30:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997965 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1CB08C19F32 for ; Sun, 2 Mar 2025 16:54:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=nTGguG1InwPeM8Zdoc2kuvPS+tlTY8ez0QbSd3+eDaI=; b=J69Qohs4Tv4UI0OsTLvUcSW15s MjTGh9Bv4E+SDzg0/SV953QWIfXEoBaKyc77CLWshmk2ZcmVfRiDpHFE3sbQ9m6ollcqqI7xdo48w V5DDiU8HrsK0RfDdku92t+SIPqSYssML2qSo4WhIdrGu7qn/koQ1tupRQRUE5YhtTgCYRV2ojQVKu PrFu5yRDlJ8vGvtTMP6xFGZdurarVazNBRujST6acpkmwqYFVQkvRldAgdFRswkXbmrWOY1RWEAy0 OonLmyf0WdIcSc8ubohGXNZkprck9mvxJ2dcv8E7CTM0dE1FBVS/f1YEt0Dmgi8n/X8QjC6E6ycKf FOS1+l2w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomaX-0000000GNkO-3Mk6; Sun, 02 Mar 2025 16:54:49 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomEj-0000000GKXn-11Yi; Sun, 02 Mar 2025 16:32:18 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933135; bh=dkyZL8Ll+sShg6MHgOZ7FrAdbANx4Hqmy6yr0yQHymI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=CZlJm9Igmy1eJXBXLcfJEk+ySl7VBxuL/gpum500LF+q6co283Om8TsDAubUL3lEE Wpz9WxNQLqZ6Sbs9eZ7zopwto6m78t4qtWdm0Xlhfc7SQyMJUJ/ROpmn9v/C11xtrO /NF17KjKsyl18KsixGeDgR7NW+jUwnvJfeg9UJU38WJNU7zRD8dH3E/yHeIFNuBhiS cC3qbuYL1a1ESC+l62QYcW5nuoJrpsY5Ul9Z4pFUf7VMTvCHNJA577qhjlTnE8Zh0U FnJvFuE7e8wb4pPSZxLuAOPCcFNLuVoORGpCo9cZvyc9Us+MyYG/u53DC3IH/nK7ra lsJj4Fdn7tPQA== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id F13DC17E05EA; Sun, 2 Mar 2025 17:32:10 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:53 -0300 Subject: [PATCH v2 14/20] ASoC: mediatek: mt6359-accdet: Always use eint detect mode 4 MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-14-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083217_430031_5CAC9B46 X-CRM114-Status: GOOD ( 15.19 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The driver currently reads a mediatek,eint-detect-mode property from DT, which determines certain register configurations. Since there are no users of the property, it doesn't directly describe the hardware, and the default value (4) is known to work across multiple boards, remove the handling for this property and always assume mode 4 is used. The property can be properly introduced in the binding in the future if different boards actually need different configurations. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.c | 208 +++++++++++++-------------------------- sound/soc/codecs/mt6359-accdet.h | 1 - 2 files changed, 70 insertions(+), 139 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index 6728f1018c992fc9d4e4133dbaf091d256567683..83e65b6d5845dea00a8a77d68df4b7df1f62a87c 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -81,31 +81,22 @@ static void recover_eint_setting(struct mt6359_accdet *priv); static unsigned int adjust_eint_analog_setting(struct mt6359_accdet *priv) { - if (priv->data->eint_detect_mode == 0x3 || - priv->data->eint_detect_mode == 0x4) { - /* ESD switches off */ - regmap_update_bits(priv->regmap, - RG_ACCDETSPARE_ADDR, 1 << 8, 0); - } - if (priv->data->eint_detect_mode == 0x4) { - if (priv->caps & ACCDET_PMIC_EINT0) { - /* enable RG_EINT0CONFIGACCDET */ - regmap_update_bits(priv->regmap, - RG_EINT0CONFIGACCDET_ADDR, - RG_EINT0CONFIGACCDET_MASK_SFT, - BIT(RG_EINT0CONFIGACCDET_SFT)); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - /* enable RG_EINT1CONFIGACCDET */ - regmap_update_bits(priv->regmap, - RG_EINT1CONFIGACCDET_ADDR, - RG_EINT1CONFIGACCDET_MASK_SFT, - BIT(RG_EINT1CONFIGACCDET_SFT)); - } - /*select 500k, use internal resistor */ - regmap_update_bits(priv->regmap, RG_EINT0HIRENB_ADDR, - RG_EINT0HIRENB_MASK_SFT, - BIT(RG_EINT0HIRENB_SFT)); + /* ESD switches off */ + regmap_update_bits(priv->regmap, RG_ACCDETSPARE_ADDR, 1 << 8, 0); + if (priv->caps & ACCDET_PMIC_EINT0) { + /* enable RG_EINT0CONFIGACCDET */ + regmap_update_bits(priv->regmap, RG_EINT0CONFIGACCDET_ADDR, + RG_EINT0CONFIGACCDET_MASK_SFT, + BIT(RG_EINT0CONFIGACCDET_SFT)); + } else if (priv->caps & ACCDET_PMIC_EINT1) { + /* enable RG_EINT1CONFIGACCDET */ + regmap_update_bits(priv->regmap, RG_EINT1CONFIGACCDET_ADDR, + RG_EINT1CONFIGACCDET_MASK_SFT, + BIT(RG_EINT1CONFIGACCDET_SFT)); } + /*select 500k, use internal resistor */ + regmap_update_bits(priv->regmap, RG_EINT0HIRENB_ADDR, + RG_EINT0HIRENB_MASK_SFT, BIT(RG_EINT0HIRENB_SFT)); return 0; } @@ -123,18 +114,14 @@ static unsigned int adjust_eint_digital_setting(struct mt6359_accdet *priv) ACCDET_EINT1_INVERTER_SW_EN_MASK_SFT, 0); } - if (priv->data->eint_detect_mode == 0x4) { - if (priv->caps & ACCDET_PMIC_EINT0) { - /* set DA stable signal */ - regmap_update_bits(priv->regmap, - ACCDET_DA_STABLE_ADDR, - ACCDET_EINT0_CEN_STABLE_MASK_SFT, 0); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - /* set DA stable signal */ - regmap_update_bits(priv->regmap, - ACCDET_DA_STABLE_ADDR, - ACCDET_EINT1_CEN_STABLE_MASK_SFT, 0); - } + if (priv->caps & ACCDET_PMIC_EINT0) { + /* set DA stable signal */ + regmap_update_bits(priv->regmap, ACCDET_DA_STABLE_ADDR, + ACCDET_EINT0_CEN_STABLE_MASK_SFT, 0); + } else if (priv->caps & ACCDET_PMIC_EINT1) { + /* set DA stable signal */ + regmap_update_bits(priv->regmap, ACCDET_DA_STABLE_ADDR, + ACCDET_EINT1_CEN_STABLE_MASK_SFT, 0); } return 0; } @@ -159,27 +146,19 @@ static unsigned int mt6359_accdet_jd_setting(struct mt6359_accdet *priv) static void recover_eint_analog_setting(struct mt6359_accdet *priv) { - if (priv->data->eint_detect_mode == 0x3 || - priv->data->eint_detect_mode == 0x4) { - /* ESD switches on */ - regmap_update_bits(priv->regmap, RG_ACCDETSPARE_ADDR, - 1 << 8, 1 << 8); - } - if (priv->data->eint_detect_mode == 0x4) { - if (priv->caps & ACCDET_PMIC_EINT0) { - /* disable RG_EINT0CONFIGACCDET */ - regmap_update_bits(priv->regmap, - RG_EINT0CONFIGACCDET_ADDR, - RG_EINT0CONFIGACCDET_MASK_SFT, 0); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - /* disable RG_EINT1CONFIGACCDET */ - regmap_update_bits(priv->regmap, - RG_EINT1CONFIGACCDET_ADDR, - RG_EINT1CONFIGACCDET_MASK_SFT, 0); - } - regmap_update_bits(priv->regmap, RG_EINT0HIRENB_ADDR, - RG_EINT0HIRENB_MASK_SFT, 0); + /* ESD switches on */ + regmap_update_bits(priv->regmap, RG_ACCDETSPARE_ADDR, 1 << 8, 1 << 8); + if (priv->caps & ACCDET_PMIC_EINT0) { + /* disable RG_EINT0CONFIGACCDET */ + regmap_update_bits(priv->regmap, RG_EINT0CONFIGACCDET_ADDR, + RG_EINT0CONFIGACCDET_MASK_SFT, 0); + } else if (priv->caps & ACCDET_PMIC_EINT1) { + /* disable RG_EINT1CONFIGACCDET */ + regmap_update_bits(priv->regmap, RG_EINT1CONFIGACCDET_ADDR, + RG_EINT1CONFIGACCDET_MASK_SFT, 0); } + regmap_update_bits(priv->regmap, RG_EINT0HIRENB_ADDR, + RG_EINT0HIRENB_MASK_SFT, 0); } static void recover_eint_digital_setting(struct mt6359_accdet *priv) @@ -193,37 +172,30 @@ static void recover_eint_digital_setting(struct mt6359_accdet *priv) ACCDET_EINT1_M_SW_EN_ADDR, ACCDET_EINT1_M_SW_EN_MASK_SFT, 0); } - if (priv->data->eint_detect_mode == 0x4) { + if (priv->caps & ACCDET_PMIC_EINT0) { /* enable eint0cen */ - if (priv->caps & ACCDET_PMIC_EINT0) { - /* enable eint0cen */ - regmap_update_bits(priv->regmap, - ACCDET_DA_STABLE_ADDR, - ACCDET_EINT0_CEN_STABLE_MASK_SFT, - BIT(ACCDET_EINT0_CEN_STABLE_SFT)); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - /* enable eint1cen */ - regmap_update_bits(priv->regmap, - ACCDET_DA_STABLE_ADDR, - ACCDET_EINT1_CEN_STABLE_MASK_SFT, - BIT(ACCDET_EINT1_CEN_STABLE_SFT)); - } + regmap_update_bits(priv->regmap, ACCDET_DA_STABLE_ADDR, + ACCDET_EINT0_CEN_STABLE_MASK_SFT, + BIT(ACCDET_EINT0_CEN_STABLE_SFT)); + } else if (priv->caps & ACCDET_PMIC_EINT1) { + /* enable eint1cen */ + regmap_update_bits(priv->regmap, ACCDET_DA_STABLE_ADDR, + ACCDET_EINT1_CEN_STABLE_MASK_SFT, + BIT(ACCDET_EINT1_CEN_STABLE_SFT)); } - if (priv->data->eint_detect_mode != 0x1) { - if (priv->caps & ACCDET_PMIC_EINT0) { - /* enable inverter */ - regmap_update_bits(priv->regmap, - ACCDET_EINT0_INVERTER_SW_EN_ADDR, - ACCDET_EINT0_INVERTER_SW_EN_MASK_SFT, - BIT(ACCDET_EINT0_INVERTER_SW_EN_SFT)); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - /* enable inverter */ - regmap_update_bits(priv->regmap, - ACCDET_EINT1_INVERTER_SW_EN_ADDR, - ACCDET_EINT1_INVERTER_SW_EN_MASK_SFT, - BIT(ACCDET_EINT1_INVERTER_SW_EN_SFT)); - } + if (priv->caps & ACCDET_PMIC_EINT0) { + /* enable inverter */ + regmap_update_bits(priv->regmap, + ACCDET_EINT0_INVERTER_SW_EN_ADDR, + ACCDET_EINT0_INVERTER_SW_EN_MASK_SFT, + BIT(ACCDET_EINT0_INVERTER_SW_EN_SFT)); + } else if (priv->caps & ACCDET_PMIC_EINT1) { + /* enable inverter */ + regmap_update_bits(priv->regmap, + ACCDET_EINT1_INVERTER_SW_EN_ADDR, + ACCDET_EINT1_INVERTER_SW_EN_MASK_SFT, + BIT(ACCDET_EINT1_INVERTER_SW_EN_SFT)); } } @@ -534,13 +506,6 @@ static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) priv->data->hp_eint_high = of_property_read_bool(node, "mediatek,hp-eint-high"); - ret = of_property_read_u32(node, "mediatek,eint-detect-mode", - &priv->data->eint_detect_mode); - if (ret) { - /* eint detection mode equals to EINT HW Mode */ - priv->data->eint_detect_mode = 0x4; - } - ret = of_property_read_u32(node, "mediatek,eint-num", &tmp); if (ret) tmp = 0; @@ -592,31 +557,16 @@ static void config_digital_init_by_mode(struct mt6359_accdet *priv) /* enable PWM */ regmap_write(priv->regmap, ACCDET_CMP_PWM_EN_ADDR, 0x67); /* enable inverter detection */ - if (priv->data->eint_detect_mode == 0x1) { - /* disable inverter detection */ - if (priv->caps & ACCDET_PMIC_EINT0) { - regmap_update_bits(priv->regmap, - ACCDET_EINT0_INVERTER_SW_EN_ADDR, - ACCDET_EINT0_INVERTER_SW_EN_MASK_SFT, - 0); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - regmap_update_bits(priv->regmap, - ACCDET_EINT1_INVERTER_SW_EN_ADDR, - ACCDET_EINT1_INVERTER_SW_EN_MASK_SFT, - 0); - } - } else { - if (priv->caps & ACCDET_PMIC_EINT0) { - regmap_update_bits(priv->regmap, - ACCDET_EINT0_INVERTER_SW_EN_ADDR, - ACCDET_EINT0_INVERTER_SW_EN_MASK_SFT, - BIT(ACCDET_EINT0_INVERTER_SW_EN_SFT)); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - regmap_update_bits(priv->regmap, - ACCDET_EINT1_INVERTER_SW_EN_ADDR, - ACCDET_EINT1_INVERTER_SW_EN_MASK_SFT, - BIT(ACCDET_EINT1_INVERTER_SW_EN_SFT)); - } + if (priv->caps & ACCDET_PMIC_EINT0) { + regmap_update_bits(priv->regmap, + ACCDET_EINT0_INVERTER_SW_EN_ADDR, + ACCDET_EINT0_INVERTER_SW_EN_MASK_SFT, + BIT(ACCDET_EINT0_INVERTER_SW_EN_SFT)); + } else if (priv->caps & ACCDET_PMIC_EINT1) { + regmap_update_bits(priv->regmap, + ACCDET_EINT1_INVERTER_SW_EN_ADDR, + ACCDET_EINT1_INVERTER_SW_EN_MASK_SFT, + BIT(ACCDET_EINT1_INVERTER_SW_EN_SFT)); } if (priv->data->hp_eint_high) { @@ -649,28 +599,10 @@ static void config_eint_init_by_mode(struct mt6359_accdet *priv) regmap_update_bits(priv->regmap, RG_NCP_PDDIS_EN_ADDR, RG_NCP_PDDIS_EN_MASK_SFT, BIT(RG_NCP_PDDIS_EN_SFT)); - if (priv->data->eint_detect_mode == 0x1 || - priv->data->eint_detect_mode == 0x2 || - priv->data->eint_detect_mode == 0x3) { - if (priv->caps & ACCDET_PMIC_EINT0) { - regmap_update_bits(priv->regmap, - RG_EINT0CONFIGACCDET_ADDR, - RG_EINT0CONFIGACCDET_MASK_SFT, - BIT(RG_EINT0CONFIGACCDET_SFT)); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - regmap_update_bits(priv->regmap, - RG_EINT1CONFIGACCDET_ADDR, - RG_EINT1CONFIGACCDET_MASK_SFT, - BIT(RG_EINT1CONFIGACCDET_SFT)); - } - } - - if (priv->data->eint_detect_mode != 0x1) { - /* current detect set 0.25uA */ - regmap_update_bits(priv->regmap, RG_ACCDETSPARE_ADDR, - 0x3 << RG_ACCDETSPARE_SFT, - 0x3 << RG_ACCDETSPARE_SFT); - } + /* current detect set 0.25uA */ + regmap_update_bits(priv->regmap, RG_ACCDETSPARE_ADDR, + 0x3 << RG_ACCDETSPARE_SFT, + 0x3 << RG_ACCDETSPARE_SFT); regmap_write(priv->regmap, RG_EINTCOMPVTH_ADDR, val | priv->data->eint_comp_vth << RG_EINTCOMPVTH_SFT); } diff --git a/sound/soc/codecs/mt6359-accdet.h b/sound/soc/codecs/mt6359-accdet.h index 287201eebe0330fa170093fd6192bf5694c30469..ff5cd6ea1b06f045b6e1b9f6bc53ef80d78e3b92 100644 --- a/sound/soc/codecs/mt6359-accdet.h +++ b/sound/soc/codecs/mt6359-accdet.h @@ -54,7 +54,6 @@ struct dts_data { unsigned int mic_vol; unsigned int mic_mode; bool hp_eint_high; - unsigned int eint_detect_mode; unsigned int eint_comp_vth; }; From patchwork Sun Mar 2 16:30:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 22504C19F32 for ; Sun, 2 Mar 2025 16:56:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=5w8tSLsfWp1Gro8s55J0PKW8nZ4Ai5JlRaeqjq0e1lg=; b=1KMQ05LRbo3qVDEyPJFO1VgYyp 8cnKJ/H/UvtO60nqcxzSzwa7CF/THDTLVUS2RffPVbjvs6nLDMmcazbpYg4azM+bxwZmBO0DNNaDB j9ORP6aCeZOqqjKITEjNifTPpJJ3WFtJEBfl7oQ/Y9zVVZydIlGC0St/NQT7EmrUuI30hLT1/jRF/ wwFR8aAFlCJpd6zMkxO29QY4/haLcIvmFihCq+4uI4LM8HD7khT+wE2iTFf7E6kwLDH8VMM8uh9NO h5j01sSFKnDlTzSUD/zIQMPbbBT5BpVPFDm1ZoLWXIUIJy1Wiwnw5J1Axokl4THJTzUp7kBIJGDs5 Cgfh4mcw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomc4-0000000GNzG-3LQP; Sun, 02 Mar 2025 16:56:24 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomEo-0000000GKZ1-3fgd; Sun, 02 Mar 2025 16:32:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933141; bh=fSvxu65EsLQP1GMLlD2XfRLcDs630tFxak4ygH/TyRg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=hEQhQ+G2PJn+0eM5LdIrMmZJUnp38jR410PYD3DA7dP82OYRdMP7+Noeuxljhe9yU TP5mmrxrw2XSOAOHsjqeuJ+WkwJL//GuYrorgafg/5tefr+3W3CLVlP99jZFVoZCpG DJd7KcaqQ6aWuO7sRFEocu2G8d4X/Su3SZVbG5dOIq9a8nkyXqsVGNS0840QZ6bjVc ahlY8IYAvsniBUXOgjJp/06U1zE03/5sVi21lMR7amvK4lmmrsyj1jwEpLtLJVNMUm 831nryAStP9YWdgm57xhsh+uyc4wtcoT2ixFdiE8ErlJQCLPJSnUDmTedw1nAw82UJ 9qE6yEvaCnwGw== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 97B4017E023F; Sun, 2 Mar 2025 17:32:16 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:54 -0300 Subject: [PATCH v2 15/20] ASoC: mediatek: mt6359-accdet: Always set micbias1 to 2.8V MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-15-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083223_070232_1659F5B5 X-CRM114-Status: GOOD ( 14.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The driver currently reads a mediatek,mic-vol property from DT to determine the micbias1 setting to configure in hardware. Since there are no current users of the property and the default value (2.8V) is known to work on multiple boards, remove the code handling this property and instead always configure the micbias1 to 2.8V. The property can be properly introduced in the binding in the future if it really turns out that different boards need different configurations. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.c | 23 +++-------------------- sound/soc/codecs/mt6359-accdet.h | 1 - 2 files changed, 3 insertions(+), 21 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index 83e65b6d5845dea00a8a77d68df4b7df1f62a87c..a31e084560c7643b14fb71871699e3167075d9d9 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -494,11 +494,6 @@ static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) if (!node) return -EINVAL; - ret = of_property_read_u32(node, "mediatek,mic-vol", - &priv->data->mic_vol); - if (ret) - priv->data->mic_vol = 8; - ret = of_property_read_u32(node, "mediatek,mic-mode", &priv->data->mic_mode); if (ret) @@ -657,22 +652,10 @@ static void mt6359_accdet_init(struct mt6359_accdet *priv) ACCDET_RISE_DELAY)); regmap_read(priv->regmap, RG_AUDPWDBMICBIAS1_ADDR, ®); - if (priv->data->mic_vol <= 7) { - /* micbias1 <= 2.7V */ - regmap_write(priv->regmap, RG_AUDPWDBMICBIAS1_ADDR, - reg | (priv->data->mic_vol << RG_AUDMICBIAS1VREF_SFT) | - RG_AUDMICBIAS1LOWPEN_MASK_SFT); - } else if (priv->data->mic_vol == 8) { - /* micbias1 = 2.8v */ - regmap_write(priv->regmap, RG_AUDPWDBMICBIAS1_ADDR, - reg | (3 << RG_AUDMICBIAS1HVEN_SFT) | + /* micbias1 = 2.8v */ + regmap_write(priv->regmap, RG_AUDPWDBMICBIAS1_ADDR, + reg | (3 << RG_AUDMICBIAS1HVEN_SFT) | RG_AUDMICBIAS1LOWPEN_MASK_SFT); - } else if (priv->data->mic_vol == 9) { - /* micbias1 = 2.85v */ - regmap_write(priv->regmap, RG_AUDPWDBMICBIAS1_ADDR, - reg | (1 << RG_AUDMICBIAS1HVEN_SFT) | - RG_AUDMICBIAS1LOWPEN_MASK_SFT); - } /* mic mode setting */ regmap_read(priv->regmap, RG_AUDACCDETMICBIAS0PULLLOW_ADDR, ®); if (priv->data->mic_mode == HEADSET_MODE_1) { diff --git a/sound/soc/codecs/mt6359-accdet.h b/sound/soc/codecs/mt6359-accdet.h index ff5cd6ea1b06f045b6e1b9f6bc53ef80d78e3b92..46dcd4759230a5190434b9b7c785e8b9ed12fd3d 100644 --- a/sound/soc/codecs/mt6359-accdet.h +++ b/sound/soc/codecs/mt6359-accdet.h @@ -51,7 +51,6 @@ enum { }; struct dts_data { - unsigned int mic_vol; unsigned int mic_mode; bool hp_eint_high; unsigned int eint_comp_vth; From patchwork Sun Mar 2 16:30:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997971 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D30C7C19F32 for ; Sun, 2 Mar 2025 16:58:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=6CBmAu3QLFctf+8qyHXV7bJVmRiWZrZMR2FDHhPQzBk=; b=BO7rrjVj2UiWtIw2yRF6fPFBO4 M9MH63VAz8wlDO1COnklGRYE7kg4VTbt1ZEwavSov5lqOPAAb7HsHgZ1z9x+03szahweGenT2fK+w JdtPfJ6TFzJMloHLgz3JGQ3ooqDtoO0Ft5eHpm92zPYGnWHeuLmC4RuHlKa6Cc1f08rhOY56kJIcL 841VqpK8cdly9QjFpJDz30AIN8IvBMkSuuIS7DgcAPNfjQl1JtsAQIoVVl3yuRyXrI91ogSeXVHuG rWZe2Llg4hJkotprsE+zeppgEJ8twCVwmEWOZou377lNyd6D2k/kWHdXPqHSfo7H/elCUCY2G/NMI KcpZZ7oQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomdg-0000000GOFN-0kHJ; Sun, 02 Mar 2025 16:58:04 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomEu-0000000GKb5-1Nkq; Sun, 02 Mar 2025 16:32:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933147; bh=ySg4tUQ98HRO6vRyEPikEpgVTA/YNRl0FDdlZxSPKu0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=q3MpWxyZJHd4xvav9e85d0ojD1LJHIN3yiT3JDbtD8RKIJdqt1/bhs52dLy8AiwvM jZNKgkOomFOH6WlDaAYD15u1qFSZxEwrNoN6DNx5hdw1gKpYo5huNMN5wFK9LOjS0C WbUGEK/mfLbwjAw2Jtan4/ORoT+Dtw/UMcQCyzJIIrC/pMydxoDZTdejN2mpZh+wj7 bCiBpiZx5zicv5v53Nwox8Tk3Ys9vveDM7cNQPiji7+U7/OLC2esk0hB4smgzv49cd cEJxcIAgiIubSZyrTgLUzW2SvBf28trX4K+mWp2ifa0EZy72KZLpnNpw1V9qRK0Z05 PUbJSA7rQc2rg== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 0C98017E05EA; Sun, 2 Mar 2025 17:32:21 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:55 -0300 Subject: [PATCH v2 16/20] ASoC: mediatek: mt6359-accdet: Always configure hardware as mic-mode 2 MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-16-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083228_512832_65AAF1F4 X-CRM114-Status: GOOD ( 14.83 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The driver currently reads a mediatek,mic-mode property from DT to determine certain register configurations. Since there are no current users of the property, the property doesn't directly reflect the hardware and the default value (2) is known to work on multiple boards, remove the code handling this property and instead always configure the hardware according to the known to work default. This property can be properly introduced in the binding in the future if it really turns out that different boards need different configurations. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.c | 43 ++++++---------------------------------- sound/soc/codecs/mt6359-accdet.h | 5 ----- 2 files changed, 6 insertions(+), 42 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index a31e084560c7643b14fb71871699e3167075d9d9..12697b02faff1be39317116cd7d8ffa359f2cd4e 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -494,11 +494,6 @@ static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) if (!node) return -EINVAL; - ret = of_property_read_u32(node, "mediatek,mic-mode", - &priv->data->mic_mode); - if (ret) - priv->data->mic_mode = 2; - priv->data->hp_eint_high = of_property_read_bool(node, "mediatek,hp-eint-high"); ret = of_property_read_u32(node, "mediatek,eint-num", &tmp); @@ -658,38 +653,12 @@ static void mt6359_accdet_init(struct mt6359_accdet *priv) RG_AUDMICBIAS1LOWPEN_MASK_SFT); /* mic mode setting */ regmap_read(priv->regmap, RG_AUDACCDETMICBIAS0PULLLOW_ADDR, ®); - if (priv->data->mic_mode == HEADSET_MODE_1) { - /* ACC mode*/ - regmap_write(priv->regmap, RG_AUDACCDETMICBIAS0PULLLOW_ADDR, - reg | RG_ACCDET_MODE_ANA11_MODE1); - /* enable analog fast discharge */ - regmap_update_bits(priv->regmap, RG_ANALOGFDEN_ADDR, - RG_ANALOGFDEN_MASK_SFT, - BIT(RG_ANALOGFDEN_SFT)); - regmap_update_bits(priv->regmap, RG_ACCDETSPARE_ADDR, - 0x3 << 11, 0x3 << 11); - } else if (priv->data->mic_mode == HEADSET_MODE_2) { - /* DCC mode Low cost mode without internal bias */ - regmap_write(priv->regmap, RG_AUDACCDETMICBIAS0PULLLOW_ADDR, - reg | RG_ACCDET_MODE_ANA11_MODE2); - /* enable analog fast discharge */ - regmap_update_bits(priv->regmap, RG_ANALOGFDEN_ADDR, - 0x3 << RG_ANALOGFDEN_SFT, - 0x3 << RG_ANALOGFDEN_SFT); - } else if (priv->data->mic_mode == HEADSET_MODE_6) { - /* DCC mode Low cost mode with internal bias, - * bit8 = 1 to use internal bias - */ - regmap_write(priv->regmap, RG_AUDACCDETMICBIAS0PULLLOW_ADDR, - reg | RG_ACCDET_MODE_ANA11_MODE6); - regmap_update_bits(priv->regmap, RG_AUDPWDBMICBIAS1_ADDR, - RG_AUDMICBIAS1DCSW1PEN_MASK_SFT, - BIT(RG_AUDMICBIAS1DCSW1PEN_SFT)); - /* enable analog fast discharge */ - regmap_update_bits(priv->regmap, RG_ANALOGFDEN_ADDR, - 0x3 << RG_ANALOGFDEN_SFT, - 0x3 << RG_ANALOGFDEN_SFT); - } + /* DCC mode Low cost mode without internal bias */ + regmap_write(priv->regmap, RG_AUDACCDETMICBIAS0PULLLOW_ADDR, + reg | RG_ACCDET_MODE_ANA11_MODE2); + /* enable analog fast discharge */ + regmap_update_bits(priv->regmap, RG_ANALOGFDEN_ADDR, + 0x3 << RG_ANALOGFDEN_SFT, 0x3 << RG_ANALOGFDEN_SFT); config_eint_init_by_mode(priv); config_digital_init_by_mode(priv); diff --git a/sound/soc/codecs/mt6359-accdet.h b/sound/soc/codecs/mt6359-accdet.h index 46dcd4759230a5190434b9b7c785e8b9ed12fd3d..579373807c414130b2a7384db4978e01cf1d046c 100644 --- a/sound/soc/codecs/mt6359-accdet.h +++ b/sound/soc/codecs/mt6359-accdet.h @@ -12,10 +12,6 @@ #define ACCDET_DEVNAME "accdet" -#define HEADSET_MODE_1 (1) -#define HEADSET_MODE_2 (2) -#define HEADSET_MODE_6 (6) - #define MT6359_ACCDET_NUM_BUTTONS 4 #define MT6359_ACCDET_JACK_MASK (SND_JACK_HEADPHONE | \ SND_JACK_HEADSET | \ @@ -51,7 +47,6 @@ enum { }; struct dts_data { - unsigned int mic_mode; bool hp_eint_high; unsigned int eint_comp_vth; }; From patchwork Sun Mar 2 16:30:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997972 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B9DF2C282C6 for ; Sun, 2 Mar 2025 16:59:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=IAffHjLvOsgmSRGom9WoCJviYGzrq7E/Al4G3Wzlyh4=; b=ct9+25gP4qVdV9rewBgmrEq8uS Ou83AIGP1Z5i/2ZSmfkZWIZFVnJBccPJTIKAVL+6AEzTfM7eUumyALexqZVSP1EmJdYUuithUXkHd La1Z7c64PwMD6TEWPl8Sx2rd83xndnGH5O0W79vyvG3ls4p8puLm0hSiBmldQa8DdmEPpW8pLzwNV ZW4mii8A/HA5bEuqvS6ijMQ5ZvauA4kQuQM28ewQ4hhBQVEp7FBJQkFsuvf474TkKPlqITAduguy7 qJjR7nCgXBNmuQZOAcwjy1xjPA4eaCxdcGPoJCJDX0OCAynfYblJUAw3Nh69tOp2FdP1QjQntKKWT ZxIJ5dtA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomfD-0000000GOMp-0USD; Sun, 02 Mar 2025 16:59:39 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomF0-0000000GKcy-062i; Sun, 02 Mar 2025 16:32:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933152; bh=Q8q9/iehdorRcBwKZ4Cn0dk07/+IjdqsbtrE00SPNg4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=CtewjSn5nE+5PROzUrKP7hg/DB7xjV07/vM97EHyiUopwBJw3Jt/TTu5XwBAF9SvF JKZYhRRXP1jtAqIYEYi4t+30mOTSNrKKFGAYaGPZRO5xokqkhY7IQ4sxkkzwOzogJF g7AmsTIoJVgRWMfw+JTwq/51tK66P68VazMf3gAStzm0+in8sbyvXOOc/qFPQPeAWs N34ys+c7BmfWyhLT6O65JJyiohp9OVvOu7WlRn6uXx5zGGXK9LqsvEC+3uEbgJ4XBE 9X9xzb+9XCkmUOb6Ta6QtY+cxpXxzb5BidSuRYi+KPzRitnua1NIdT058nDDMGIvgd lttmX4jt/cHgg== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 8CFDC17E07F8; Sun, 2 Mar 2025 17:32:27 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:56 -0300 Subject: [PATCH v2 17/20] ASoC: mediatek: mt6359-accdet: Always set comp-vth to 1.6V MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-17-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083234_204070_814BFD5C X-CRM114-Status: GOOD ( 14.09 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The driver currently reads a mediatek,eint-comp-vth property from DT to determine the voltage threshold of the EINT comparator. Since there are no current users of the property and setting it to 1.6V is known to work across multiple boards, remove the code handling this property and instead always configure it to 1.6V. The property can be properly introduced in the binding in the future if it really turns out that different boards need different configurations. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.c | 8 ++------ sound/soc/codecs/mt6359-accdet.h | 1 - 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index 12697b02faff1be39317116cd7d8ffa359f2cd4e..3f6a97e8de8d174e59e512d53135fadc5765b5c1 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -61,6 +61,7 @@ #define ACCDET_EINT_INVERTER_DEBOUNCE_256MS 0xe #define ACCDET_EINT_CMPMEN_PWM_WIDTH_400MS 4 #define ACCDET_EINT_CMPMEN_PWM_THRESH_2MS 1 +#define ACCDET_EINT_COMP_VTH_1600MV 2 static struct platform_driver mt6359_accdet_driver; static const struct snd_soc_component_driver mt6359_accdet_soc_driver; @@ -506,11 +507,6 @@ static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) else if (tmp == 2) priv->caps |= ACCDET_PMIC_BI_EINT; - ret = of_property_read_u32(node, "mediatek,eint-comp-vth", - &priv->data->eint_comp_vth); - if (ret) - priv->data->eint_comp_vth = 0x0; - of_node_put(node); dev_warn(priv->dev, "accdet caps=%x\n", priv->caps); @@ -594,7 +590,7 @@ static void config_eint_init_by_mode(struct mt6359_accdet *priv) 0x3 << RG_ACCDETSPARE_SFT, 0x3 << RG_ACCDETSPARE_SFT); regmap_write(priv->regmap, RG_EINTCOMPVTH_ADDR, - val | priv->data->eint_comp_vth << RG_EINTCOMPVTH_SFT); + val | ACCDET_EINT_COMP_VTH_1600MV << RG_EINTCOMPVTH_SFT); } static void mt6359_accdet_init(struct mt6359_accdet *priv) diff --git a/sound/soc/codecs/mt6359-accdet.h b/sound/soc/codecs/mt6359-accdet.h index 579373807c414130b2a7384db4978e01cf1d046c..288b8fbf7c5efaee6520a2c0a5845e156f3b805d 100644 --- a/sound/soc/codecs/mt6359-accdet.h +++ b/sound/soc/codecs/mt6359-accdet.h @@ -48,7 +48,6 @@ enum { struct dts_data { bool hp_eint_high; - unsigned int eint_comp_vth; }; struct mt6359_accdet { From patchwork Sun Mar 2 16:30:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997976 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B7E33C19F32 for ; Sun, 2 Mar 2025 17:01:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=gX/R9Ha9yq4KLGBbx+zmjLWdGudWHCUdpQNwbi34Mzs=; b=Y3HgwFD9FD42p/x6W0L2hzBe2a qUeZ7RUNrbbkAbisZwqe8O4indu5RRKTAsoMLbsXau47MRh01lG/Nf42f6czUeoZpqZ1BRQYgLEz/ ZB+f4q4tXGFtErbJj4SWZzrC3vxNRVnuuJi+PRnj1XFePI+NkcYF5d5Mvhgd6zXTRaJrQF/I3QXGU 2pWGdjpnSuKbslVlMZA7wt6InL9IoBBdJsEQBJuy6HoSHwa4BsEF0xWR8XnxIejz6p4o8oSm0XqEE DNTsnR4OugNGJ7yWf86mbYRBZsYTvF3YnoZUee0tOwEE0MvJDM0ZuXkuZyL8ZCi6laG6hUnJEZzv7 u9gwNOpg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomgl-0000000GOW5-0McZ; Sun, 02 Mar 2025 17:01:15 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomF5-0000000GKeo-2L6B; Sun, 02 Mar 2025 16:32:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933158; bh=AqQe2E7U0dfmYyLyIXsETLGOu5MrOdR7Z1LIsef8zm4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=h5d5wfX8obnGhsrG7WEXVMkP/YUo0BUUn1VpPviUlkUch5MxP4+EqWlzPBdv43SAo 8CuM6PtlLUOBzZiMv07lt4UUmsJb/hqJQwQHHFxNSgRa8kg9dZlnZjSuApf0cSuncM f16Pj6hUqjoE0brfDtgLaaJXul+Op44juaT4d6tZeXIJyhaRTAa6z5/jUDV4+vY7hN 4CXstJXPZVeg/GHv15CBRBG4BWi2sWTT+HO15IiBHrp8lm58XeFEUD7FWApRdQ6/KR fNkzdKIlqUwNBhnu5Bys0uhWTJQ6eInKmYPMqUt9fJL9T0Cxdpv+Lps/+qNJR0MD+S CXYexoojpyyKA== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id 3350A17E05EA; Sun, 2 Mar 2025 17:32:33 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:57 -0300 Subject: [PATCH v2 18/20] ASoC: mediatek: mt6359-accdet: Always use EINT0 IRQ MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-18-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083239_750330_B4270462 X-CRM114-Status: GOOD ( 20.09 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The ACCDET block can generate two distinct EINT interrupts: EINT0 and EINT1, and which is enabled is currently determined by mediatek,eint-num property in DT. However, only EINT0 is used on the boards that are known to have working ACCDET. Since there are no current users of the property, remove its handling and instead always enable EINT0. The property can be properly introduced in the binding in the future if it really turns out that other boards require EINT1. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/codecs/mt6359-accdet.c | 187 +++++++++------------------------------ sound/soc/codecs/mt6359-accdet.h | 1 - 2 files changed, 43 insertions(+), 145 deletions(-) diff --git a/sound/soc/codecs/mt6359-accdet.c b/sound/soc/codecs/mt6359-accdet.c index 3f6a97e8de8d174e59e512d53135fadc5765b5c1..b1e63f3f7fa44687b1cac47c0e33f68a28e15a47 100644 --- a/sound/soc/codecs/mt6359-accdet.c +++ b/sound/soc/codecs/mt6359-accdet.c @@ -31,10 +31,6 @@ #define REGISTER_VAL(x) ((x) - 1) /* mt6359 accdet capability */ -#define ACCDET_PMIC_EINT0 BIT(2) -#define ACCDET_PMIC_EINT1 BIT(3) -#define ACCDET_PMIC_BI_EINT BIT(4) - #define ACCDET_PMIC_RSV_EINT BIT(7) #define ACCDET_RSV_KEY BIT(11) @@ -84,17 +80,10 @@ static unsigned int adjust_eint_analog_setting(struct mt6359_accdet *priv) { /* ESD switches off */ regmap_update_bits(priv->regmap, RG_ACCDETSPARE_ADDR, 1 << 8, 0); - if (priv->caps & ACCDET_PMIC_EINT0) { - /* enable RG_EINT0CONFIGACCDET */ - regmap_update_bits(priv->regmap, RG_EINT0CONFIGACCDET_ADDR, - RG_EINT0CONFIGACCDET_MASK_SFT, - BIT(RG_EINT0CONFIGACCDET_SFT)); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - /* enable RG_EINT1CONFIGACCDET */ - regmap_update_bits(priv->regmap, RG_EINT1CONFIGACCDET_ADDR, - RG_EINT1CONFIGACCDET_MASK_SFT, - BIT(RG_EINT1CONFIGACCDET_SFT)); - } + /* enable RG_EINT0CONFIGACCDET */ + regmap_update_bits(priv->regmap, RG_EINT0CONFIGACCDET_ADDR, + RG_EINT0CONFIGACCDET_MASK_SFT, + BIT(RG_EINT0CONFIGACCDET_SFT)); /*select 500k, use internal resistor */ regmap_update_bits(priv->regmap, RG_EINT0HIRENB_ADDR, RG_EINT0HIRENB_MASK_SFT, BIT(RG_EINT0HIRENB_SFT)); @@ -103,27 +92,13 @@ static unsigned int adjust_eint_analog_setting(struct mt6359_accdet *priv) static unsigned int adjust_eint_digital_setting(struct mt6359_accdet *priv) { - if (priv->caps & ACCDET_PMIC_EINT0) { - /* disable inverter */ - regmap_update_bits(priv->regmap, - ACCDET_EINT0_INVERTER_SW_EN_ADDR, - ACCDET_EINT0_INVERTER_SW_EN_MASK_SFT, 0); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - /* disable inverter */ - regmap_update_bits(priv->regmap, - ACCDET_EINT1_INVERTER_SW_EN_ADDR, - ACCDET_EINT1_INVERTER_SW_EN_MASK_SFT, 0); - } + /* disable inverter */ + regmap_update_bits(priv->regmap, ACCDET_EINT0_INVERTER_SW_EN_ADDR, + ACCDET_EINT0_INVERTER_SW_EN_MASK_SFT, 0); - if (priv->caps & ACCDET_PMIC_EINT0) { - /* set DA stable signal */ - regmap_update_bits(priv->regmap, ACCDET_DA_STABLE_ADDR, - ACCDET_EINT0_CEN_STABLE_MASK_SFT, 0); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - /* set DA stable signal */ - regmap_update_bits(priv->regmap, ACCDET_DA_STABLE_ADDR, - ACCDET_EINT1_CEN_STABLE_MASK_SFT, 0); - } + /* set DA stable signal */ + regmap_update_bits(priv->regmap, ACCDET_DA_STABLE_ADDR, + ACCDET_EINT0_CEN_STABLE_MASK_SFT, 0); return 0; } @@ -149,55 +124,26 @@ static void recover_eint_analog_setting(struct mt6359_accdet *priv) { /* ESD switches on */ regmap_update_bits(priv->regmap, RG_ACCDETSPARE_ADDR, 1 << 8, 1 << 8); - if (priv->caps & ACCDET_PMIC_EINT0) { - /* disable RG_EINT0CONFIGACCDET */ - regmap_update_bits(priv->regmap, RG_EINT0CONFIGACCDET_ADDR, - RG_EINT0CONFIGACCDET_MASK_SFT, 0); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - /* disable RG_EINT1CONFIGACCDET */ - regmap_update_bits(priv->regmap, RG_EINT1CONFIGACCDET_ADDR, - RG_EINT1CONFIGACCDET_MASK_SFT, 0); - } + /* disable RG_EINT0CONFIGACCDET */ + regmap_update_bits(priv->regmap, RG_EINT0CONFIGACCDET_ADDR, + RG_EINT0CONFIGACCDET_MASK_SFT, 0); regmap_update_bits(priv->regmap, RG_EINT0HIRENB_ADDR, RG_EINT0HIRENB_MASK_SFT, 0); } static void recover_eint_digital_setting(struct mt6359_accdet *priv) { - if (priv->caps & ACCDET_PMIC_EINT0) { - regmap_update_bits(priv->regmap, - ACCDET_EINT0_M_SW_EN_ADDR, - ACCDET_EINT0_M_SW_EN_MASK_SFT, 0); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - regmap_update_bits(priv->regmap, - ACCDET_EINT1_M_SW_EN_ADDR, - ACCDET_EINT1_M_SW_EN_MASK_SFT, 0); - } - if (priv->caps & ACCDET_PMIC_EINT0) { - /* enable eint0cen */ - regmap_update_bits(priv->regmap, ACCDET_DA_STABLE_ADDR, - ACCDET_EINT0_CEN_STABLE_MASK_SFT, - BIT(ACCDET_EINT0_CEN_STABLE_SFT)); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - /* enable eint1cen */ - regmap_update_bits(priv->regmap, ACCDET_DA_STABLE_ADDR, - ACCDET_EINT1_CEN_STABLE_MASK_SFT, - BIT(ACCDET_EINT1_CEN_STABLE_SFT)); - } - - if (priv->caps & ACCDET_PMIC_EINT0) { - /* enable inverter */ - regmap_update_bits(priv->regmap, - ACCDET_EINT0_INVERTER_SW_EN_ADDR, - ACCDET_EINT0_INVERTER_SW_EN_MASK_SFT, - BIT(ACCDET_EINT0_INVERTER_SW_EN_SFT)); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - /* enable inverter */ - regmap_update_bits(priv->regmap, - ACCDET_EINT1_INVERTER_SW_EN_ADDR, - ACCDET_EINT1_INVERTER_SW_EN_MASK_SFT, - BIT(ACCDET_EINT1_INVERTER_SW_EN_SFT)); - } + regmap_update_bits(priv->regmap, ACCDET_EINT0_M_SW_EN_ADDR, + ACCDET_EINT0_M_SW_EN_MASK_SFT, 0); + /* enable eint0cen */ + regmap_update_bits(priv->regmap, ACCDET_DA_STABLE_ADDR, + ACCDET_EINT0_CEN_STABLE_MASK_SFT, + BIT(ACCDET_EINT0_CEN_STABLE_SFT)); + + /* enable inverter */ + regmap_update_bits(priv->regmap, ACCDET_EINT0_INVERTER_SW_EN_ADDR, + ACCDET_EINT0_INVERTER_SW_EN_MASK_SFT, + BIT(ACCDET_EINT0_INVERTER_SW_EN_SFT)); } static void recover_eint_setting(struct mt6359_accdet *priv) @@ -486,10 +432,8 @@ static irqreturn_t mt6359_accdet_irq(int irq, void *data) static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) { - int ret; struct device *dev = priv->dev; struct device_node *node = NULL; - unsigned int tmp = 0; node = of_get_child_by_name(dev->parent->of_node, "accdet"); if (!node) @@ -497,16 +441,6 @@ static int mt6359_accdet_parse_dt(struct mt6359_accdet *priv) priv->data->hp_eint_high = of_property_read_bool(node, "mediatek,hp-eint-high"); - ret = of_property_read_u32(node, "mediatek,eint-num", &tmp); - if (ret) - tmp = 0; - if (tmp == 0) - priv->caps |= ACCDET_PMIC_EINT0; - else if (tmp == 1) - priv->caps |= ACCDET_PMIC_EINT1; - else if (tmp == 2) - priv->caps |= ACCDET_PMIC_BI_EINT; - of_node_put(node); dev_warn(priv->dev, "accdet caps=%x\n", priv->caps); @@ -520,13 +454,8 @@ static void config_digital_init_by_mode(struct mt6359_accdet *priv) (ACCDET_EINT_CMPMEN_PWM_WIDTH_400MS << 4 | ACCDET_EINT_CMPMEN_PWM_THRESH_2MS)); /* DA signal stable */ - if (priv->caps & ACCDET_PMIC_EINT0) { - regmap_write(priv->regmap, ACCDET_DA_STABLE_ADDR, - ACCDET_EINT0_STABLE_VAL); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - regmap_write(priv->regmap, ACCDET_DA_STABLE_ADDR, - ACCDET_EINT1_STABLE_VAL); - } + regmap_write(priv->regmap, ACCDET_DA_STABLE_ADDR, + ACCDET_EINT0_STABLE_VAL); /* after receive n+1 number, interrupt issued. */ regmap_update_bits(priv->regmap, ACCDET_EINT_M_PLUG_IN_NUM_ADDR, ACCDET_EINT_M_PLUG_IN_NUM_MASK_SFT, @@ -543,17 +472,9 @@ static void config_digital_init_by_mode(struct mt6359_accdet *priv) /* enable PWM */ regmap_write(priv->regmap, ACCDET_CMP_PWM_EN_ADDR, 0x67); /* enable inverter detection */ - if (priv->caps & ACCDET_PMIC_EINT0) { - regmap_update_bits(priv->regmap, - ACCDET_EINT0_INVERTER_SW_EN_ADDR, - ACCDET_EINT0_INVERTER_SW_EN_MASK_SFT, - BIT(ACCDET_EINT0_INVERTER_SW_EN_SFT)); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - regmap_update_bits(priv->regmap, - ACCDET_EINT1_INVERTER_SW_EN_ADDR, - ACCDET_EINT1_INVERTER_SW_EN_MASK_SFT, - BIT(ACCDET_EINT1_INVERTER_SW_EN_SFT)); - } + regmap_update_bits(priv->regmap, ACCDET_EINT0_INVERTER_SW_EN_ADDR, + ACCDET_EINT0_INVERTER_SW_EN_MASK_SFT, + BIT(ACCDET_EINT0_INVERTER_SW_EN_SFT)); if (priv->data->hp_eint_high) { /* EINT polarity inverse */ @@ -571,13 +492,8 @@ static void config_eint_init_by_mode(struct mt6359_accdet *priv) { unsigned int val = 0; - if (priv->caps & ACCDET_PMIC_EINT0) { - regmap_update_bits(priv->regmap, RG_EINT0EN_ADDR, - RG_EINT0EN_MASK_SFT, BIT(RG_EINT0EN_SFT)); - } else if (priv->caps & ACCDET_PMIC_EINT1) { - regmap_update_bits(priv->regmap, RG_EINT1EN_ADDR, - RG_EINT1EN_MASK_SFT, BIT(RG_EINT1EN_SFT)); - } + regmap_update_bits(priv->regmap, RG_EINT0EN_ADDR, RG_EINT0EN_MASK_SFT, + BIT(RG_EINT0EN_SFT)); /* ESD switches on */ regmap_update_bits(priv->regmap, RG_ACCDETSPARE_ADDR, 1 << 8, 1 << 8); @@ -727,35 +643,18 @@ static int mt6359_accdet_probe(struct platform_device *pdev) } } - if (priv->caps & ACCDET_PMIC_EINT0) { - priv->accdet_eint0 = platform_get_irq(pdev, 1); - if (priv->accdet_eint0 >= 0) { - ret = devm_request_threaded_irq(&pdev->dev, - priv->accdet_eint0, - NULL, mt6359_accdet_irq, - IRQF_TRIGGER_HIGH | IRQF_ONESHOT, - "ACCDET_EINT0", priv); - if (ret) { - dev_err(&pdev->dev, - "Failed to request eint0 IRQ (%d)\n", - ret); - return ret; - } - } - } else if (priv->caps & ACCDET_PMIC_EINT1) { - priv->accdet_eint1 = platform_get_irq(pdev, 2); - if (priv->accdet_eint1 >= 0) { - ret = devm_request_threaded_irq(&pdev->dev, - priv->accdet_eint1, - NULL, mt6359_accdet_irq, - IRQF_TRIGGER_HIGH | IRQF_ONESHOT, - "ACCDET_EINT1", priv); - if (ret) { - dev_err(&pdev->dev, - "Failed to request eint1 IRQ (%d)\n", - ret); - return ret; - } + priv->accdet_eint0 = platform_get_irq(pdev, 1); + if (priv->accdet_eint0 >= 0) { + ret = devm_request_threaded_irq(&pdev->dev, + priv->accdet_eint0, + NULL, mt6359_accdet_irq, + IRQF_TRIGGER_HIGH | IRQF_ONESHOT, + "ACCDET_EINT0", priv); + if (ret) { + dev_err(&pdev->dev, + "Failed to request eint0 IRQ (%d)\n", + ret); + return ret; } } diff --git a/sound/soc/codecs/mt6359-accdet.h b/sound/soc/codecs/mt6359-accdet.h index 288b8fbf7c5efaee6520a2c0a5845e156f3b805d..4156cbc7f0a1744226d5f28746bd13fec6c615b4 100644 --- a/sound/soc/codecs/mt6359-accdet.h +++ b/sound/soc/codecs/mt6359-accdet.h @@ -58,7 +58,6 @@ struct mt6359_accdet { unsigned int caps; int accdet_irq; int accdet_eint0; - int accdet_eint1; struct mutex res_lock; /* lock protection */ bool jack_plugged; unsigned int jack_type; From patchwork Sun Mar 2 16:30:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997977 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4714FC19F32 for ; Sun, 2 Mar 2025 17:02:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Ont19LZTzWI/c2XxW6hZfyxgIzp6LURB99deqxwx6L8=; b=dBrmfyGwFnXt/hMf09qKkX3kNJ +EJMqXleIFpNz2VQiLnhwp2oot4LoValjZGHeEJQcOR2F/Y3B2eZeYIKd2J1vgN38oCWF65l1APzG mIJUh/DcVWkT8txXKTaOO/cMCk0WO2VK0INHAgq7e+sJhpM5tqkj44ztEJyWny7WzMQk5wgRf23H4 loMoXRCdmgRnp4Y8sY9bXO+PezFMy7Lzwz2raz5U/pO2uV0Sinjgvij6FYAUiaNYjt5BNaMXFBK1G CYEQ0+Jrxi2LBOQOOjdBtO/MFnKYB9SfscCqgJDdjXtWBBw9y0mhrcB++v8K/y5MPJIDhSZjP+AJC sYN0jphw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomiH-0000000GOhe-1dZN; Sun, 02 Mar 2025 17:02:49 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomFB-0000000GKhD-1Ym2; Sun, 02 Mar 2025 16:32:46 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933164; bh=0edwmZTqIoP0Y3Y1W2SP+6v6qgCgyweYZ2J4KDdZrHo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=COi96ex2/zAJNE/zRWK1Of1Yb0B/BCzL/x0th603vl42Xvu8FRX+ZyDQH47uLTelp S7jxpANwQ7rfQ9xz5o+63xyFdGGj2R/i6+qoc4WCtLAAWoww7SFmxva8T4RwYgmZXn mMeo57kLd7cp9m9njEw3ElmnFglNZIEb+gUnmpG65XE0flmE2gwv3ULykwisz+yfuf mRHc4bA14D8dDuQP19v6N1QiXGSO3/ziqe+T3XwsaDLkXpCxkoku54RZ1sjGxoxvGa RplC7NnmPV42vqs3q4FmhKWq5Z9XxFMrqxhL7VLuWGaESaPgY6qhGiJqhEcJ/NVE/z 7vcOiZNQZu2RQ== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id CDEE817E07F8; Sun, 2 Mar 2025 17:32:38 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:58 -0300 Subject: [PATCH v2 19/20] arm64: dts: mt6359: Add accessory detect node MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-19-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= , Andrew Perepech X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083245_559759_B70A5FAC X-CRM114-Status: UNSURE ( 9.04 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add audio jack detection node. PMIC accessory detect driver will create an input device that will send key events on jack insertion/removal or accessory device key presses. Co-developed-by: Andrew Perepech Signed-off-by: Andrew Perepech Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: Macpaul Lin Reviewed-by: AngeloGioacchino Del Regno --- arch/arm64/boot/dts/mediatek/mt6359.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm64/boot/dts/mediatek/mt6359.dtsi b/arch/arm64/boot/dts/mediatek/mt6359.dtsi index 7b10f9c59819a9ad02319f00938f35c931091f9f..e24e4aeb3b9cafa2af56c62bc4c549df27d0ec73 100644 --- a/arch/arm64/boot/dts/mediatek/mt6359.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt6359.dtsi @@ -15,6 +15,10 @@ pmic_adc: adc { #io-channel-cells = <1>; }; + accdet: accdet { + compatible = "mediatek,mt6359-accdet"; + }; + mt6359codec: audio-codec { compatible = "mediatek,mt6359-codec"; }; From patchwork Sun Mar 2 16:30:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Patchwork-Id: 13997978 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B788EC19F32 for ; Sun, 2 Mar 2025 17:04:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=g4scr6gSbN7AwK8PnI5Z9xg4swpYbSR8HhTZ4QDwNMo=; b=MZgnkmICtRWVqtDSAKiFyWDkpZ tBBPITl3X13V/jUu4yy7+qvdlPt3QFrSK+/pwAweLxzl361RjQZj8NzQkgiBwja72UWqH8TbQTcdO bQTb1Pbg6jbmWv9HxcWfYRsxOesGfb9QhYpb8ZHazkemRnsHASmLAN2Dg4nkfPxp9XK4ZJkPTvtvV NIVbzsPLpUczyInC3RVNgJ3qhFwUEIkF8PsRkHtYphPL7VTlj4YABSwrRC39cbv441N6aQyRmF865 GGWefw5I2qCT6Upkgb5rOiZcwORSMdOCSzQrib0hUc5ND7MXIA1B89WAi0XbCrG5+24mMpLDJ7WlK l5yLdBcg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tomjp-0000000GOuB-1pYj; Sun, 02 Mar 2025 17:04:25 +0000 Received: from bali.collaboradmins.com ([148.251.105.195]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tomFG-0000000GKiq-3luJ; Sun, 02 Mar 2025 16:32:52 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1740933169; bh=vy7W4XMABxoxejxdW3NIH5jjNnEdXu3h8szhJ30eV5s=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=gMRm2RCwsPFGw7WJ7Tn7/ZFH8fpan3ZHxSy5CkP7HU11qyYX9nHj0STvUe93UMPFX iTpEwzTB+MhioplZOqrgARamas0vuKGEDyKkCJpp0AcCGVX2WA6hf15W96A2IWG3wN nCCrWqoU0i0w0nyLef8wgC0YkAymZpWGEhP4a2mUpUQRXom7covdScFFnOxFUED4V+ YZsFqHg2ul7FW7Bpk10AoVEJiWeWGGZrIb/nQ/nAJn1w622V52pfn9fjegxSN3YrlS A1GT3YZR4bS/4OJjkgBrSKsg8fuMnxUct//F45XNmdebYq7N/oxdVKGzGkUSOrj96/ FLSc+gCOFZ5JQ== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1002]) (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: nfraprado) by bali.collaboradmins.com (Postfix) with ESMTPSA id A570517E023F; Sun, 2 Mar 2025 17:32:44 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Sun, 02 Mar 2025 13:30:59 -0300 Subject: [PATCH v2 20/20] arm64: defconfig: Enable MT6359 ACCDET MIME-Version: 1.0 Message-Id: <20250302-mt6359-accdet-dts-v2-20-5bd633ee0d47@collabora.com> References: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> In-Reply-To: <20250302-mt6359-accdet-dts-v2-0-5bd633ee0d47@collabora.com> To: Liam Girdwood , Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Jaroslav Kysela , Takashi Iwai , Catalin Marinas , Will Deacon Cc: kernel@collabora.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, linux-pm@vger.kernel.org, =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= X-Mailer: b4 0.14.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250302_083251_086088_01A6AAAF X-CRM114-Status: UNSURE ( 7.80 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Enable support for the ACCDET block in the MT6359 PMIC, which provides jack detection capabilities to MediaTek platforms. Signed-off-by: Nícolas F. R. A. Prado Reviewed-by: AngeloGioacchino Del Regno --- arch/arm64/configs/defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index e675bedbc170ccb191f4991e348e36b5de0707a7..dec4708d5e946fc890751cab8de2cf3f302e9447 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -1065,6 +1065,7 @@ CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_WSA881X=m CONFIG_SND_SOC_WSA883X=m CONFIG_SND_SOC_WSA884X=m +CONFIG_SND_SOC_MT6359_ACCDET=m CONFIG_SND_SOC_NAU8822=m CONFIG_SND_SOC_LPASS_WSA_MACRO=m CONFIG_SND_SOC_LPASS_VA_MACRO=m