* [PATCH v6 1/3] dt-bindings: power: reset: qcom-pon: Add new compatible PMM8654AU
2026-07-24 10:14 [PATCH v6 0/3] monaco: Add PMM8654AU PON support Rakesh Kota
@ 2026-07-24 10:14 ` Rakesh Kota
2026-07-27 6:37 ` Krzysztof Kozlowski
2026-07-24 10:14 ` [PATCH v6 2/3] dt-bindings: power: reset: fix minimum reg count for pmk8350-pon Rakesh Kota
2026-07-24 10:14 ` [PATCH v6 3/3] arm64: dts: qcom: monaco-pmics: Add PON power key and reset inputs Rakesh Kota
2 siblings, 1 reply; 8+ messages in thread
From: Rakesh Kota @ 2026-07-24 10:14 UTC (permalink / raw)
To: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Vinod Koul, Bjorn Andersson, Konrad Dybcio
Cc: linux-pm, devicetree, linux-kernel, linux-arm-msm, Rakesh Kota,
Kamal Wadhwa, Jishnu Prakash, Dmitry Baryshkov
PMM8654AU is a distinct PMIC variant from PMM8650AU despite sharing the
same PMIC subtype. PMM8654AU implements additional registers added to
the "hlos" register address spaces, so add qcom,pmm8654au-pon as a
fallback to qcom,pmk8350-pon to distinguish it from the baseline
PMK8350 PON implementation.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
---
Changes in v6:
- As suggested by Krzysztof Kozlowski, split minItems: 2 fix for qcom,pmk8350-pon
into a separate patch — it's an independent ABI fix unrelated to adding PMM8654AU support.
Changes in v5:
- Set minItems: 2 for reg in the PMK8350 if/then block to enforce that
both hlos and pbs address spaces are required for GEN3 PON peripherals.
Changes in v4:
- Remove the contain for PMK8350 and new if:then for PMM8654AU as
suggested by Krzysztof Kozlowski
Changes in v3:
- Update the commit message.
Changes in v2:
- Introduces PMM8654AU compatible strings as suggested by Konrad Dybcio.
---
.../devicetree/bindings/power/reset/qcom,pon.yaml | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
index 71d43d3602f7..3d07aa004eb6 100644
--- a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
+++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
@@ -17,12 +17,16 @@ description: |
properties:
compatible:
- enum:
- - qcom,pm8916-pon
- - qcom,pm8941-pon
- - qcom,pms405-pon
- - qcom,pm8998-pon
- - qcom,pmk8350-pon
+ oneOf:
+ - enum:
+ - qcom,pm8916-pon
+ - qcom,pm8941-pon
+ - qcom,pms405-pon
+ - qcom,pm8998-pon
+ - qcom,pmk8350-pon
+ - items:
+ - const: qcom,pmm8654au-pon
+ - const: qcom,pmk8350-pon
reg:
description: |
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v6 1/3] dt-bindings: power: reset: qcom-pon: Add new compatible PMM8654AU
2026-07-24 10:14 ` [PATCH v6 1/3] dt-bindings: power: reset: qcom-pon: Add new compatible PMM8654AU Rakesh Kota
@ 2026-07-27 6:37 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2026-07-27 6:37 UTC (permalink / raw)
To: Rakesh Kota
Cc: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Vinod Koul, Bjorn Andersson, Konrad Dybcio, linux-pm, devicetree,
linux-kernel, linux-arm-msm, Kamal Wadhwa, Jishnu Prakash,
Dmitry Baryshkov
On Fri, Jul 24, 2026 at 03:44:11PM +0530, Rakesh Kota wrote:
> PMM8654AU is a distinct PMIC variant from PMM8650AU despite sharing the
> same PMIC subtype. PMM8654AU implements additional registers added to
> the "hlos" register address spaces, so add qcom,pmm8654au-pon as a
> fallback to qcom,pmk8350-pon to distinguish it from the baseline
> PMK8350 PON implementation.
>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v6 2/3] dt-bindings: power: reset: fix minimum reg count for pmk8350-pon
2026-07-24 10:14 [PATCH v6 0/3] monaco: Add PMM8654AU PON support Rakesh Kota
2026-07-24 10:14 ` [PATCH v6 1/3] dt-bindings: power: reset: qcom-pon: Add new compatible PMM8654AU Rakesh Kota
@ 2026-07-24 10:14 ` Rakesh Kota
2026-07-27 6:36 ` Krzysztof Kozlowski
2026-07-24 10:14 ` [PATCH v6 3/3] arm64: dts: qcom: monaco-pmics: Add PON power key and reset inputs Rakesh Kota
2 siblings, 1 reply; 8+ messages in thread
From: Rakesh Kota @ 2026-07-24 10:14 UTC (permalink / raw)
To: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Vinod Koul, Bjorn Andersson, Konrad Dybcio
Cc: linux-pm, devicetree, linux-kernel, linux-arm-msm, Rakesh Kota,
Kamal Wadhwa, Jishnu Prakash
The GEN3 PON peripheral requires two register address spaces: "hlos"
for the primary PON block and "pbs" for the address needs to be
specified to facilitate software debouncing. Set minItems: 2 for reg
in the qcom,pmk8350-pon if/then constraint to enforce that both
address spaces are always present.
Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
---
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
index 3d07aa004eb6..2ac84cc9d907 100644
--- a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
+++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
@@ -113,10 +113,9 @@ allOf:
then:
properties:
reg:
- minItems: 1
+ minItems: 2
maxItems: 2
reg-names:
- minItems: 1
items:
- const: hlos
- const: pbs
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v6 2/3] dt-bindings: power: reset: fix minimum reg count for pmk8350-pon
2026-07-24 10:14 ` [PATCH v6 2/3] dt-bindings: power: reset: fix minimum reg count for pmk8350-pon Rakesh Kota
@ 2026-07-27 6:36 ` Krzysztof Kozlowski
2026-07-28 10:12 ` Rakesh Kota
0 siblings, 1 reply; 8+ messages in thread
From: Krzysztof Kozlowski @ 2026-07-27 6:36 UTC (permalink / raw)
To: Rakesh Kota
Cc: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Vinod Koul, Bjorn Andersson, Konrad Dybcio, linux-pm, devicetree,
linux-kernel, linux-arm-msm, Kamal Wadhwa, Jishnu Prakash
On Fri, Jul 24, 2026 at 03:44:12PM +0530, Rakesh Kota wrote:
> The GEN3 PON peripheral requires two register address spaces: "hlos"
> for the primary PON block and "pbs" for the address needs to be
> specified to facilitate software debouncing. Set minItems: 2 for reg
That's ABI break and I do not underestand if this was broken before or
not. Driver ignores the PBS, so everything was working fine, no? Then
why PBS is required now? Is it actually working or not?
> in the qcom,pmk8350-pon if/then constraint to enforce that both
> address spaces are always present.
>
> Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
> ---
> Documentation/devicetree/bindings/power/reset/qcom,pon.yaml | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v6 2/3] dt-bindings: power: reset: fix minimum reg count for pmk8350-pon
2026-07-27 6:36 ` Krzysztof Kozlowski
@ 2026-07-28 10:12 ` Rakesh Kota
2026-07-28 10:20 ` Krzysztof Kozlowski
0 siblings, 1 reply; 8+ messages in thread
From: Rakesh Kota @ 2026-07-28 10:12 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Vinod Koul, Bjorn Andersson, Konrad Dybcio, linux-pm, devicetree,
linux-kernel, linux-arm-msm, Kamal Wadhwa, Jishnu Prakash
On Mon, Jul 27, 2026 at 08:36:38AM +0200, Krzysztof Kozlowski wrote:
> On Fri, Jul 24, 2026 at 03:44:12PM +0530, Rakesh Kota wrote:
> > The GEN3 PON peripheral requires two register address spaces: "hlos"
> > for the primary PON block and "pbs" for the address needs to be
> > specified to facilitate software debouncing. Set minItems: 2 for reg
>
> That's ABI break and I do not underestand if this was broken before or
> not. Driver ignores the PBS, so everything was working fine, no? Then
> why PBS is required now? Is it actually working or not?
>
Not an ABI break. All in-tree GEN3 DTs using qcom,pmk8350-pon have
always specified both "hlos" and "pbs" reg entries — pmk8350.dtsi,
pmk8550.dtsi, pmk8850.dtsi, sc8280xp-pmics.dtsi. No issues were seen
precisely because PBS was never omitted on any GEN3 platform.
minItems: 2 simply enforces in the schema what has always been present
in practice, ensuring future GEN3 DTs cannot accidentally omit the PBS
address space which is a GEN3 hardware requirement.
regards
Rakesh Kota
> > in the qcom,pmk8350-pon if/then constraint to enforce that both
> > address spaces are always present.
> >
> > Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
> > ---
> > Documentation/devicetree/bindings/power/reset/qcom,pon.yaml | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
>
> Best regards,
> Krzysztof
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v6 2/3] dt-bindings: power: reset: fix minimum reg count for pmk8350-pon
2026-07-28 10:12 ` Rakesh Kota
@ 2026-07-28 10:20 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2026-07-28 10:20 UTC (permalink / raw)
To: Rakesh Kota
Cc: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Vinod Koul, Bjorn Andersson, Konrad Dybcio, linux-pm, devicetree,
linux-kernel, linux-arm-msm, Kamal Wadhwa, Jishnu Prakash
On 28/07/2026 12:12, Rakesh Kota wrote:
> On Mon, Jul 27, 2026 at 08:36:38AM +0200, Krzysztof Kozlowski wrote:
>> On Fri, Jul 24, 2026 at 03:44:12PM +0530, Rakesh Kota wrote:
>>> The GEN3 PON peripheral requires two register address spaces: "hlos"
>>> for the primary PON block and "pbs" for the address needs to be
>>> specified to facilitate software debouncing. Set minItems: 2 for reg
>>
>> That's ABI break and I do not underestand if this was broken before or
>> not. Driver ignores the PBS, so everything was working fine, no? Then
>> why PBS is required now? Is it actually working or not?
>>
>
> Not an ABI break. All in-tree GEN3 DTs using qcom,pmk8350-pon have
> always specified both "hlos" and "pbs" reg entries — pmk8350.dtsi,
That's not related to ABI.
What about my DTS?
> pmk8550.dtsi, pmk8850.dtsi, sc8280xp-pmics.dtsi. No issues were seen
> precisely because PBS was never omitted on any GEN3 platform.
>
> minItems: 2 simply enforces in the schema what has always been present
> in practice, ensuring future GEN3 DTs cannot accidentally omit the PBS
> address space which is a GEN3 hardware requirement.
This does not answer my questions.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v6 3/3] arm64: dts: qcom: monaco-pmics: Add PON power key and reset inputs
2026-07-24 10:14 [PATCH v6 0/3] monaco: Add PMM8654AU PON support Rakesh Kota
2026-07-24 10:14 ` [PATCH v6 1/3] dt-bindings: power: reset: qcom-pon: Add new compatible PMM8654AU Rakesh Kota
2026-07-24 10:14 ` [PATCH v6 2/3] dt-bindings: power: reset: fix minimum reg count for pmk8350-pon Rakesh Kota
@ 2026-07-24 10:14 ` Rakesh Kota
2 siblings, 0 replies; 8+ messages in thread
From: Rakesh Kota @ 2026-07-24 10:14 UTC (permalink / raw)
To: Sebastian Reichel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Vinod Koul, Bjorn Andersson, Konrad Dybcio
Cc: linux-pm, devicetree, linux-kernel, linux-arm-msm, Rakesh Kota,
Kamal Wadhwa, Jishnu Prakash, Konrad Dybcio
Add the Power On (PON) peripheral with power key and reset input
support for the PMM8654AU PMIC on Monaco platforms.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
---
Changes in v3:
- Disable the resin as suggested by the Konrad.
Changes in v2:
- Add new PMM8654AU compatible strings as suggested by the Konrad.
---
arch/arm64/boot/dts/qcom/monaco-pmics.dtsi | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/monaco-pmics.dtsi b/arch/arm64/boot/dts/qcom/monaco-pmics.dtsi
index e990d7367719..af4c38309efa 100644
--- a/arch/arm64/boot/dts/qcom/monaco-pmics.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco-pmics.dtsi
@@ -13,6 +13,26 @@ pmm8620au_0: pmic@0 {
#address-cells = <1>;
#size-cells = <0>;
+ pmm8654au_0_pon: pon@1200 {
+ compatible = "qcom,pmm8654au-pon", "qcom,pmk8350-pon";
+ reg = <0x1200>, <0x800>;
+ reg-names = "hlos", "pbs";
+
+ pmm8654au_0_pon_pwrkey: pwrkey {
+ compatible = "qcom,pmm8654au-pwrkey", "qcom,pmk8350-pwrkey";
+ interrupts-extended = <&spmi_bus 0x0 0x12 0x7 IRQ_TYPE_EDGE_BOTH>;
+ linux,code = <KEY_POWER>;
+ debounce = <15625>;
+ };
+
+ pmm8654au_0_pon_resin: resin {
+ compatible = "qcom,pmm8654au-resin", "qcom,pmk8350-resin";
+ interrupts-extended = <&spmi_bus 0x0 0x12 0x6 IRQ_TYPE_EDGE_BOTH>;
+ debounce = <15625>;
+ status = "disabled";
+ };
+ };
+
pmm8620au_0_rtc: rtc@6100 {
compatible = "qcom,pmk8350-rtc";
reg = <0x6100>, <0x6200>;
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread