All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: qcom: monaco: add PMIC PON with power key
@ 2026-08-14 15:26 Milosz Wasilewski
  2026-08-18 13:02 ` Konrad Dybcio
  0 siblings, 1 reply; 3+ messages in thread
From: Milosz Wasilewski @ 2026-08-14 15:26 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Milosz Wasilewski, linux-arm-msm, devicetree, linux-kernel

Monaco has no PMIC PON node, so the power key is not described at all
and there is no pwrkey input device.  More importantly the board then
has no power-key wakeup source: the only way out of s2idle is the RTC
alarm or one of the PCIe/USB/remoteproc sources, and pressing the power
button does nothing.

Add the PON node with the power key, modelled on the pmm8654au PON on
lemans, which carries the same PMIC: the block lives at 0x1200 and its
interrupts are on block 0x12.

qcom,pmk8350-pwrkey has wakeup_source_default set, so the driver arms
the IRQ as a wakeup source without any additional DT property.

On an IQ-8275-EVK this gives a pmic_pwrkey input device under
c440000.spmi:pmic@0:pon@1200, and:

  # grep pwrkey /sys/kernel/debug/wakeup_sources
  c440000.spmi:pmic@0:pon@1200:pwrkey

"systemctl suspend" followed by a power-key press now resumes the board,
where before it stayed in s2idle until an RTC alarm fired.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Milosz Wasilewski <milosz.wasilewski@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/monaco-pmics.dtsi | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/monaco-pmics.dtsi b/arch/arm64/boot/dts/qcom/monaco-pmics.dtsi
index 6e096b9b7546..aeaef002f791 100644
--- a/arch/arm64/boot/dts/qcom/monaco-pmics.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco-pmics.dtsi
@@ -14,6 +14,19 @@ pmm8620au_0: pmic@0 {
 		#address-cells = <1>;
 		#size-cells = <0>;
 
+		pmm8620au_0_pon: pon@1200 {
+			compatible = "qcom,pmk8350-pon";
+			reg = <0x1200>, <0x800>;
+			reg-names = "hlos", "pbs";
+
+			pmm8620au_0_pon_pwrkey: pwrkey {
+				compatible = "qcom,pmk8350-pwrkey";
+				interrupts = <0x0 0x12 0x7 IRQ_TYPE_EDGE_BOTH>;
+				linux,code = <KEY_POWER>;
+				debounce = <15625>;
+			};
+		};
+
 		pmm8620au_0_rtc: rtc@6100 {
 			compatible = "qcom,pmk8350-rtc";
 			reg = <0x6100>, <0x6200>;

base-commit: ed2647532a225739e86c7f236a2ce82764ec2772
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] arm64: dts: qcom: monaco: add PMIC PON with power key
  2026-08-14 15:26 [PATCH] arm64: dts: qcom: monaco: add PMIC PON with power key Milosz Wasilewski
@ 2026-08-18 13:02 ` Konrad Dybcio
  2026-08-18 15:28   ` Milosz Wasilewski
  0 siblings, 1 reply; 3+ messages in thread
From: Konrad Dybcio @ 2026-08-18 13:02 UTC (permalink / raw)
  To: Milosz Wasilewski, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel

On 8/14/26 5:26 PM, Milosz Wasilewski wrote:
> Monaco has no PMIC PON node, so the power key is not described at all
> and there is no pwrkey input device.  More importantly the board then
> has no power-key wakeup source: the only way out of s2idle is the RTC
> alarm or one of the PCIe/USB/remoteproc sources, and pressing the power
> button does nothing.
> 
> Add the PON node with the power key, modelled on the pmm8654au PON on
> lemans, which carries the same PMIC: the block lives at 0x1200 and its
> interrupts are on block 0x12.
> 
> qcom,pmk8350-pwrkey has wakeup_source_default set, so the driver arms
> the IRQ as a wakeup source without any additional DT property.
> 
> On an IQ-8275-EVK this gives a pmic_pwrkey input device under
> c440000.spmi:pmic@0:pon@1200, and:
> 
>   # grep pwrkey /sys/kernel/debug/wakeup_sources
>   c440000.spmi:pmic@0:pon@1200:pwrkey
> 
> "systemctl suspend" followed by a power-key press now resumes the board,
> where before it stayed in s2idle until an RTC alarm fired.
> 
> Assisted-by: Claude:claude-opus-5
> Signed-off-by: Milosz Wasilewski <milosz.wasilewski@oss.qualcomm.com>
> ---

There's a parallel effort:

https://lore.kernel.org/linux-arm-msm/20260724-b4-add_pwrkey_and_resin-v6-0-41acc214d93a@oss.qualcomm.com/

Konrad

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] arm64: dts: qcom: monaco: add PMIC PON with power key
  2026-08-18 13:02 ` Konrad Dybcio
@ 2026-08-18 15:28   ` Milosz Wasilewski
  0 siblings, 0 replies; 3+ messages in thread
From: Milosz Wasilewski @ 2026-08-18 15:28 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel

On Tue, Aug 18, 2026 at 9:02 AM Konrad Dybcio
<konrad.dybcio@oss.qualcomm.com> wrote:
>
>
> There's a parallel effort:
>
> https://lore.kernel.org/linux-arm-msm/20260724-b4-add_pwrkey_and_resin-v6-0-41acc214d93a@oss.qualcomm.com/
>

Thanks for pointing this out. I tested it and it works.

Best Regards,
Milosz

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-08-18 15:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-14 15:26 [PATCH] arm64: dts: qcom: monaco: add PMIC PON with power key Milosz Wasilewski
2026-08-18 13:02 ` Konrad Dybcio
2026-08-18 15:28   ` Milosz Wasilewski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.