Re: [PATCH 2/3] dt-bindings: mfd: Convert pm8xxx bindings to yaml

2021-04-08 Thread Rob Herring
On Wed, Apr 7, 2021 at 9:37 PM Bjorn Andersson
 wrote:
>
> On Wed 07 Apr 10:37 CDT 2021, ska...@codeaurora.org wrote:
>
> > Hi Bjorn,
> >
> > On 2021-03-11 22:33, Bjorn Andersson wrote:
> > > On Thu 11 Mar 01:29 CST 2021, satya priya wrote:
> [..]
> > > > +patternProperties:
> > > > +  "rtc@[0-9a-f]+$":
> > >
> > > Can we somehow link this to individual binding docs instead of listing
> > > all the possible functions here?
> > >
> >
> > you mean we should split this into two:
> > qcom-pm8xxx.yaml and qcom-pm8xxx-rtc.yaml
> > Please correct me if wrong.
> >
>
> Right, I'm worried that it will be quite hard to maintain this document
> once we start adding all the various pmic blocks to it. So if we somehow
> can maintain a series of qcom-pm8xxx-.yaml and just ref them into
> the main PMIC definition.
>
> @Rob, can you give us some guidance on how to structure this binding,
> with the various PMICs described will have some defined subset of a
> larger set of hardware blocks that's often shared between versions?

How you suggest is good. The only other thing is just 1 complete
example rather than a bunch of  fragments.

Rob


Re: [PATCH 2/3] dt-bindings: mfd: Convert pm8xxx bindings to yaml

2021-04-07 Thread Bjorn Andersson
On Wed 07 Apr 10:37 CDT 2021, ska...@codeaurora.org wrote:

> Hi Bjorn,
> 
> On 2021-03-11 22:33, Bjorn Andersson wrote:
> > On Thu 11 Mar 01:29 CST 2021, satya priya wrote:
[..]
> > > +patternProperties:
> > > +  "rtc@[0-9a-f]+$":
> > 
> > Can we somehow link this to individual binding docs instead of listing
> > all the possible functions here?
> > 
> 
> you mean we should split this into two:
> qcom-pm8xxx.yaml and qcom-pm8xxx-rtc.yaml
> Please correct me if wrong.
> 

Right, I'm worried that it will be quite hard to maintain this document
once we start adding all the various pmic blocks to it. So if we somehow
can maintain a series of qcom-pm8xxx-.yaml and just ref them into
the main PMIC definition.

@Rob, can you give us some guidance on how to structure this binding,
with the various PMICs described will have some defined subset of a
larger set of hardware blocks that's often shared between versions?

Regards,
Bjorn


Re: [PATCH 2/3] dt-bindings: mfd: Convert pm8xxx bindings to yaml

2021-04-07 Thread skakit

Hi Bjorn,

On 2021-03-11 22:33, Bjorn Andersson wrote:

On Thu 11 Mar 01:29 CST 2021, satya priya wrote:


Convert pm8xxx rtc bindings from .txt to .yaml format.



Wonderful initiative, thank you!


Signed-off-by: satya priya 
---
 .../devicetree/bindings/mfd/qcom-pm8xxx.txt|  99 
---
 .../devicetree/bindings/mfd/qcom-pm8xxx.yaml   | 108 
+

 2 files changed, 108 insertions(+), 99 deletions(-)
 delete mode 100644 
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt
 create mode 100644 
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml


diff --git a/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt 
b/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt

deleted file mode 100644
index 9e5eba4..000
--- a/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt
+++ /dev/null
@@ -1,99 +0,0 @@
-Qualcomm PM8xxx PMIC multi-function devices
-
-The PM8xxx family of Power Management ICs are used to provide 
regulated

-voltages and other various functionality to Qualcomm SoCs.
-
-= PROPERTIES
-
-- compatible:
-   Usage: required
-   Value type: 
-   Definition: must be one of:
-   "qcom,pm8058"
-   "qcom,pm8821"
-   "qcom,pm8921"
-
-- #address-cells:
-   Usage: required
-   Value type: 
-   Definition: must be 1
-
-- #size-cells:
-   Usage: required
-   Value type: 
-   Definition: must be 0
-
-- interrupts:
-   Usage: required
-   Value type: 
-   Definition: specifies the interrupt that indicates a subdevice
-   has generated an interrupt (summary interrupt). The
-   format of the specifier is defined by the binding document
-   describing the node's interrupt parent.
-
-- #interrupt-cells:
-   Usage: required
-   Value type : 
-	Definition: must be 2. Specifies the number of cells needed to 
encode

