Re: [PATCH V2 3/4] dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml

From: Sebastian Reichel
Date: Thu Apr 08 2021 - 09:00:12 EST


Hi,

On Thu, Apr 08, 2021 at 05:01:08PM +0530, satya priya wrote:
> Convert qcom PON binding from .txt to .yaml format.
>
> Signed-off-by: satya priya <skakit@xxxxxxxxxxxxxx>
> ---

Thanks for doing this.

> Changes in V2:
> - As per Rob's comments, converted the main PON binding and added in V2.
>
> .../devicetree/bindings/power/reset/qcom,pon.txt | 49 ----------------------
> .../devicetree/bindings/power/reset/qcom,pon.yaml | 41 ++++++++++++++++++
> 2 files changed, 41 insertions(+), 49 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/power/reset/qcom,pon.txt
> create mode 100644 Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
>
> diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.txt b/Documentation/devicetree/bindings/power/reset/qcom,pon.txt
> deleted file mode 100644
> index 0c0dc3a..0000000
> --- a/Documentation/devicetree/bindings/power/reset/qcom,pon.txt
> +++ /dev/null
> @@ -1,49 +0,0 @@
> -Qualcomm PON Device
> -
> -The Power On device for Qualcomm PM8xxx is MFD supporting pwrkey
> -and resin along with the Android reboot-mode.
> -
> -This DT node has pwrkey and resin as sub nodes.
> -
> -Required Properties:
> --compatible: Must be one of:
> - "qcom,pm8916-pon"
> - "qcom,pms405-pon"
> - "qcom,pm8998-pon"
> -
> --reg: Specifies the physical address of the pon register
> -
> -Optional subnode:
> --pwrkey: Specifies the subnode pwrkey and should follow the
> - qcom,pm8941-pwrkey.txt description.
> --resin: Specifies the subnode resin and should follow the
> - qcom,pm8xxx-pwrkey.txt description.
> -
> -The rest of the properties should follow the generic reboot-mode description
> -found in reboot-mode.txt
> -
> -Example:
> -
> - pon@800 {
> - compatible = "qcom,pm8916-pon";
> -
> - reg = <0x800>;
> - mode-bootloader = <0x2>;
> - mode-recovery = <0x1>;
> -
> - pwrkey {
> - compatible = "qcom,pm8941-pwrkey";
> - interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
> - debounce = <15625>;
> - bias-pull-up;
> - linux,code = <KEY_POWER>;
> - };
> -
> - resin {
> - compatible = "qcom,pm8941-resin";
> - interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
> - debounce = <15625>;
> - bias-pull-up;
> - linux,code = <KEY_VOLUMEDOWN>;
> - };
> - };
> diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
> new file mode 100644
> index 0000000..40eea5f1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
> @@ -0,0 +1,41 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/power/reset/qcom,pon.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm PON Device
> +
> +maintainers:
> + - Vinod Koul <vkoul@xxxxxxxxxx>
> +
> +description: |
> + The Power On device for Qualcomm PM8xxx is MFD supporting pwrkey
> + and resin along with the Android reboot-mode.
> +
> + This DT node has pwrkey and resin as sub nodes.
> +
> +properties:
> + compatible:
> + enum:
> + - qcom,pm8916-pon
> + - qcom,pms405-pon
> + - qcom,pm8998-pon
> +
> + reg:
> + description: Specifies the physical address of the pon register

That description is obvious and pointless. Instead add

maxItems: 1

> + pwrkey:
> + type: object
> + $ref: "../../input/qcom,pm8941-pwrkey.yaml#"
> +
> + resin:
> + type: object
> + $ref: "../../input/qcom,pm8941-pwrkey.yaml#"
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: true

Instead of allowing arbitrary properties, only valid modes
should be allowed. So drop additionalProperties and do this
instead:

allOf:
- $ref: reboot-mode.yaml#

unevaluatedProperties: false

> +...

Please do not drop the example :)

-- Sebastian

Attachment: signature.asc
Description: PGP signature