devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/2] add support for PON GEN3 device
@ 2022-07-13 19:33 Anjelique Melendez
  2022-07-13 19:33 ` [PATCH v3 1/2] dt-bindings: power: reset: qcom-pon: update "reg" property details Anjelique Melendez
  2022-07-13 19:33 ` [PATCH v3 2/2] power: reset: qcom-pon: add support for qcom,pmk8350-pon compatible string Anjelique Melendez
  0 siblings, 2 replies; 8+ messages in thread
From: Anjelique Melendez @ 2022-07-13 19:33 UTC (permalink / raw)
  To: corbet, sre, robh+dt, agross, bjorn.andersson
  Cc: krzysztof.kozlowski+dt, vkoul, linux-doc, linux-pm, devicetree,
	linux-arm-msm, linux-kernel, Anjelique Melendez

Changes from v2:
  - Added new "qcom,pmk8350-pon" compatible string as per Krysztof's
    advice
  - Updated dt logic to use comptaible strings to decide constraints
    as per Krysztof's comment
  - Added new patch (v3 2/2) to support new compatible string

Changes from v1:
  - Updated path which was missing Documentation/devicetree prefix
  - Updated CC list

New patch series to seperate this patch from applied patches.
Comments from original patch can be found
https://lore.kernel.org/linux-arm-msm/27515993-18f3-8891-4835-9b6a8d7f86b0@quicinc.com/

David Collins (1):
  dt-bindings: power: reset: qcom-pon: update "reg" property details

Anjelique Melendez (1):
  power: reset: qcom-pon: add support for qcom,pmk8350-pon compatible string
  

 Documentation/devicetree/bindings/power/reset/qcom,pon.yaml | 73 ++++++++++++++++++++++++++++--
 drivers/power/reset/qcom-pon.c | 1 +
 2 file changed, 70 insertions(+), 4 deletions(-)

-- 
2.35.1


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

* [PATCH v3 1/2] dt-bindings: power: reset: qcom-pon: update "reg" property details
  2022-07-13 19:33 [PATCH v3 0/2] add support for PON GEN3 device Anjelique Melendez
@ 2022-07-13 19:33 ` Anjelique Melendez
  2022-07-14 11:48   ` Krzysztof Kozlowski
  2022-07-13 19:33 ` [PATCH v3 2/2] power: reset: qcom-pon: add support for qcom,pmk8350-pon compatible string Anjelique Melendez
  1 sibling, 1 reply; 8+ messages in thread
From: Anjelique Melendez @ 2022-07-13 19:33 UTC (permalink / raw)
  To: corbet, sre, robh+dt, agross, bjorn.andersson
  Cc: krzysztof.kozlowski+dt, vkoul, linux-doc, linux-pm, devicetree,
	linux-arm-msm, linux-kernel, David Collins, Anjelique Melendez

From: David Collins <quic_collinsd@quicinc.com>

Update the description of "reg" property to add the PON_PBS base
address along with PON_HLOS base address.  Also add "reg-names"
property description.

Signed-off-by: David Collins <quic_collinsd@quicinc.com>
Signed-off-by: Anjelique Melendez <quic_amelende@quicinc.com>
---
 Documentation/devicetree/bindings/power/reset/qcom,pon.yaml | 73 ++++++++++++++++++++++++++++--
 1 file changed, 69 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
index 353f155d..562fe308 100644
--- a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
+++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
@@ -15,18 +15,26 @@ description: |
 
   This DT node has pwrkey and resin as sub nodes.
 
-allOf:
-  - $ref: reboot-mode.yaml#
-
 properties:
   compatible:
     enum:
       - qcom,pm8916-pon
       - qcom,pms405-pon
       - qcom,pm8998-pon
+      - qcom,pmk8350-pon
 
   reg:
-    maxItems: 1
+    description: |
+      Specifies the SPMI base address for the PON (power-on) peripheral.  For
+      PMICs that have the PON peripheral (GEN3) split into PON_HLOS and PON_PBS
+      (e.g. PMK8350), this can hold addresses of both PON_HLOS and PON_PBS
+      peripherals.  In that case, the PON_PBS address needs to be specified to
+      facilitate software debouncing on some PMIC.
+
+  reg-names:
+    description: |
+      For PON GEN1 and GEN2, it should be "pon". For PON GEN3 it should include
+      "hlos" and optionally "pbs".
 
   pwrkey:
     type: object
@@ -42,6 +50,63 @@ required:
 
 unevaluatedProperties: false
 
+allOf:
+  - $ref: reboot-mode.yaml#
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: qcom,pm8916-pon
+    then:
+      properties:
+        reg:
+          maxItems: 1
+        reg-names:
+          items:
+            - const: pon
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: qcom,pms405-pon
+    then:
+      properties:
+        reg:
+          maxItems: 1
+        reg-names:
+          items:
+            - const: pon
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: qcom,pm8998-pon
+    then:
+      properties:
+        reg:
+          maxItems: 1
+        reg-names:
+          items:
+            - const: pon
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: qcom,pmk8350-pon
+    then:
+      properties:
+        reg:
+          minItems: 1
+          maxItems: 2
+        reg-names:
+          minItems: 1
+          items:
+            - const: hlos
+            - const: pbs
+
 examples:
   - |
    #include <dt-bindings/interrupt-controller/irq.h>
-- 
2.35.1


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

* [PATCH v3 2/2] power: reset: qcom-pon: add support for qcom,pmk8350-pon compatible string
  2022-07-13 19:33 [PATCH v3 0/2] add support for PON GEN3 device Anjelique Melendez
  2022-07-13 19:33 ` [PATCH v3 1/2] dt-bindings: power: reset: qcom-pon: update "reg" property details Anjelique Melendez