-   an interrupt source. The 1st cell contains the interrupt
-   number. The 2nd cell is the trigger type and level flags
-   encoded as follows:
-
-   1 = low-to-high edge triggered
-   2 = high-to-low edge triggered
-   4 = active high level-sensitive
-   8 = active low level-sensitive
-
-- interrupt-controller:
-   Usage: required
-   Value type: 
-   Definition: identifies this node as an interrupt controller
-
-= SUBCOMPONENTS
-
-The PMIC contains multiple independent functions, each described in a 
subnode.

-The below bindings specify the set of valid subnodes.
-
-== Real-Time Clock
-
-- compatible:
-   Usage: required
-   Value type: 
-   Definition: must be one of:
-   "qcom,pm8058-rtc"
-   "qcom,pm8921-rtc"
-   "qcom,pm8941-rtc"
-   "qcom,pm8018-rtc"
-
-- reg:
-   Usage: required
-   Value type: 
-	Definition: single entry specifying the base address of the RTC 
registers

-
-- interrupts:
-   Usage: required
-   Value type: 
-   Definition: single entry specifying the RTC's alarm interrupt
-
-- allow-set-time:
-   Usage: optional
-   Value type: 
-   Definition: indicates that the setting of RTC time is allowed by
-   the host CPU
-
-= EXAMPLE
-
-   pmicintc: pmic@0 {
-   compatible = "qcom,pm8921";
-   interrupts = <104 8>;
-   #interrupt-cells = <2>;
-   interrupt-controller;
-   #address-cells = <1>;
-   #size-cells = <0>;
-
-   rtc@11d {
-   compatible = "qcom,pm8921-rtc";
-   reg = <0x11d>;
-   interrupts = <0x27 0>;
-   };
-   };
diff --git a/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml 
b/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml

new file mode 100644
index 000..b4892f1
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml
@@ -0,0 +1,108 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/qcom-pm8xxx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm PM8xxx PMIC multi-function devices
+
+maintainers:
+  - Lee Jones 


While Lee is maintainer of the mfd core, it would be better if this was
someone looking out for the Qualcomm PMIC binding specifically.


+
+description: |
+  The PM8xxx family of Power Management ICs are used to provide 
regulated

+  voltages and other various functionality to Qualcomm SoCs.
+
+properties:
+  compatible:
+enum:
+  - qcom,pm8058
+  - qcom,pm8821
+  - qcom,pm8921
+
+  reg:
+maxItems: 1
+
+  '#address-cells':
+ const: 1
+
+  '#size-cells':
+ const: 0
+
+  interrupts:
+description: |
+  Specifies the interrupt that indicates a subdevice has 
generated an

+  

Re: [PATCH 2/3] dt-bindings: mfd: Convert pm8xxx bindings to yaml

2021-03-11 Thread Bjorn Andersson
On Thu 11 Mar 01:29 CST 2021, satya priya wrote:

> Convert pm8xxx rtc bindings from .txt to .yaml format.
> 

Wonderful initiative, thank you!

