Re: [PATCH] arm64: dts: qcom: monaco-pmics: Add PON power key and reset inputs

Konrad Dybcio
2026-04-27T14:25:10Z

On 4/15/26 12:24 PM, Rakesh Kota wrote:
> On Fri, Jan 30, 2026 at 12:18:53PM +0100, Konrad Dybcio wrote:
>> On 1/22/26 7:59 AM, Rakesh Kota wrote:
>>> Add the Power On (PON) peripheral with power key and reset input
>>> support for the PMM8654AU PMIC on Monaco platforms.
>>>
>>> Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
>>> ---
>>> 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 e990d7367719beaa9e0cea87d9c183ae18c3ebc8..051407cd83eef8eace8521084b1ad012a5192ace 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,pmk8350-pon";
>>
>> I see pmm8655x has some slight changes vs pmk8350 (more configs but
>> generally backwards compatible if we don't use them), let's add a
>> separate compatible in bindings so that we can maybe handle these
>> differences down the line:
>>
>> diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
>> index 979a377cb4ff..14b85b0d97da 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
>>
>
> Hi Konrad,
>
> Based on the below discussion:
> https://lore.kernel.org/all/872faa80-d323-4625-ab8f-50ab2e0e8e0f@kernel.org/
>
> I understand that introducing new compatibles without a corresponding driver
> change is not acceptable per upstream community guidelines. As Krzysztof pointed out,
> neew compatibles must be accompanied by the necessary driver support.
>
> so,shall we use the old compatible in the current patch series for now ?
> And Resume the patch series at https://lore.kernel.org/linux-arm-msm/9c7521fe-5008-4daa-945b-ce3f5c0f6dc0@kernel.org/
> once the driver changes are ready and upstreamed ?

The last piece of feedback seems to be here:

https://lore.kernel.org/all/9c7521fe-5008-4daa-945b-ce3f5c0f6dc0@kernel.org/

where I believe the diff you're asked to implement against your patch is:

1. Remove the new if:then: block (since by the presence of
"contains:qcom,pmk8350-pon" in the existing one, the PMM8654AU entry (which
falls back to it), will be taken into account too, and the "then:" part is
identical)

2. In the existing if:pmk8350/then: block, the 'reg' part of "then:" is a
repetition of the top-level constraints (i.e. it's a NOP). This is wrong,
because PMK8350 clearly has two address spaces. This is further confusing,
as the commit that originally introduced this (03fccdc76dce ("dt-bindings:
power: reset: qcom-pon: Add new compatible "qcom,pmk8350-pon""))
specifically says "whereas GEN3 peripherals can have two register addresses"
- the "can" was probably supposed to be an unconditional statement instead.

The action from that is to create a separate, preceding commit, changing
minItems:1/maxItems:2 into minItems: 2 for both the reg: and reg-names
part

3. Run `make dt_binding_check DT_SCHEMA_FILES="reset/qcom,pon.yaml"` and
b4 prep --check before your next submission, and squash any errors that
show up

Konrad