@ 2022-07-13 19:33 ` Anjelique Melendez
  2022-07-16 21:58   ` Sebastian Reichel
  1 sibling, 1 reply; 8+ messages in thread
From: Anjelique Melendez @ 2022-07-13 19:33 UTC (permalink / raw)
  To: corbet, sre, robh+dt, agross, bjorn.andersson
  Cc: krzysztof.kozlowski+dt, vkoul, linux-doc, linux-pm, devicetree,
	linux-arm-msm, linux-kernel, Anjelique Melendez

Add support for the new "qcom,pmk8350-pon" comptaible string.

Signed-off-by: Anjelique Melendez <quic_amelende@quicinc.com>
---
 drivers/power/reset/qcom-pon.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/power/reset/qcom-pon.c b/drivers/power/reset/qcom-pon.c
index 4a688741a88a..16bc01738be9 100644
--- a/drivers/power/reset/qcom-pon.c
+++ b/drivers/power/reset/qcom-pon.c
@@ -82,6 +82,7 @@ static const struct of_device_id pm8916_pon_id_table[] = {
 	{ .compatible = "qcom,pm8916-pon", .data = (void *)GEN1_REASON_SHIFT },
 	{ .compatible = "qcom,pms405-pon", .data = (void *)GEN1_REASON_SHIFT },
 	{ .compatible = "qcom,pm8998-pon", .data = (void *)GEN2_REASON_SHIFT },
+	{ .compatible = "qcom,pmk8350-pon", .data = (void *)GEN2_REASON_SHIFT },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, pm8916_pon_id_table);
-- 
2.35.1


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