> Signed-off-by: satya priya 
> ---
>  .../devicetree/bindings/mfd/qcom-pm8xxx.txt|  99 ---
>  .../devicetree/bindings/mfd/qcom-pm8xxx.yaml   | 108 
> +
>  2 files changed, 108 insertions(+), 99 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt
>  create mode 100644 Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt 
> b/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt
> deleted file mode 100644
> index 9e5eba4..000
> --- a/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt
> +++ /dev/null
> @@ -1,99 +0,0 @@
> -Qualcomm PM8xxx PMIC multi-function devices
> -
> -The PM8xxx family of Power Management ICs are used to provide regulated
> -voltages and other various functionality to Qualcomm SoCs.
> -
> -= PROPERTIES
> -
> -- compatible:
> - Usage: required
> - Value type: 
> - Definition: must be one of:
> - "qcom,pm8058"
> - "qcom,pm8821"
> - "qcom,pm8921"
> -
> -- #address-cells:
> - Usage: required
> - Value type: 
> - Definition: must be 1
> -
> -- #size-cells:
> - Usage: required
> - Value type: 
> - Definition: must be 0
> -
> -- interrupts:
> - Usage: required
> - Value type: 
> - Definition: specifies the interrupt that indicates a subdevice
> - has generated an interrupt (summary interrupt). The
> - format of the specifier is defined by the binding document
> - describing the node's interrupt parent.
> -
> -- #interrupt-cells:
> - Usage: required
> - Value type : 
> - Definition: must be 2. Specifies the number of cells needed to encode
> - an interrupt source. The 1st cell contains the interrupt
> - number. The 2nd cell is the trigger type and level flags
> - encoded as follows:
> -
> - 1 = low-to-high edge triggered
> - 2 = high-to-low edge triggered
> - 4 = active high level-sensitive
> - 8 = active low level-sensitive
> -
> -- interrupt-controller:
> - Usage: required
> - Value type: 
> - Definition: identifies this node as an interrupt controller
> -
> -= SUBCOMPONENTS
> -
> -The PMIC contains multiple independent functions, each described in a 
> subnode.
> -The below bindings specify the set of valid subnodes.
> -
> -== Real-Time Clock
> -
> -- compatible:
> - Usage: required
> - Value type: 
> - Definition: must be one of:
> - "qcom,pm8058-rtc"
> - "qcom,pm8921-rtc"
> - "qcom,pm8941-rtc"
> - "qcom,pm8018-rtc"
> -
> -- reg:
> - Usage: required
> - Value type: 
> - Definition: single entry specifying the base address of the RTC 
> registers
> -
> -- interrupts:
> - Usage: required
> - Value type: 
> - Definition: single entry specifying the RTC's alarm interrupt
> -
> -- allow-set-time:
> - Usage: optional
> - Value type: 
> - Definition: indicates that the setting of RTC time is allowed by
> - the host CPU
> -
> -= EXAMPLE
> -
> - pmicintc: pmic@0 {
> - compatible = "qcom,pm8921";
> - interrupts = <104 8>;
> - #interrupt-cells = <2>;
> - interrupt-controller;
> - #address-cells = <1>;
> - #size-cells = <0>;
> -
> - rtc@11d {
> - compatible = "qcom,pm8921-rtc";
> - reg = <0x11d>;
> - interrupts = <0x27 0>;
> - };
> - };
> diff --git a/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml 
> b/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml
> new file mode 100644
> index 000..b4892f1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml
> @@ -0,0 +1,108 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/qcom-pm8xxx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm PM8xxx PMIC multi-function devices
> +
> +maintainers:
> +  - Lee Jones 

While Lee is maintainer of the mfd core, it would be better if this was
someone looking out for the Qualcomm PMIC binding specifically.

> +
> +description: |
> +  The PM8xxx family of Power Management ICs are used to provide regulated
> +  voltages and other various functionality to Qualcomm SoCs.
> +
> +properties:
> +  compatible:
> +enum:
> +  - qcom,pm8058
> +  - qcom,pm8821
> +  - qcom,pm8921
> +
> +  reg:
> +maxItems: 1
> +
> +  '#address-cells':
> + const: 1
> +
> +  '#size-cells':
> + const: 0
> 

Re: [PATCH 2/3] dt-bindings: mfd: Convert pm8xxx bindings to yaml

2021-03-11 Thread Rob Herring
On Thu, 11 Mar 2021 12:59:57 +0530, satya priya wrote:
> Convert pm8xxx rtc bindings from .txt to .yaml format.
> 
> Signed-off-by: satya priya 
> ---
>  .../devicetree/bindings/mfd/qcom-pm8xxx.txt|  99 ---
>  .../devicetree/bindings/mfd/qcom-pm8xxx.yaml   | 108 
> +
>  2 files changed, 108 insertions(+), 99 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt
>  create mode 100644 Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml:27:6: [warning] wrong 
indentation: expected 4 but found 5 (indentation)
./Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml:30:6: [warning] wrong 
indentation: expected 4 but found 5 (indentation)

dtschema/dtc warnings/errors:

See https://patchwork.ozlabs.org/patch/1450975

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.



[PATCH 2/3] dt-bindings: mfd: Convert pm8xxx bindings to yaml

2021-03-10 Thread satya priya
Convert pm8xxx rtc bindings from .txt to .yaml format.

