From nobody Fri Oct 3 20:29:10 2025 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 A1926342CA7; Tue, 26 Aug 2025 14:01:56 +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=1756216918; cv=none; b=W2Ub5ziKRJrUzoNjGTaYuiyJPcjwuoKSkRvYT8UQySqvpnGRHBkzv6sE2QkGNL2fvc4uoAKvbipF4oNeX1qI70xXi0bd83LW/PKiRlCMt45rO4cMSE86PXq1t582pARWjHXVNhLBGRkVsXTyrhvMek/0jBW8TX+MNy2P9fR4pt4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756216918; c=relaxed/simple; bh=DX2D+C5ydoecfNdBzKvrOSzseuCckWs8nJpneMFTTpA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DhH0e6OFeGk+oRsZtoCHDRH4Lg9B+BgT15yiafy1bkCXtntezbpCVUWD2uniNwOkcGK/6/Mnt9Ob0CqAn+RWIm9Jjyicf6brIBnpuL7arovqpgtjUvJmzRKy3AGSBpGXnvBcdbsm5yBr8OHDTLYr7sgWqHdyARZkBbOAkRo98GE= 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=R01YK0RS; 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="R01YK0RS" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1756216915; bh=DX2D+C5ydoecfNdBzKvrOSzseuCckWs8nJpneMFTTpA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=R01YK0RSpGAPcIuC2HvOq2f4j2Cu3hirMFqwM3aC9SIV8O1iRhrDLpQYPjY0JBmgh yd96hRZOmaLiwLYp7NDsnsgv+j8zg4NYjKMZYFEJ5mWwzAJ+vGW5ABG3KzfL6RJWCD 72ik8u9xPaXhADwuWZH7Ig7nMRCsEBVIJhxNKUXIU1kav+b2jus3asS6bPEX8Fxcg7 qN4uFGVa2fWJ/Q6vzVscwZ9Qox5BEQhpwXij/hf/c4YPWjAZkgXvn6OsQJ4vl+Mskt q0hdU+n0HBWNd1blvg14wfQ4eFyUfZhNpt+GLy0c8ogXPHICGlTIVk87LVjGeQIvlV Yq1QSEDWT0F+A== Received: from 2a01cb0892f2d600c8f85cf092d4af51.ipv6.abo.wanadoo.fr (2a01cb0892f2d600c8f85cF092d4af51.ipv6.abo.wanadoo.fr [IPv6:2a01:cb08:92f2:d600:c8f8:5cf0:92d4:af51]) (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: jmassot) by bali.collaboradmins.com (Postfix) with ESMTPSA id 6B88217E07FB; Tue, 26 Aug 2025 16:01:54 +0200 (CEST) From: Julien Massot Date: Tue, 26 Aug 2025 16:01:52 +0200 Subject: [PATCH v2 1/3] Input: mtk-pmic-keys - MT6359 has a specific release irq Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250826-radxa-nio-12-l-gpio-v2-1-7f18fa3fbfc8@collabora.com> References: <20250826-radxa-nio-12-l-gpio-v2-0-7f18fa3fbfc8@collabora.com> In-Reply-To: <20250826-radxa-nio-12-l-gpio-v2-0-7f18fa3fbfc8@collabora.com> To: kernel@collabora.com, Dmitry Torokhov , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Louis-Alexis Eyraud Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, Julien Massot X-Mailer: b4 0.14.2 A recent commit in linux-next added support for key events. However, the key release event is not properly handled: only key press events are generated, leaving key states stuck in "pressed". This patch ensures that both key press and key release events are properly emitted by handling the release logic correctly. Introduce a 'key_release_irq' member to the 'mtk_pmic_regs', to identify the devices that have a separate irq for the release event. Fixes: bc25e6bf032e ("Input: mtk-pmic-keys - add support for MT6359 PMIC ke= ys") Signed-off-by: Julien Massot --- drivers/input/keyboard/mtk-pmic-keys.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/input/keyboard/mtk-pmic-keys.c b/drivers/input/keyboar= d/mtk-pmic-keys.c index 50e2e792c91d2626d3f282d04a1db60845827ef2..c78d9f6d97c4f7a77b4c44cee3b= 93e4712a19aec 100644 --- a/drivers/input/keyboard/mtk-pmic-keys.c +++ b/drivers/input/keyboard/mtk-pmic-keys.c @@ -55,6 +55,7 @@ struct mtk_pmic_regs { const struct mtk_pmic_keys_regs keys_regs[MTK_PMIC_MAX_KEY_COUNT]; u32 pmic_rst_reg; u32 rst_lprst_mask; /* Long-press reset timeout bitmask */ + bool key_release_irq; }; =20 static const struct mtk_pmic_regs mt6397_regs =3D { @@ -116,6 +117,7 @@ static const struct mtk_pmic_regs mt6358_regs =3D { MTK_PMIC_HOMEKEY_RST), .pmic_rst_reg =3D MT6358_TOP_RST_MISC, .rst_lprst_mask =3D MTK_PMIC_RST_DU_MASK, + .key_release_irq =3D true, }; =20 static const struct mtk_pmic_regs mt6359_regs =3D { @@ -129,6 +131,7 @@ static const struct mtk_pmic_regs mt6359_regs =3D { MTK_PMIC_HOMEKEY_RST), .pmic_rst_reg =3D MT6359_TOP_RST_MISC, .rst_lprst_mask =3D MTK_PMIC_RST_DU_MASK, + .key_release_irq =3D true, }; =20 struct mtk_pmic_keys_info { @@ -368,7 +371,7 @@ static int mtk_pmic_keys_probe(struct platform_device *= pdev) if (keys->keys[index].irq < 0) return keys->keys[index].irq; =20 - if (of_device_is_compatible(node, "mediatek,mt6358-keys")) { + if (mtk_pmic_regs->key_release_irq) { keys->keys[index].irq_r =3D platform_get_irq_byname(pdev, irqnames_r[index]); =20 --=20 2.50.1 From nobody Fri Oct 3 20:29:10 2025 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 8E609302CA6; Tue, 26 Aug 2025 14:01:57 +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=1756216919; cv=none; b=hWeQLicosKP7lpEtwJdmPryPDafST1PFKjAueBuz4qmTXwYSBraChgflsYeSgTY9miI63MRlcwMQbMSB//LWUnhRE1Pw0XnZY18Hn/vjJ5NfHKK+64VYIqIPkn70LYkZqVU5KMY/oMGDArxcyhHQvwSBkG1UDQl9gIIRpu0m72U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756216919; c=relaxed/simple; bh=aTzc19rNzhfUwnKHgHEs3yztG7QPsMFThY65PshM7MA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UgcFMlmc7gyXhwNXFiZTiVcpoLgGh416Xf8yHLG/arsG4DK7ACdWU6D3OTBqUII9eUDMtbNa7DW3rHEMWQhoZcj0qE+uirYL8K1FoINlZdCBb7REA/jt8jYN5YlTcVEr5lCxKKxWAkGiXAc+AlG1cSAel+03aV1wRvDDU9/Fxis= 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=jjIfeuha; 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="jjIfeuha" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1756216915; bh=aTzc19rNzhfUwnKHgHEs3yztG7QPsMFThY65PshM7MA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=jjIfeuha8TBM5GDPmpevTC75pb4zYfQnmaB4K36nx5sp92f7qmlalZkBORQb4M5xh uqizmcUulNBCXqQrntFVOyps0lIfTGr0ecz/FU8EbtzCX7KUnH0ptff7MMXbTXlpzf tOjUfg6fzvOhYx61AFWjWyNT/lVP4GQcHIQHNpk3+9YGpgR0kikGkwHowgFu2oUtX9 UUcKu4bfRVFQtNisCypHDnOVI37ZeknQE9Pqv916XG6K/pmZYdpEG/qRf1XHKXRPrD EkMqRUVhliLUvbTfSoTbF2S2cthrTOiiO8dqMMO95JhszEK3yez8jZGO44ky5rI+WB zJmrulzQi/iEw== Received: from 2a01cb0892f2d600c8f85cf092d4af51.ipv6.abo.wanadoo.fr (2a01cb0892f2d600c8f85cF092d4af51.ipv6.abo.wanadoo.fr [IPv6:2a01:cb08:92f2:d600:c8f8:5cf0:92d4:af51]) (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: jmassot) by bali.collaboradmins.com (Postfix) with ESMTPSA id 3FA0217E086B; Tue, 26 Aug 2025 16:01:55 +0200 (CEST) From: Julien Massot Date: Tue, 26 Aug 2025 16:01:53 +0200 Subject: [PATCH v2 2/3] arm64: dts: mediatek: mt8395-nio-12l: add PMIC and GPIO keys support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250826-radxa-nio-12-l-gpio-v2-2-7f18fa3fbfc8@collabora.com> References: <20250826-radxa-nio-12-l-gpio-v2-0-7f18fa3fbfc8@collabora.com> In-Reply-To: <20250826-radxa-nio-12-l-gpio-v2-0-7f18fa3fbfc8@collabora.com> To: kernel@collabora.com, Dmitry Torokhov , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Louis-Alexis Eyraud Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, Julien Massot X-Mailer: b4 0.14.2 Add support for PMIC and GPIO keys on the Radxa NIO 12L board: Declare a gpio-keys node for the Volume Up button using GPIO106. Add the corresponding pin configuration in the pinctrl node. Add a mediatek,mt6359-keys subnode under the PMIC to handle the power and home buttons exposed by the MT6359. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Julien Massot --- .../boot/dts/mediatek/mt8395-radxa-nio-12l.dts | 36 ++++++++++++++++++= ++++ 1 file changed, 36 insertions(+) diff --git a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts b/arch/a= rm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts index 329c60cc6a6be0b4be8c0b8bb033b32d35302804..fd596e2298285361ad7c2fb828f= eec598d75a73e 100644 --- a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts +++ b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts @@ -8,6 +8,7 @@ #include "mt8195.dtsi" #include "mt6359.dtsi" #include +#include #include #include #include @@ -60,6 +61,18 @@ backlight: backlight { status =3D "disabled"; }; =20 + keys: gpio-keys { + compatible =3D "gpio-keys"; + + button-volume-up { + wakeup-source; + debounce-interval =3D <100>; + gpios =3D <&pio 106 GPIO_ACTIVE_LOW>; + label =3D "volume_up"; + linux,code =3D ; + }; + }; + wifi_vreg: regulator-wifi-3v3-en { compatible =3D "regulator-fixed"; regulator-name =3D "wifi_3v3_en"; @@ -626,6 +639,14 @@ pins-txd { }; }; =20 + gpio_key_pins: gpio-keys-pins { + pins { + pinmux =3D ; + bias-pull-up; + input-enable; + }; + }; + i2c2_pins: i2c2-pins { pins-bus { pinmux =3D , @@ -880,6 +901,21 @@ &pciephy { =20 &pmic { interrupts-extended =3D <&pio 222 IRQ_TYPE_LEVEL_HIGH>; + + mt6359keys: keys { + compatible =3D "mediatek,mt6359-keys"; + mediatek,long-press-mode =3D <1>; + power-off-time-sec =3D <0>; + + power-key { + linux,keycodes =3D ; + wakeup-source; + }; + + home { + linux,keycodes =3D ; + }; + }; }; =20 &scp { --=20 2.50.1 From nobody Fri Oct 3 20:29:10 2025 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 5665334DCF6; Tue, 26 Aug 2025 14:01:58 +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=1756216920; cv=none; b=t1hDpcrtKHBlcJ5FnJRx/+Wnwo2tjKIWbzJJvxthWMuBgxIIrPTRS1pDAL/jLCM2cw2r5VG9rh/eb6qWfYKsVG6GsrCO9vhufdbbUkL66CyniPh6OYuN2qqjNeXN5M87Fad5gFE/TZBuvwAU9LQeuVEkvCb70PEG0rPHrTABjVE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756216920; c=relaxed/simple; bh=1orjOVOBQPF16N4NkcngIDGSPWhXZVsgtixMp4piRVc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qg5MVAo6ofwp3XpCLwajtBOoRCdBquhJVYov+Go8LBz1qnf03hFuP1AqhsEOwddY6rxJRktljKu3MJayK2xtBj/gQxDjbKnKoOT+BO2GecG7NCZzL74rB3z7rwaeoEMJVlpzZ6RWxzz3duVRgEyRzhU+4OH7t+MQRsDXCEzg2uw= 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=WIYB6cX4; 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="WIYB6cX4" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1756216916; bh=1orjOVOBQPF16N4NkcngIDGSPWhXZVsgtixMp4piRVc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=WIYB6cX4ZURN1Z8+3WvjWgaAcP0G0sSFewET80YNTMTNDEodE9YPbmacm013xGVwD Wu4dWex+I1eKg6q/s9SaiND/BAVXxSkTxBqwBcnXJRpAdJILEDCyzlSilLDAzc9k2r xmOauOKfgJDDPmTCFe0KBk5pf9ZCQyXtQ+LN8mpRvFdEvR7UEoh2Lha8yTpFcknaia k9MsO3PmYsLWPn9Db9PTEIEk/SNnrsfE0XpIVgtdP2P5g7S0MQLJuMUdn5Q72G+dqe MBLeoPsNf/77dqM7Wgsv0HSTw2Dg+DatxUsy5z0i3I2ou+xNlekwQB6blwfK3I5CUj naPVwQJ+Wam4A== Received: from 2a01cb0892f2d600c8f85cf092d4af51.ipv6.abo.wanadoo.fr (2a01cb0892f2d600c8f85cF092d4af51.ipv6.abo.wanadoo.fr [IPv6:2a01:cb08:92f2:d600:c8f8:5cf0:92d4:af51]) (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: jmassot) by bali.collaboradmins.com (Postfix) with ESMTPSA id 0E70C17E0C21; Tue, 26 Aug 2025 16:01:56 +0200 (CEST) From: Julien Massot Date: Tue, 26 Aug 2025 16:01:54 +0200 Subject: [PATCH v2 3/3] arm64: dts: mediatek: mt8395-nio-12l: add support for blue and red LEDs Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250826-radxa-nio-12-l-gpio-v2-3-7f18fa3fbfc8@collabora.com> References: <20250826-radxa-nio-12-l-gpio-v2-0-7f18fa3fbfc8@collabora.com> In-Reply-To: <20250826-radxa-nio-12-l-gpio-v2-0-7f18fa3fbfc8@collabora.com> To: kernel@collabora.com, Dmitry Torokhov , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Louis-Alexis Eyraud Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, Julien Massot X-Mailer: b4 0.14.2 The Radxa NIO 12L board has an RGB LED, of which only red and blue are controllable. Red and blue LEDs: no need to choose, both are enabled. Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Julien Massot --- .../boot/dts/mediatek/mt8395-radxa-nio-12l.dts | 31 ++++++++++++++++++= ++++ 1 file changed, 31 insertions(+) diff --git a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts b/arch/a= rm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts index fd596e2298285361ad7c2fb828feec598d75a73e..12288ad4d2932b7f78c96c0efe3= 66a046721f919 100644 --- a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts +++ b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -73,6 +74,28 @@ button-volume-up { }; }; =20 + gpio-leds { + compatible =3D "gpio-leds"; + pinctrl-0 =3D <&gpio_leds_pins>; + pinctrl-names =3D "default"; + + /* + * This board has a RGB LED, of which only R and B + * are controllable. + */ + led-0 { + label =3D "rgb-blue"; + color =3D ; + gpios =3D <&pio 6 GPIO_ACTIVE_HIGH>; + }; + + led-1 { + label =3D "rgb-red"; + color =3D ; + gpios =3D <&pio 7 GPIO_ACTIVE_HIGH>; + }; + }; + wifi_vreg: regulator-wifi-3v3-en { compatible =3D "regulator-fixed"; regulator-name =3D "wifi_3v3_en"; @@ -647,6 +670,14 @@ pins { }; }; =20 + gpio_leds_pins: gpio-leds-pins { + pins { + pinmux =3D , + ; + output-low; + }; + }; + i2c2_pins: i2c2-pins { pins-bus { pinmux =3D , --=20 2.50.1