From nobody Wed Sep 10 05:33:15 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 6121B3469ED; Fri, 5 Sep 2025 11:52:07 +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=1757073129; cv=none; b=rdQs4i+jLMevRXm56d1ZmZSsRou3pGdP/73K7NRFXk1GQqSReCyb8xiVB3ILIPvZlM8ioB13eJg0dPMn9J/P+abG9W2Usqm4BqLYPbtqZOoFs0fScvNCPe/GJ0Tiir/wV8eHPww5FR/k3qUANmHVPqx6HyXZ2vnIjoU9B6Dm2wc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757073129; c=relaxed/simple; bh=nGCQcq61aKBRf0b7FK8UVUHa2H+P8YyeOd1I16hGvAs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZwNpE3vH//crjbUkdIm8rK2vfGOiv+hdufPPCXTwOIKD+VHBQLBPm449/R9SYYKGbCJg+TSJyHZQVw+s0WV1i+l6VCs5XDuuhZX4HW8yCrd1jb2gyoe3xLjdEnjXK0twIM7Od1bZ88hOERUxFWjtfsBBSPtIDjDxIv2kZHRwEyQ= 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=Ka30bxE/; 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="Ka30bxE/" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1757073125; bh=nGCQcq61aKBRf0b7FK8UVUHa2H+P8YyeOd1I16hGvAs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Ka30bxE/Hc2F9cak9VvSldw3iz5FIERcNisml9glefat2t87MRZXYic3aowp3CZZX Y27XoFU1d0MpumDaskc4UX8Iyv5kCKq+bDwtlNwZDPsab7EmrRg+QBw1qYbE9XNCm8 4p7au7KfEpSnTjKXOsNAPoCLVURld3vDndgRNBLsf2Da09gkLHKNUt/iLMazMb6xqb s7NC/iJap3WDwUevCweXxsyezYv/7GkFrsj9eUsVfhG3rI+hYsmMczkMz8N2930ZSB PPjvwry9XqXqHWdE0bG8Zcq6IZ6lHwFWOFQJUSjAFRn4RYDA3YiAKeUycujuYB4zEk l5vsQJ3Q9gH5A== Received: from localhost-live.home (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 EEDC817E0237; Fri, 5 Sep 2025 13:52:04 +0200 (CEST) From: Julien Massot Date: Fri, 05 Sep 2025 13:51:58 +0200 Subject: [PATCH v3 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: <20250905-radxa-nio-12-l-gpio-v3-1-40f11377fb55@collabora.com> References: <20250905-radxa-nio-12-l-gpio-v3-0-40f11377fb55@collabora.com> In-Reply-To: <20250905-radxa-nio-12-l-gpio-v3-0-40f11377fb55@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 Support for MT6359 PMIC keys has been added recently. 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 Reviewed-by: AngeloGioacchino Del Regno --- 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.51.0 From nobody Wed Sep 10 05:33:15 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 0D370342CA2; Fri, 5 Sep 2025 11:52:07 +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=1757073130; cv=none; b=f98+We2RE4KaFVkMlnQdPf8Mb68RNU7iyMThJVhhFZAFTF+chLoGW8FPb+6cZ4A3LqrYNhV0NbyCxKDGJajjQPw7YfiU6A9cYD5GE71TDOdSNSzYjgFtceutehvZ5RTQg0wCLkH/w119Ei8YNDaxgTxqaqG7Wz6h2ocxJD4HPBs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757073130; c=relaxed/simple; bh=zqoH7yzmp/T6OrHqe4v3xODXYovPN0nRkCE+haVZZrQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=awrHxjr7ss+HljnloAWuZXqOc1O9CoC02tj1Tzr0+mpe5EoYDs1wniqhlWV6a9PSbpNd4UffrDTIsxIr+1pDbTaWmcCbWfk05PXV5PIxzDbcht+DrPLGFlQb0KpPkzET73i9EJIPpQKdV0lGxK+pQfR7gtGYjiX9fJRmV9ro22M= 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=ivVAkpL8; 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="ivVAkpL8" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1757073126; bh=zqoH7yzmp/T6OrHqe4v3xODXYovPN0nRkCE+haVZZrQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ivVAkpL86Wt4MV4OtdL/IvqEQ+5YyJdXDWdqZK5raM3CsdMRKUAA2P40uLKYrKH5v aGPF5tPEfVcqupcwvkzSwx0oSvcvFp6qY6TB6b/3v8ByWYwqn6Qs3peWw++DdEVgHn KQ9i2WyOPtu341vU2XIVDr8rBD/gmw+w4zjHlTNGoq7LxJzWgarH+ZZ/8xsWU4P/qV 17hLER7bNq8lOejiqHeqtOKnP/Q8UojOK1bkEAVaSMO84isKW3+RgcV0LKw02oZPAq vaP1K1lDcOT2nw15ypMsshAH/HvXhq/9gZcNRl10geUsb3N3Sj5jhpLDpAuuN54lUa IymqMz9yHJvxA== Received: from localhost-live.home (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 C1F1917E0AC3; Fri, 5 Sep 2025 13:52:05 +0200 (CEST) From: Julien Massot Date: Fri, 05 Sep 2025 13:51:59 +0200 Subject: [PATCH v3 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: <20250905-radxa-nio-12-l-gpio-v3-2-40f11377fb55@collabora.com> References: <20250905-radxa-nio-12-l-gpio-v3-0-40f11377fb55@collabora.com> In-Reply-To: <20250905-radxa-nio-12-l-gpio-v3-0-40f11377fb55@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.51.0 From nobody Wed Sep 10 05:33:15 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 EE8B53451C4; Fri, 5 Sep 2025 11:52:08 +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=1757073130; cv=none; b=pyaqCYN2Sd4sVijMRk1Jvt5DJH5l83hG8WUrDYkHCtyfK5fRsv4jDK4crVq60ykmFymLmVLuqL++u5hzSsVyfdg2HLWGJ7YCVceySOZHYoun2PQz4NpN9o+XDsTdAA8ijZqNRmJnRD1OgTQzD8numOMzlhTRHsj5g3NFg0uYZ84= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757073130; c=relaxed/simple; bh=zIcPzz4+ZUV4cxLri5m6RzjiaeHPYd2Q0gnoN2653mA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gsP4VTesYygaNog9KTEH8RenFsDnZGXgiBIDAcdQgv7iIPy+rZ6wv3V72cI1oQ7an9tmmmmPdCCvD8k75EgMFLIC152AJhpr7b19PY+m5i3Slps7KB3uGtAJKyGRp6jJHqU5VyF8XwlpxdSZc3T4dqo5kxnVT7l03LzWNr5+5no= 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=n/5wTmOJ; 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="n/5wTmOJ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1757073127; bh=zIcPzz4+ZUV4cxLri5m6RzjiaeHPYd2Q0gnoN2653mA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=n/5wTmOJizcJeU4glq9D89n5nNLNFkbZpRFaDOEH34cQ50NB3U7c1CU0/O7JwaNTA 3Tt+eCqbDpu5MR4mScsm9u8LtOv5L/G/8INm66hPFwxrp18SuBwA+BdeNhx2bIKJRo VV1EIuzzgtiQ6xmiHuutnDmFJ1TcHf7G1N9MBe+E0+qfRTB9tMNRo8uXIez0Mg0Slz 0SUKxGqewoDknKev/GpFeDBSW2fsPpKhadKKBn0YIO/wRqhkc78QPzA9jiGd0ue0T9 LGgxDyuSfyMbaHCd/k0Amvp0oE8PtmATzKMD7Wfm26Vjr5AyJNV/2Y+1Q4fwTvcWrx J1JXqIApbA5VQ== Received: from localhost-live.home (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 8FE6017E12BA; Fri, 5 Sep 2025 13:52:06 +0200 (CEST) From: Julien Massot Date: Fri, 05 Sep 2025 13:52:00 +0200 Subject: [PATCH v3 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: <20250905-radxa-nio-12-l-gpio-v3-3-40f11377fb55@collabora.com> References: <20250905-radxa-nio-12-l-gpio-v3-0-40f11377fb55@collabora.com> In-Reply-To: <20250905-radxa-nio-12-l-gpio-v3-0-40f11377fb55@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 | 29 ++++++++++++++++++= ++++ 1 file changed, 29 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..0ea36e7c960fc0b2607833d743c= 5e2e806864600 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,26 @@ 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. + */ + rgb-blue { + color =3D ; + gpios =3D <&pio 6 GPIO_ACTIVE_HIGH>; + }; + + led-1 { + 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 +668,14 @@ pins { }; }; =20 + gpio_leds_pins: gpio-leds-pins { + pins { + pinmux =3D , + ; + output-low; + }; + }; + i2c2_pins: i2c2-pins { pins-bus { pinmux =3D , --=20 2.51.0