* Re: [PATCH v3 1/2] dt-bindings: power: reset: qcom-pon: update "reg" property details
  2022-07-13 19:33 ` [PATCH v3 1/2] dt-bindings: power: reset: qcom-pon: update "reg" property details Anjelique Melendez
@ 2022-07-14 11:48   ` Krzysztof Kozlowski
  2022-07-18 19:57     ` Anjelique Melendez
  0 siblings, 1 reply; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-07-14 11:48 UTC (permalink / raw)
  To: Anjelique Melendez, corbet, sre, robh+dt, agross, bjorn.andersson
  Cc: krzysztof.kozlowski+dt, vkoul, linux-doc, linux-pm, devicetree,
	linux-arm-msm, linux-kernel, David Collins

On 13/07/2022 21:33, Anjelique Melendez wrote:
> From: David Collins <quic_collinsd@quicinc.com>
> 
> Update the description of "reg" property to add the PON_PBS base
> address along with PON_HLOS base address.  Also add "reg-names"
> property description.
> 
> Signed-off-by: David Collins <quic_collinsd@quicinc.com>
> Signed-off-by: Anjelique Melendez <quic_amelende@quicinc.com>
> ---
>  Documentation/devicetree/bindings/power/reset/qcom,pon.yaml | 73 ++++++++++++++++++++++++++++--
>  1 file changed, 69 insertions(+), 4 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
> index 353f155d..562fe308 100644
> --- a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
> +++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
> @@ -15,18 +15,26 @@ description: |
>  
>    This DT node has pwrkey and resin as sub nodes.
>  
> -allOf:
> -  - $ref: reboot-mode.yaml#
> -
>  properties:
>    compatible:
>      enum:
>        - qcom,pm8916-pon
>        - qcom,pms405-pon
>        - qcom,pm8998-pon
> +      - qcom,pmk8350-pon
>  
>    reg:
> -    maxItems: 1
> +    description: |
> +      Specifies the SPMI base address for the PON (power-on) peripheral.  For
> +      PMICs that have the PON peripheral (GEN3) split into PON_HLOS and PON_PBS
> +      (e.g. PMK8350), this can hold addresses of both PON_HLOS and PON_PBS
> +      peripherals.  In that case, the PON_PBS address needs to be specified to
> +      facilitate software debouncing on some PMIC.

You miss here min and maxItems

> +
> +  reg-names:
> +    description: |
> +      For PON GEN1 and GEN2, it should be "pon". For PON GEN3 it should include
> +      "hlos" and optionally "pbs".

Skip description. You miss here min and maxItems.

See
https://elixir.bootlin.com/linux/v5.19-rc6/source/Documentation/devicetree/bindings/clock/samsung,exynos7-clock.yaml#L57
for examples.


>  
>    pwrkey:
>      type: object
> @@ -42,6 +50,63 @@ required:
>  
>  unevaluatedProperties: false
>  
> +allOf:
> +  - $ref: reboot-mode.yaml#
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: qcom,pm8916-pon
> +    then:
> +      properties:
> +        reg:
> +          maxItems: 1
> +        reg-names:
> +          items:
> +            - const: pon
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: qcom,pms405-pon
> +    then:
> +      properties:
> +        reg:
> +          maxItems: 1
> +        reg-names:
> +          items:
> +            - const: pon
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: qcom,pm8998-pon
> +    then:
> +      properties:
> +        reg:
> +          maxItems: 1
> +        reg-names:
> +          items:
> +            - const: pon

No clue why you made three if statements. This is one if for all three
variants.

> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: qcom,pmk8350-pon
> +    then:
> +      properties:
> +        reg:
> +          minItems: 1
> +          maxItems: 2
> +        reg-names:
> +          minItems: 1
> +          items:
> +            - const: hlos
> +            - const: pbs
> +
>  examples:
>    - |
>     #include <dt-bindings/interrupt-controller/irq.h>


Best regards,
Krzysztof

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

* Re: [PATCH v3 2/2] power: reset: qcom-pon: add support for qcom,pmk8350-pon compatible string
  2022-07-13 19:33 ` [PATCH v3 2/2] power: reset: qcom-pon: add support for qcom,pmk8350-pon compatible string Anjelique Melendez
@ 2022-07-16 21:58   ` Sebastian Reichel
  2022-07-18 19:48     ` Anjelique Melendez
  0 siblings, 1 reply; 8+ messages in thread
From: Sebastian Reichel @ 2022-07-16 21:58 UTC (permalink / raw)
  To: Anjelique Melendez
  Cc: corbet, robh+dt, agross, bjorn.andersson, krzysztof.kozlowski+dt,
	vkoul, linux-doc, linux-pm, devicetree, linux-arm-msm,
	linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1054 bytes --]

Hi,

On Wed, Jul 13, 2022 at 12:33:51PM -0700, Anjelique Melendez wrote:
> Add support for the new "qcom,pmk8350-pon" comptaible string.
> 
> Signed-off-by: Anjelique Melendez <quic_amelende@quicinc.com>
> ---
>  drivers/power/reset/qcom-pon.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/power/reset/qcom-pon.c b/drivers/power/reset/qcom-pon.c
> index 4a688741a88a..16bc01738be9 100644
> --- a/drivers/power/reset/qcom-pon.c
> +++ b/drivers/power/reset/qcom-pon.c
> @@ -82,6 +82,7 @@ static const struct of_device_id pm8916_pon_id_table[] = {
>  	{ .compatible = "qcom,pm8916-pon", .data = (void *)GEN1_REASON_SHIFT },
>  	{ .compatible = "qcom,pms405-pon", .data = (void *)GEN1_REASON_SHIFT },
>  	{ .compatible = "qcom,pm8998-pon", .data = (void *)GEN2_REASON_SHIFT },
> +	{ .compatible = "qcom,pmk8350-pon", .data = (void *)GEN2_REASON_SHIFT },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(of, pm8916_pon_id_table);

No handling of the second register? Why is it needed in DT in the
first place?

-- Sebastian

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH v3 2/2] power: reset: qcom-pon: add support for qcom,pmk8350-pon compatible string
  2022-07-16 21:58   ` Sebastian Reichel
@ 2022-07-18 19:48     ` Anjelique Melendez
  0 siblings, 0 replies; 8+ messages in thread
