From patchwork Tue Mar 4 15:15: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: 870412 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BCFC527F4C7; Tue, 4 Mar 2025 15:16:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101376; cv=none; b=Qnm2vqYJD2b+WhGN/g6ZjcwUW+CJ4nGaUSY+NJs9/LgBsYDTLIer98yS/JOndmVZTmIbDAHqgPMihk7uzjFfPfvHM+qyT03uqHqtPTpZ8AGtgQNi3kwA3rIVB8wseM6d4NCOkjd4f/KiPWs5N20V8etRks7I+dFnIJgABrTqNpg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101376; c=relaxed/simple; bh=sv7vt2JjPvah5UEUTejJW8tA4asG5xEJWZ5yqaPrTtI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GOrkL3zl8YmVVbHnjtSIjZtX4I/TvRPl7rPb/Kso4Otiz5/Mi/p7s7emjkVrs92iT21V4P74PHoUScwVE2pKwg1oryEDVdAflDeabs6qGBR2p9gmrjZsxvppwToTGiwAQlrX0bxsAau8+MEuBmeqMHtBtDlBtgfM/Pzf+qofEoQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=QPCJ5GE8; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="QPCJ5GE8" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1741101373; bh=sv7vt2JjPvah5UEUTejJW8tA4asG5xEJWZ5yqaPrTtI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=QPCJ5GE8Yie0IXMbI3fkiqyq+XY4XVLqX+fpGOul1EMU3uYNOOWNTt5Z/sLZ3RSOd SNkyjLJtWiZ8wm8T1b5xhLOfoD0wmcb84E49JPQ7lzLEu+EfC8frHcy7fgjYFlIkSg CnUDIZJgGxeXbCWiIuT+cOR4+VDlR5Yk7/l2xXsN3PmQt/h7nAD9167J6iwNAZKxgz NtSeSzFnxYZcC0EJ5gTAeljq5+eqrzp6zEqctEhwCL4L5JDLRpFSxU2atTUVgY3+U6 IQz+pZYgMOAMDKnh/NQpRCJHLO0PHpwHMSHTqZ4TVXwtP7Mv8LVmxSNfZU4Ew2narM xXL2hZGdcraAg== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1001]) (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 11C8E17E07F8; Tue, 4 Mar 2025 16:16:07 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Tue, 04 Mar 2025 12:15:42 -0300 Subject: [PATCH v3 01/20] ASoC: dt-bindings: Add document for mt6359-accdet Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250304-mt6359-accdet-dts-v3-1-5b0eafc29f5b@collabora.com> References: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@collabora.com> In-Reply-To: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@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 Add dt-binding for the MT6359 ACCDET hardware block. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Nícolas F. R. A. Prado --- .../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..1d27148ed7bffee3f73015c8af88bfffa8701843 --- /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, MT6359's 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 Tue Mar 4 15:15: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: 870411 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0754028FFD8; Tue, 4 Mar 2025 15:16:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101388; cv=none; b=l7+9oImVO0MI0Jj4Qel2EdI1OobyiBrKflWH889sxoMOPcXvfKLMMS0gNfKOSbbB7it03LUN9nIATA8toJKGww2i9YJQW7PiZ4kF5NoXNnywAz8h5pxfpEaCWh+Hajcm+qJ/o2S5O6afe02KyN3RBaI7OxZbtLJ+pcom7zDQ3z0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101388; c=relaxed/simple; bh=xcB6EmzKAOke9OP1EloteY1ttUjle262e6h5WbQPIxo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YjjpbUc7JOabzw0lbu/RL/l9I5S9E5ch4E+PCeWWe3FBK/kV3ooEgpxMoJ2AuzqZy73dQ0aaYDSUprccIToAOVI/lIxGE9a/9eNQ19Ag2Hqip+YQOhbaqyNrmHD3m46+yp6xDGnn0Vf508ph0nlP7U8tf0FCXnKbr5uzm2BITkg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=N3w3rKgp; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="N3w3rKgp" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1741101384; bh=xcB6EmzKAOke9OP1EloteY1ttUjle262e6h5WbQPIxo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=N3w3rKgpld1lZvAMq1iaJ0mJfXtQ6ojPkS9WxLrSsGGcZDn4zyLvx6+OzN1M6pvbh vRfMiTjcHLfFLPpicGjCQ6WjE6lrzU5UHQjvXYqeHp4Aph0UPRkP0sS90vJAKrVGp7 jZ56kbuRQ2lxEzwTCc5zo8tgodmE42IT4Q9KJGd+NuBRU+XpNRCPHM4G2iqR42wU0J Yc8j3XacM+96WdKxklAn5pgNp8o6bdVz2PHpxkv0rMYE2zxr/x5bf9b4PqHj2aaP1d dIyeCcsiDuTSNkwsJ5zDZEtmZC1HeCdtHtAmc6s7pv1wr69Jg2PIgS1obtJw7Z1l40 EnWJWvvSn8VkQ== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1001]) (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 E139517E07F8; Tue, 4 Mar 2025 16:16:18 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Tue, 04 Mar 2025 12:15:44 -0300 Subject: [PATCH v3 03/20] mfd: mt6397-core: Add mfd_cell for mt6359-accdet Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250304-mt6359-accdet-dts-v3-3-5b0eafc29f5b@collabora.com> References: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@collabora.com> In-Reply-To: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@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 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 Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Nícolas F. R. A. Prado --- 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 Tue Mar 4 15:15: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: 870410 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 42A97280CDB; Tue, 4 Mar 2025 15:16:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101399; cv=none; b=HFkx0uOc6pgXUTcsnklotGbkO1pPt617fP5Ms2bZBhTM43e+7z73q683FMq+PBrepDV3X1xGnY1gTP3H/EhXUuw47y+6jPczuLp1iMl37hTMeNvLo7gpiry01zfrabVDpkltQ6fMj5UJDLDu4GUM1hCkGl7QolokCfJrqOP//48= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101399; c=relaxed/simple; bh=lix1WOppoHxLTu8lRo8ZOELVqyyGO52750g+3jKAaYw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=H0IfZF59PebagX2ijIfY39gU+ATvnfMyTG3Ij5V9hLDmQHd3F+gEVS1ZVwXshd09mRtAvft1S4GaJ5e4T5DPk6MbYOoUtraICVyGAk75BSwc1z4Z3jM7STWQJFy2PCRvDKAf6N+5UkBWjFf8oQlQBqNX9ghxLI0NJAESvn57MjI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=OO9EtD2g; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="OO9EtD2g" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1741101395; bh=lix1WOppoHxLTu8lRo8ZOELVqyyGO52750g+3jKAaYw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=OO9EtD2g1+gDTN7zq1pI7ZmmL1rmiwr4G2eSWrlba3qmjchuSjdaCnyaBlV6bqmxE cLkcjbfvSnOay+RSdYI+Yv7J4IYs8zrET73ZJhoD+V7z+a7GsC+x1+Jg8rHrO7pjd5 4I0SQgLEFjTgWYVsDo6RVuXwg5EzQo+7G5vHFc9QdKGJ5ieLjOCh9EjQomyxoKv+xY WYnRcNwdjeY3pv19s7EQWQTlvibww0n7MDiRUXqWjBDHTPaqZwwrCXgBEP4tNtpQ7h 2fJWVW1MDLuiwzy9gYvCNe//zPN9Olg33R2VrFd+8kYFk07VQ2sti7yGK0G7mu4JwN g4Sjt2lepycdQ== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1001]) (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 7991D17E07F8; Tue, 4 Mar 2025 16:16:30 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Tue, 04 Mar 2025 12:15:46 -0300 Subject: [PATCH v3 05/20] ASoC: mediatek: mt6359-accdet: Handle hp-eint-high property Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250304-mt6359-accdet-dts-v3-5-5b0eafc29f5b@collabora.com> References: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@collabora.com> In-Reply-To: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@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 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. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Nícolas F. R. A. Prado --- 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 Tue Mar 4 15:15: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: 870409 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 595BF255247; Tue, 4 Mar 2025 15:16:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101410; cv=none; b=a/kyvuzCyG/hpLgTJ2TRAUZLwa+a20k/Kc+M7FR9RuEYPKZ8+gr3XV7jkPmhnVUcBXRGpWKZG51o10cXa7DyWTD1NMpUtc/keYaiaN6ZEsKEOUuYJpPM1osxz71HnKJHqJcWBDDXC6M8WMXjbX4EVmr6xuAlNKBEFhYy2ayfBxU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101410; c=relaxed/simple; bh=pxGZiXC6za5vFQ3V/0fw9IlCjpRVWVwiCZ21S4dEkDI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=G1LZF0YltAFyMA3DXyYQNGhaAIGrjU/B+sLMcR3zdW6Su/gGIRvFuQH6rvvUnUaeixYLisBadIfBI0ChpKjzbbGh36IWJefuCH9pxANxczUyYETJqE1OuhCxShbcF6FPowipXk6vXaRE30+GgyFQO1R63xxT5zbifmS5t75/9uE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=obk45PT1; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="obk45PT1" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1741101406; bh=pxGZiXC6za5vFQ3V/0fw9IlCjpRVWVwiCZ21S4dEkDI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=obk45PT1hiFCwR4gOShJURghXzyJM+ZaDykUZb+JuDXWEwxjv2z5kNky2Acb68W6W x5kqfPgxPrGUUyX8UYsFTFR5YC0LYdKXAqTBHVrlj1nwhBMwqx9wKES+jAuuSmTm85 Q+7B6MSyl/rsClN8FoRGDbJGjgrp2ttBMkWr0QwZY26CfXDbTzY1ZoVc13M3uZKl8V c8JeCJKv+9G8NagN8krC0H6+rwdNNg2D6xVT4elSQs+hP6nHdL7lH2srzDG0tnx6CD fw4HA+/I1EEBGq1G+W3TOO3ipEgx1ewsFTrMOGo4uc6HLo5CpmE5gPNG57G/IrdOAs 8w7xdUWinObWw== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1001]) (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 A1DEC17E07F8; Tue, 4 Mar 2025 16:16:41 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Tue, 04 Mar 2025 12:15:48 -0300 Subject: [PATCH v3 07/20] ASoC: mediatek: mt6359-accdet: Drop dead code for EINT/GPIO IRQ handling Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250304-mt6359-accdet-dts-v3-7-5b0eafc29f5b@collabora.com> References: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@collabora.com> In-Reply-To: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@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 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. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Nícolas F. R. A. Prado --- 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 Tue Mar 4 15:15: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: 870408 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 165E2291F9B; Tue, 4 Mar 2025 15:16:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101421; cv=none; b=YzQgvUd1IEsakCZTFQqcVbmc8VFCyeuD3BdFPoe5bLnj/Di4B+OReR9vwCbi5k920LhyBVY33Gi3+0RdMjTzE6HvLSy0IZPdW9F3bsKxgThQBAsee7xCSrXKCAsjHMk6yPYNNfAQhyqiULm4PozCQatIBI3yhQZHEx/EN8c/UWI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101421; c=relaxed/simple; bh=IdQRXefJHAutmxRMMaOnaOXyfBJYqlOoGdfVopRotEs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VNarGT5FaiMf3k4kIGDKiAO9pCuS9OFScDbMs/7NnX57ZK/sP7CeJlkhsup3YV3pLTgjRfbUtZaiu9A79FUWhAzn032ur/NIBEOmj+lIvvRk8OkQjD3i5JMLwPLsbXdnTS1zTcCATstZKpuq30y+LZSgBuiaWDQpKoVaLsj3pdY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=jrmmNLdW; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="jrmmNLdW" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1741101417; bh=IdQRXefJHAutmxRMMaOnaOXyfBJYqlOoGdfVopRotEs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=jrmmNLdWOLtrjvXwAAaV+NSmtLBQcqsvW6s2E4AZ+RDXYe9K3GR59t3AVIQ1esfDx M7Mzsz0fx6MKUND+kAZr85Bk8z39okblTEaWAoJ1GWXBizkLq6HTi1ujJd3As96SU9 me1OZQy7hhsYqBvjav4S8GyAjzCY8dP0DU4wcUvM4lZpsON1ECjXamHPOkRzgg0IIz FZlMQuTmf6OHil/MQceVPrSx7d1X1TINy2uarcAodBD2OqnWGMO3q+2mdJYRjUffUI 88QmV0PXQDvgc23KaaBscczJMEJDqwVNncI+mLRwaqCl5e9aW+q9IJQ6QVjDd8fByD 0Lb/f0YirvBdg== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1001]) (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 967A917E0B56; Tue, 4 Mar 2025 16:16:52 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Tue, 04 Mar 2025 12:15:50 -0300 Subject: [PATCH v3 09/20] ASoC: mediatek: mt6359-accdet: Drop dead code for button detection Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250304-mt6359-accdet-dts-v3-9-5b0eafc29f5b@collabora.com> References: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@collabora.com> In-Reply-To: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@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 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. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Nícolas F. R. A. Prado --- 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 Tue Mar 4 15:15: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: 870407 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4001428F950; Tue, 4 Mar 2025 15:17:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101431; cv=none; b=GNyXF/woMLgE6swXPdH8lXFHO6/zEoC87e+JJTSYxepTFm4OCfxVqp+KLXHyP9nPd2el4R8hMyYs/b6yW+i0m5nzw911JiRhhpjDKVetOqr0BWi3fbKqjmIQt8emSXtfSglil0HxpNZ00s1+sOMjW91fHxyFo47A1GDwZ20ThRo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101431; c=relaxed/simple; bh=nJmb237CbucvJKm/CuN9D5tE8zn4QuoUQDJSwYS6fXw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jiwzdeTMtHiElEPtpk7CrzO1d+q7y1whfI0tDgMpicp//fl3kpZC8XoVFXtvddoejbHvWdr64/v8jL1Gu+6tRePOntaw8n4MMCn+lYYh6qTS7/qkaXHw212uTYBA3uS6dZmbULY6KMGkCIbLug4NoNpJvL+J+ytijgv+PaZAkMo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=qmqkfvkP; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="qmqkfvkP" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1741101428; bh=nJmb237CbucvJKm/CuN9D5tE8zn4QuoUQDJSwYS6fXw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=qmqkfvkP0Gh+lKERZlY58uo7oySkpW3JyvAalnFeb0hRipRqj9SbTNyMFb3zaZQYN Dvj36VPKyzUaecc5EGdfnocR7JAXehiuV/y5GJRwqAVJy1q+WHi3pv1COvsHJo22pO vhUmZ/GER6J2BCJZVJWNFvb42DEfBDLmiCdUUBkLvveuVWMUasjU86dTtCdME/7z7F oZ4ZLKpyj6b1aM06Zc5GQvnO+t/Cnh+ghzplDNTv8Cc6WbMAyit517Gjt3uWkMOT77 AOKY81R+kavb08EmS+qRU8sWQi5TL26yCtOue2ZUQn41ymxFa82TnpJRCKL7gWnrt3 AoyfRR9z2i9jg== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1001]) (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 8B9E017E0630; Tue, 4 Mar 2025 16:17:03 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Tue, 04 Mar 2025 12:15:52 -0300 Subject: [PATCH v3 11/20] ASoC: mediatek: mt6359-accdet: Drop unused moisture variables Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250304-mt6359-accdet-dts-v3-11-5b0eafc29f5b@collabora.com> References: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@collabora.com> In-Reply-To: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@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 The dts_data struct contains several variables for moisture configuration that are simply never used. Drop them. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Nícolas F. R. A. Prado --- 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 Tue Mar 4 15:15: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: 870406 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 38B54292F8A; Tue, 4 Mar 2025 15:17:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101443; cv=none; b=sneH56rLq8QZ7thTvvFjbh9d0x7As9EgC5OoEGYQXB777QPKwVdaYz9iVySF/H+O6boPwvmuVPu7BkX4J3DoVW3U4ed7qylcsFjcdzhIZijzKlSuUSYHRN0hqiKyFHjStmOrfIx2zb9REIZiOJM5rMvBjDQ58PwYsBmAI7nIt/8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101443; c=relaxed/simple; bh=hn1gBR+tSRv7Ed94tUAvjpBP/2EKao1MU4M0g6tP780=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KZutdxRsbeTNNnFHn8gbYN/zEu1CZty0AQ/bjAqRgAH2cfbIZwriZvIQDJE1RtzXFB5LQGW3fxK+YkSZ/cescz+C47Ygt4PyHsW+WdujeSQceg63xa6ikt6Ph1TuKKuY+zDgUqNJdwctUPlyS3nVaHKPXOfY5+nEsPTYhZbla4U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=eVYsXFYd; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="eVYsXFYd" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1741101439; bh=hn1gBR+tSRv7Ed94tUAvjpBP/2EKao1MU4M0g6tP780=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=eVYsXFYdNpSSQzvOYviPmq4ieqK2IHsGXqvM4sw3mQ7/aEL3+58J3Zme6rtSCxYWe KxmjxK8FzPSIGlvJQDl9N+nSAjzI+kSLl3DCvBkP79rqR9BFsQcU2f4IbKMSGGxr4t Ae98xRXojcxe79EaFMzM1VIc2ITZDLycLTjDHQvhBeOfbssK5rpe64E+TisxGv86x4 DpFpTkkDao2+2g5lnt7fYUdZQRf1X/sCk3pTo2L5zSwveRnYjCd+/ExhOph/mRF1D4 Uufgcd26OneHdQYgcxWjDJYBb6OVkMhFF+Z3PgTCfOzWCQJAsbWqn93DgbrI569z8u nBVognmE0LSkg== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1001]) (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 B3E8517E0630; Tue, 4 Mar 2025 16:17:14 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Tue, 04 Mar 2025 12:15:54 -0300 Subject: [PATCH v3 13/20] ASoC: mediatek: mt6359-accdet: Make PWM debounce settings internal Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250304-mt6359-accdet-dts-v3-13-5b0eafc29f5b@collabora.com> References: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@collabora.com> In-Reply-To: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@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 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. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Nícolas F. R. A. Prado --- 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 Tue Mar 4 15:15: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: 870405 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CBDA6293B44; Tue, 4 Mar 2025 15:17:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101454; cv=none; b=MCatA70lR+DT+GNoKPtTgPbME6rK/818kr/t8fuwBpC+A2bBOmI2QaJBWDrsb76li7aiXQ5+4J77A+iJwrCaS76Q42Jh3L4j/MU05EDm5SB5ZPDbfhxZl0uSPNT6SpUnpF+UnqbQnNZLqpX9MTW/N4mNpyHVasWI8cSVTLnrfYc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101454; c=relaxed/simple; bh=+Xc6IIOKZkGqVJGEvJQSuFw6mN/ozG3/FVvAqN7VwII=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HZues5tAGkqpH+DUP3wbo4VDkmYNqyrZbtT8AX9AGZ3N1I4EhUnpsIHtb2m1Fg+h80p+N2wXwHfevlvQC4+9FZpqKfUCNQRYwnJaHoIvFzeulsRuHZh6G3ujv1Bi6Pv/52qWPr5ChtKE73JrK32J/11mFcum+QFpA4HQHFkuiRY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=KfNuXqDy; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="KfNuXqDy" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1741101450; bh=+Xc6IIOKZkGqVJGEvJQSuFw6mN/ozG3/FVvAqN7VwII=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=KfNuXqDyEB1RnEiwIwgL17ufJ7uZIGchqZivCrQycjb97UXsVyeCRymx6xOh1N84W edBqQEJXj+/1GSBTPGgGrE+S7Aowhrd7+2oSKSIGBVZBEID9Xv6zXmLAtwWhGPKc42 Ify6z0DxbcKGJeBIknubdfnKSSO74BKwQHmSZPckkEdimV28uvS6KNcYv+OyLHh+4B f87jjSfTKaA/rjvfnidJ8ec5/VpWcmiRHhrNAGFNTF8fX2Ow2MrbW8ka3Xm6bcm3zG mcuzjIg+5VdxiAtDvXup2ijPCPpSqYG9j0cHK33EODYHPlMKreYWc3LUM1Fy3YI/9O 7rrexC54gD0QA== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1001]) (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 C1D6D17E088C; Tue, 4 Mar 2025 16:17:25 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Tue, 04 Mar 2025 12:15:56 -0300 Subject: [PATCH v3 15/20] ASoC: mediatek: mt6359-accdet: Always set micbias1 to 2.8V Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250304-mt6359-accdet-dts-v3-15-5b0eafc29f5b@collabora.com> References: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@collabora.com> In-Reply-To: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@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 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. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Nícolas F. R. A. Prado --- 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 Tue Mar 4 15:15: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: 870404 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9080828150D; Tue, 4 Mar 2025 15:17:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101465; cv=none; b=LpYtEzQtks67JZUkXak2gq1n3gqv54Xk1IDqEZxyQmsRpCNDjAAh7tfDp3HH+4ZeDLmt8QhE+6ry82W/Psi6FaQ0bEz0pivh582Pyzby0syCqN2U03YkO3+oneAK3aF+C7f84w3mtp9t8Fee+qRhZL+NJP+ZsONW5SLFO6TPTp4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101465; c=relaxed/simple; bh=UtaKHqK3+fgfZE111SW1PU59SBdv6NpsckijEheGGYc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FX6FTDYoGRQV93QMsGXURYnPekOdOQMJfw+LsBlmv+hqmAU60stX1c8C5Z6t9ydNIRRbRd2VxCwPiFZxZKDkMmo0iy5cLS5VdxA1ymCskf7fFzEmEqSQDK5hBwyEJqZx+JRYod45zNZ3x7XrrATxC5BpV+FD/nMl5A1zax3e9ag= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=UeHlQjkZ; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="UeHlQjkZ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1741101462; bh=UtaKHqK3+fgfZE111SW1PU59SBdv6NpsckijEheGGYc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=UeHlQjkZTWgNWLE9SWAPTKyqfr+Qznx10aC1ZwIIQXuB657d1aDgXvlM1F/E3jZY1 8D0NRAidlavcizEchbZq6l31ASfWvceuQ8pYZcENHEmkvVroHxXEJXvP6q4SED1QQ1 VmQLiER0F4ANvUnQG64VziWd/NS+ZMHxsj0l6GtNXh/5fcr5pVXg3ccLG+/wDHa+q9 uAqx6JjKlTp7Lp8RhskTGHzP0XxUm6Lxvf2SRaCjjaeVvKEOJZLy3qpWHpPRdVw6Xi yVEOlzhxRV52nOsS1jfbayMLqMgQAqreUZCetkXkrD1QCgzhlS/3+kO2Xc+LmWtk3k jnbTvwKVuVqBw== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1001]) (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 2790117E07F8; Tue, 4 Mar 2025 16:17:36 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Tue, 04 Mar 2025 12:15:58 -0300 Subject: [PATCH v3 17/20] ASoC: mediatek: mt6359-accdet: Always set comp-vth to 1.6V Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250304-mt6359-accdet-dts-v3-17-5b0eafc29f5b@collabora.com> References: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@collabora.com> In-Reply-To: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@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 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. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Nícolas F. R. A. Prado --- 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 Tue Mar 4 15:16:00 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: 870403 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 107EC27FE97; Tue, 4 Mar 2025 15:17:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101476; cv=none; b=pWiU3+6SHKJzFRt+6dVBhMQDfP/uR1hNot1fx5iqKBN2Wk10sIdzvrxw+NOnqwVHCxTeybIQtYW0KpsPLCgbmTif0gUfLbI2fU0zLS7ty7sWuBdmACuUSJrSh0KYEqvdh6OfVgac05lyDwqGJtlNgZv0tsCK7YNjwy5P7jxvQ0I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741101476; c=relaxed/simple; bh=LBdY8EkTk1rXFVfcF9dktYOACXoiU+urwy0jL5VUVpg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fN1fFbMV4jcmvMH08CSAZQkha9TERlYgLtTequ6STZMBuC1ofCV4GGw32mbHPFuMdLMjwNkMGQ2WdvQaXNJ3ZrJhsD03xTAEemRzTdEM46qGgZb0vKnBb2XKIrVe0HXqYRlWbAYH5D0JUplPEpPjztdNgA/jbWts7oIPCBabw1M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=Gy2RG9LM; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="Gy2RG9LM" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1741101473; bh=LBdY8EkTk1rXFVfcF9dktYOACXoiU+urwy0jL5VUVpg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Gy2RG9LMsBemqeh+coWSVcgDb0ddKIAPAk4dGvzsOR85NQRhh7CmgEtZ8JTbcqhi8 xpFFtH4S7LQ+25q9bKEmaVpQNSFaMtmIBM8gdzUvrp+NSCjkfgVvPgzrIwtroZlm0W vhjaLDKwIbfUjgTBBg7jzMUOgQNAlcE9/Tei2Gg2aXhdP/OXUZ22MhRgpgTruPZQsA I8mN1lVjgTXdXhFR3lZHX2+1OEgcZFNZXExJZmqN08eNy2yK6J2HtCSBZhpLsc6L+7 r+S14/ChtPNuKjeJ9ZJLpWTRLElh+UVBp3hpkFtA6lTnAadpJqlH09QMbyLpJPYJTv +Br3G46MPJoBw== Received: from [192.168.0.47] (unknown [IPv6:2804:14c:1a9:53ee::1001]) (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 1D3AC17E07F8; Tue, 4 Mar 2025 16:17:47 +0100 (CET) From: =?utf-8?b?TsOtY29sYXMgRi4gUi4gQS4gUHJhZG8=?= Date: Tue, 04 Mar 2025 12:16:00 -0300 Subject: [PATCH v3 19/20] arm64: dts: mt6359: Add accessory detect node Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250304-mt6359-accdet-dts-v3-19-5b0eafc29f5b@collabora.com> References: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@collabora.com> In-Reply-To: <20250304-mt6359-accdet-dts-v3-0-5b0eafc29f5b@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 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 Reviewed-by: AngeloGioacchino Del Regno Reviewed-by: Macpaul Lin Signed-off-by: Nícolas F. R. A. Prado --- 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"; };