Signed-off-by: satya priya 
---
 .../devicetree/bindings/mfd/qcom-pm8xxx.txt|  99 ---
 .../devicetree/bindings/mfd/qcom-pm8xxx.yaml   | 108 +
 2 files changed, 108 insertions(+), 99 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml

diff --git a/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt 
b/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt
deleted file mode 100644
index 9e5eba4..000
--- a/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt
+++ /dev/null
@@ -1,99 +0,0 @@
-Qualcomm PM8xxx PMIC multi-function devices
-
-The PM8xxx family of Power Management ICs are used to provide regulated
-voltages and other various functionality to Qualcomm SoCs.
-
-= PROPERTIES
-
-- compatible:
-   Usage: required
-   Value type: 
-   Definition: must be one of:
-   "qcom,pm8058"
-   "qcom,pm8821"
-   "qcom,pm8921"
-
-- #address-cells:
-   Usage: required
-   Value type: 
-   Definition: must be 1
-
-- #size-cells:
-   Usage: required
-   Value type: 
-   Definition: must be 0
-
-- interrupts:
-   Usage: required
-   Value type: 
-   Definition: specifies the interrupt that indicates a subdevice
-   has generated an interrupt (summary interrupt). The
-   format of the specifier is defined by the binding document
-   describing the node's interrupt parent.
-
-- #interrupt-cells:
-   Usage: required
-   Value type : 
-   Definition: must be 2. Specifies the number of cells needed to encode
-   an interrupt source. The 1st cell contains the interrupt
-   number. The 2nd cell is the trigger type and level flags
-   encoded as follows:
-
-   1 = low-to-high edge triggered
-   2 = high-to-low edge triggered
-   4 = active high level-sensitive
-   8 = active low level-sensitive
-
-- interrupt-controller:
-   Usage: required
-   Value type: 
-   Definition: identifies this node as an interrupt controller
-
-= SUBCOMPONENTS
-
-The PMIC contains multiple independent functions, each described in a subnode.
-The below bindings specify the set of valid subnodes.
-
-== Real-Time Clock
-
-- compatible:
-   Usage: required
-   Value type: 
-   Definition: must be one of:
-   "qcom,pm8058-rtc"
-   "qcom,pm8921-rtc"
-   "qcom,pm8941-rtc"
-   "qcom,pm8018-rtc"
-
-- reg:
-   Usage: required
-   Value type: 
-   Definition: single entry specifying the base address of the RTC 
registers
-
-- interrupts:
-   Usage: required
-   Value type: 
-   Definition: single entry specifying the RTC's alarm interrupt
-
-- allow-set-time:
-   Usage: optional
-   Value type: 
-   Definition: indicates that the setting of RTC time is allowed by
-   the host CPU
-
-= EXAMPLE
-
-   pmicintc: pmic@0 {
-   compatible = "qcom,pm8921";
-   interrupts = <104 8>;
-   #interrupt-cells = <2>;
-   interrupt-controller;
-   #address-cells = <1>;
-   #size-cells = <0>;
-
-   rtc@11d {
-   compatible = "qcom,pm8921-rtc";
-   reg = <0x11d>;
-   interrupts = <0x27 0>;
-   };
-   };
diff --git a/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml 
b/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml
new file mode 100644
index 000..b4892f1
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml
@@ -0,0 +1,108 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/qcom-pm8xxx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm PM8xxx PMIC multi-function devices
+
+maintainers:
+  - Lee Jones 
+
+description: |
+  The PM8xxx family of Power Management ICs are used to provide regulated
+  voltages and other various functionality to Qualcomm SoCs.
+
+properties:
+  compatible:
+enum:
+  - qcom,pm8058
+  - qcom,pm8821
+  - qcom,pm8921
+
+  reg:
+maxItems: 1
+
+  '#address-cells':
+ const: 1
+
+  '#size-cells':
+ const: 0
+
+  interrupts:
+description: |
+  Specifies the interrupt that indicates a subdevice has generated an
+  interrupt (summary interrupt).
+
+  '#interrupt-cells':
+description: |
+  Specifies the number of cells needed to encode an interrupt source.
+  The 1st cell contains the interrupt number. The 2nd cell is the
+  trigger type.
+const: 2
+
+  interrupt-controller: true
+