From: Anjelique Melendez @ 2022-07-18 19:48 UTC (permalink / raw)
  To: Sebastian Reichel
  Cc: corbet, robh+dt, agross, bjorn.andersson, krzysztof.kozlowski+dt,
	vkoul, linux-doc, linux-pm, devicetree, linux-arm-msm,
	linux-kernel



On 7/16/2022 2:58 PM, Sebastian Reichel wrote:
> Hi,
> 
> On Wed, Jul 13, 2022 at 12:33:51PM -0700, Anjelique Melendez wrote:
>> Add support for the new "qcom,pmk8350-pon" comptaible string.
>>
>> Signed-off-by: Anjelique Melendez <quic_amelende@quicinc.com>
>> ---
>>  drivers/power/reset/qcom-pon.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/power/reset/qcom-pon.c b/drivers/power/reset/qcom-pon.c
>> index 4a688741a88a..16bc01738be9 100644
>> --- a/drivers/power/reset/qcom-pon.c
>> +++ b/drivers/power/reset/qcom-pon.c
>> @@ -82,6 +82,7 @@ static const struct of_device_id pm8916_pon_id_table[] = {
>>  	{ .compatible = "qcom,pm8916-pon", .data = (void *)GEN1_REASON_SHIFT },
>>  	{ .compatible = "qcom,pms405-pon", .data = (void *)GEN1_REASON_SHIFT },
>>  	{ .compatible = "qcom,pm8998-pon", .data = (void *)GEN2_REASON_SHIFT },
>> +	{ .compatible = "qcom,pmk8350-pon", .data = (void *)GEN2_REASON_SHIFT },
>>  	{ }
>>  };
>>  MODULE_DEVICE_TABLE(of, pm8916_pon_id_table);
> 
> No handling of the second register? Why is it needed in DT in the
> first place?
> 
> -- Sebastian

Hi Sebastian,

The handling of the second register takes place in drivers/input/misc/pm8941-pwrkey.c.
The patch that handles this change can be found at:
https://lore.kernel.org/linux-arm-msm/20220422191239.6271-4-quic_amelende@quicinc.com/.
This patch has been applied.

Krzystof and I discuss the need for a new compatible string here:
https://lore.kernel.org/all/99a5d9ac-9c20-b441-44af-26772a0e989d@linaro.org/.

In short, the gen1/gen2/gen3 children pon devices will use the "reg" address(es) defined
from their parent. Currently, "qcom,pm8998-pon" is too generic as it is being used for
both gen1/gen2 and gen3 children. So we must add the new "qcom,pmk8350-pon" compatible
string to be used for gen3 children so that the second register can be defined. 

Thanks,
Anjelique



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

