Re: [PATCH v3 1/2] dt-bindings: power: reset: qcom-pon: update "reg" property details

From: Krzysztof Kozlowski
Date: Thu Jul 14 2022 - 07:48:46 EST


On 13/07/2022 21:33, Anjelique Melendez wrote:
> From: David Collins <quic_collinsd@xxxxxxxxxxx>
>
> 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@xxxxxxxxxxx>
> Signed-off-by: Anjelique Melendez <quic_amelende@xxxxxxxxxxx>
> ---
> 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