* Re: [PATCH v3 1/2] dt-bindings: power: reset: qcom-pon: update "reg" property details
  2022-07-14 11:48   ` Krzysztof Kozlowski
@ 2022-07-18 19:57     ` Anjelique Melendez
  2022-07-18 20:56       ` Rob Herring
  0 siblings, 1 reply; 8+ messages in thread
From: Anjelique Melendez @ 2022-07-18 19:57 UTC (permalink / raw)
  To: Krzysztof Kozlowski, corbet, sre, robh+dt, agross,
	bjorn.andersson
  Cc: krzysztof.kozlowski+dt, vkoul, linux-doc, linux-pm, devicetree,
	linux-arm-msm, linux-kernel, David Collins



On 7/14/2022 4:48 AM, Krzysztof Kozlowski wrote:
> On 13/07/2022 21:33, Anjelique Melendez wrote:
>> From: David Collins <quic_collinsd@quicinc.com>
>>
>> Update the description of "reg" property to add the PON_PBS base
>> address along with PON_HLOS base address.  Also add "reg-names"
>> property description.
>>
>> Signed-off-by: David Collins <quic_collinsd@quicinc.com>
>> Signed-off-by: Anjelique Melendez <quic_amelende@quicinc.com>
>> ---
>>  Documentation/devicetree/bindings/power/reset/qcom,pon.yaml | 73 ++++++++++++++++++++++++++++--
>>  1 file changed, 69 insertions(+), 4 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
>> index 353f155d..562fe308 100644
>> --- a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
>> +++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
>> @@ -15,18 +15,26 @@ description: |
>>  
>>    This DT node has pwrkey and resin as sub nodes.
>>  
>> -allOf:
>> -  - $ref: reboot-mode.yaml#
>> -
>>  properties:
>>    compatible:
>>      enum:
>>        - qcom,pm8916-pon
>>        - qcom,pms405-pon
>>        - qcom,pm8998-pon
>> +      - qcom,pmk8350-pon
>>  
>>    reg:
>> -    maxItems: 1
>> +    description: |
>> +      Specifies the SPMI base address for the PON (power-on) peripheral.  For
>> +      PMICs that have the PON peripheral (GEN3) split into PON_HLOS and PON_PBS
>> +      (e.g. PMK8350), this can hold addresses of both PON_HLOS and PON_PBS
>> +      peripherals.  In that case, the PON_PBS address needs to be specified to
>> +      facilitate software debouncing on some PMIC.
> 
> You miss here min and maxItems
ACK
> 
>> +
>> +  reg-names:
>> +    description: |
>> +      For PON GEN1 and GEN2, it should be "pon". For PON GEN3 it should include
>> +      "hlos" and optionally "pbs".
> 
> Skip description. You miss here min and maxItems.
> 
> See
> https://elixir.bootlin.com/linux/v5.19-rc6/source/Documentation/devicetree/bindings/clock/samsung,exynos7-clock.yaml#L57
> for examples.
ACK
> 
> 
>>  
>>    pwrkey:
>>      type: object
>> @@ -42,6 +50,63 @@ required:
>>  
>>  unevaluatedProperties: false
>>  
>> +allOf:
>> +  - $ref: reboot-mode.yaml#
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            const: qcom,pm8916-pon
>> +    then:
>> +      properties:
>> +        reg:
>> +          maxItems: 1
>> +        reg-names:
>> +          items:
>> +            - const: pon
>> +
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            const: qcom,pms405-pon
>> +    then:
>> +      properties:
>> +        reg:
>> +          maxItems: 1
>> +        reg-names:
>> +          items:
>> +            - const: pon
>> +
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            const: qcom,pm8998-pon
>> +    then:
>> +      properties:
>> +        reg:
>> +          maxItems: 1
>> +        reg-names:
>> +          items:
>> +            - const: pon
> 
> No clue why you made three if statements. This is one if for all three
> variants.
> 
Sorry about that was not sure how to combine the if statements originally.
Found that you could do:

- if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,pm8916-pon
              - qcom,pms405-pon
              - qcom,pm8998-pon
    then:
     ...

I was wondering if for the "qcom,pmk8350-pon" compatible would you rather
have the if statement the way it is or have it follow the same pattern as
above i.e.

contains:
  const: qcom,pmk8350-pon

vs

contains:
  enum:
    - qcom,pmk8350-pon
>> +
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            const: qcom,pmk8350-pon
>> +    then:
>> +      properties:
>> +        reg:
>> +          minItems: 1
>> +          maxItems: 2
>> +        reg-names:
>> +          minItems: 1
>> +          items:
>> +            - const: hlos
>> +            - const: pbs
>> +
>>  examples:
>>    - |
>>     #include <dt-bindings/interrupt-controller/irq.h>
> 
> 
> Best regards,
> Krzysztof

Thanks,
Anjelique

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

* Re: [PATCH v3 1/2] dt-bindings: power: reset: qcom-pon: update "reg" property details
  2022-07-18 19:57     ` Anjelique Melendez
@ 2022-07-18 20:56       ` Rob Herring
  0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring @ 2022-07-18 20:56 UTC (permalink / raw)
  To: Anjelique Melendez
  Cc: Krzysztof Kozlowski, corbet, sre, agross, bjorn.andersson,
	krzysztof.kozlowski+dt, vkoul, linux-doc, linux-pm, devicetree,
	linux-arm-msm, linux-kernel, David Collins

On Mon, Jul 18, 2022 at 12:57:09PM -0700, Anjelique Melendez wrote:
> 
> 
> On 7/14/2022 4:48 AM, Krzysztof Kozlowski wrote:
> > On 13/07/2022 21:33, Anjelique Melendez wrote:
> >> From: David Collins <quic_collinsd@quicinc.com>
> >>
> >> Update the description of "reg" property to add the PON_PBS base
> >> address along with PON_HLOS base address.  Also add "reg-names"
> >> property description.
> >>
> >> Signed-off-by: David Collins <quic_collinsd@quicinc.com>
> >> Signed-off-by: Anjelique Melendez <quic_amelende@quicinc.com>
> >> ---
> >>  Documentation/devicetree/bindings/power/reset/qcom,pon.yaml | 73 ++++++++++++++++++++++++++++--
> >>  1 file changed, 69 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
> >> index 353f155d..562fe308 100644
> >> --- a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
> >> +++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
> >> @@ -15,18 +15,26 @@ description: |
> >>  
> >>    This DT node has pwrkey and resin as sub nodes.
> >>  
> >> -allOf:
> >> -  - $ref: reboot-mode.yaml#
> >> -
> >>  properties:
> >>    compatible:
> >>      enum:
> >>        - qcom,pm8916-pon
> >>        - qcom,pms405-pon
> >>        - qcom,pm8998-pon
> >> +      - qcom,pmk8350-pon
> >>  
> >>    reg:
> >> -    maxItems: 1
> >> +    description: |
> >> +      Specifies the SPMI base address for the PON (power-on) peripheral.  For
> >> +      PMICs that have the PON peripheral (GEN3) split into PON_HLOS and PON_PBS
> >> +      (e.g. PMK8350), this can hold addresses of both PON_HLOS and PON_PBS
> >> +      peripherals.  In that case, the PON_PBS address needs to be specified to
> >> +      facilitate software debouncing on some PMIC.
> > 
> > You miss here min and maxItems
> ACK
> > 
> >> +
> >> +  reg-names:
> >> +    description: |
> >> +      For PON GEN1 and GEN2, it should be "pon". For PON GEN3 it should include
> >> +      "hlos" and optionally "pbs".
> > 
> > Skip description. You miss here min and maxItems.
> > 
> > See
> > https://elixir.bootlin.com/linux/v5.19-rc6/source/Documentation/devicetree/bindings/clock/samsung,exynos7-clock.yaml#L57
> > for examples.
> ACK
> > 
> > 
> >>  
> >>    pwrkey:
> >>      type: object
> >> @@ -42,6 +50,63 @@ required:
> >>  
> >>  unevaluatedProperties: false
> >>  
> >> +allOf:
> >> +  - $ref: reboot-mode.yaml#
> >> +  - if:
> >> +      properties:
> >> +        compatible:
> >> +          contains:
> >> +            const: qcom,pm8916-pon
> >> +    then:
> >> +      properties:
> >> +        reg:
> >> +          maxItems: 1
> >> +        reg-names:
> >> +          items:
> >> +            - const: pon
> >> +
> >> +  - if:
> >> +      properties:
> >> +        compatible:
> >> +          contains:
> >> +            const: qcom,pms405-pon
> >> +    then:
> >> +      properties:
> >> +        reg:
> >> +          maxItems: 1
> >> +        reg-names:
> >> +          items:
> >> +            - const: pon
> >> +
> >> +  - if:
> >> +      properties:
> >> +        compatible:
> >> +          contains:
> >> +            const: qcom,pm8998-pon
> >> +    then:
> >> +      properties:
> >> +        reg:
> >> +          maxItems: 1
> >> +        reg-names:
> >> +          items:
> >> +            - const: pon
> > 
> > No clue why you made three if statements. This is one if for all three
> > variants.
> > 
> Sorry about that was not sure how to combine the if statements originally.
> Found that you could do:
> 
> - if:
>       properties:
>         compatible:
>           contains:
>             enum:
>               - qcom,pm8916-pon
>               - qcom,pms405-pon
>               - qcom,pm8998-pon
>     then:
>      ...
> 
> I was wondering if for the "qcom,pmk8350-pon" compatible would you rather
> have the if statement the way it is or have it follow the same pattern as
> above i.e.
> 
> contains:
>   const: qcom,pmk8350-pon
> 
> vs
> 
> contains:
>   enum:
>     - qcom,pmk8350-pon

The former. If only 1 possibility, use 'const'.

Rob

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

end of thread, other threads:[~2022-07-18 20:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-13 19:33 [PATCH v3 0/2] add support for PON GEN3 device Anjelique Melendez
2022-07-13 19:33 ` [PATCH v3 1/2] dt-bindings: power: reset: qcom-pon: update "reg" property details Anjelique Melendez
2022-07-14 11:48   ` Krzysztof Kozlowski
2022-07-18 19:57     ` Anjelique Melendez
2022-07-18 20:56       ` Rob Herring
2022-07-13 19:33 ` [PATCH v3 2/2] power: reset: qcom-pon: add support for qcom,pmk8350-pon compatible string Anjelique Melendez
2022-07-16 21:58   ` Sebastian Reichel
2022-07-18 19:48     ` Anjelique Melendez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).