Skip to contentSkip to conversation

Add RTC support for PMIC PMK8350

PATCH Superseded satya priya 4 participants 11 messages Mar 11, 2021 – Apr 8, 2021

Subsystems (4)

v1 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

cover Add RTC support for PMIC PMK8350

Convert pm8xxx bindings to yaml and add pmk8350 rtc binding.

satya priya (3):
rtc: pm8xxx: Add RTC support for PMIC PMK8350
dt-bindings: mfd: Convert pm8xxx bindings to yaml
dt-bindings: mfd: Add compatible for pmk8350 rtc

 .../devicetree/bindings/mfd/qcom-pm8xxx.txt        |  99 -------------------
 .../devicetree/bindings/mfd/qcom-pm8xxx.yaml       | 109 +++++++++++++++++++++
 drivers/rtc/rtc-pm8xxx.c                           |  11 +++
 3 files changed, 120 insertions(+), 99 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation
#1 lore raw

PATCH 1/3 rtc: pm8xxx: Add RTC support for PMIC PMK8350

Add the comaptible string for PMIC PMK8350.

---
 drivers/rtc/rtc-pm8xxx.c | 11 +++++++++++
 1 file changed, 11 insertions(+)
drivers/rtc/rtc-pm8xxx.c +11 -0
index eb20659..29a1c65 100644
@@ -445,6 +445,16 @@ static const struct pm8xxx_rtc_regs pm8941_regs = {
 	.alarm_en	= BIT(7),
 };
 
+static const struct pm8xxx_rtc_regs pmk8350_regs = {
+	.ctrl		= 0x6146,
+	.write		= 0x6140,
+	.read		= 0x6148,
+	.alarm_rw	= 0x6240,
+	.alarm_ctrl	= 0x6246,
+	.alarm_ctrl2	= 0x6248,
+	.alarm_en	= BIT(7),
+};
+
 /*
  * Hardcoded RTC bases until IORESOURCE_REG mapping is figured out
  */
@@ -453,6 +463,7 @@ static const struct of_device_id pm8xxx_id_table[] = {
 	{ .compatible = "qcom,pm8018-rtc", .data = &pm8921_regs },
 	{ .compatible = "qcom,pm8058-rtc", .data = &pm8058_regs },
 	{ .compatible = "qcom,pm8941-rtc", .data = &pm8941_regs },
+	{ .compatible = "qcom,pmk8350-rtc", .data = &pmk8350_regs },
 	{ },
 };
 MODULE_DEVICE_TABLE(of, pm8xxx_id_table);
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation
Reviewed-by on v1 1/3
#2 lore raw

Re: [PATCH 1/3] rtc: pm8xxx: Add RTC support for PMIC PMK8350

Quoted 2 lines · satya priya

Add the comaptible string for PMIC PMK8350.

Regards,
Bjorn

Quoted 38 lines
---
 drivers/rtc/rtc-pm8xxx.c | 11 +++++++++++
 1 file changed, 11 insertions(+)
drivers/rtc/rtc-pm8xxx.c +11 -0
index eb20659..29a1c65 100644
@@ -445,6 +445,16 @@ static const struct pm8xxx_rtc_regs pm8941_regs = {
 	.alarm_en	= BIT(7),
 };
 
+static const struct pm8xxx_rtc_regs pmk8350_regs = {
+	.ctrl		= 0x6146,
+	.write		= 0x6140,
+	.read		= 0x6148,
+	.alarm_rw	= 0x6240,
+	.alarm_ctrl	= 0x6246,
+	.alarm_ctrl2	= 0x6248,
+	.alarm_en	= BIT(7),
+};
+
 /*
  * Hardcoded RTC bases until IORESOURCE_REG mapping is figured out
  */
@@ -453,6 +463,7 @@ static const struct of_device_id pm8xxx_id_table[] = {
 	{ .compatible = "qcom,pm8018-rtc", .data = &pm8921_regs },
 	{ .compatible = "qcom,pm8058-rtc", .data = &pm8058_regs },
 	{ .compatible = "qcom,pm8941-rtc", .data = &pm8941_regs },
+	{ .compatible = "qcom,pmk8350-rtc", .data = &pmk8350_regs },
 	{ },
 };
 MODULE_DEVICE_TABLE(of, pm8xxx_id_table);
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation
#3 lore raw

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

In reply to satya priya

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

---
 .../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
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt deleted +0 -99
deleted file mode 100644
index 9e5eba4..0000000
@@ -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: <string>
-	Definition: must be one of:
-		    "qcom,pm8058"
-		    "qcom,pm8821"
-		    "qcom,pm8921"
-
-- #address-cells:
-	Usage: required
-	Value type: <u32>
-	Definition: must be 1
-
-- #size-cells:
-	Usage: required
-	Value type: <u32>
-	Definition: must be 0
-
-- interrupts:
-	Usage: required
-	Value type: <prop-encoded-array>
-	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 : <u32>
-	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: <empty>
-	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: <string>
-	Definition: must be one of:
-		    "qcom,pm8058-rtc"
-		    "qcom,pm8921-rtc"
-		    "qcom,pm8941-rtc"
-		    "qcom,pm8018-rtc"
-
-- reg:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: single entry specifying the base address of the RTC registers
-
-- interrupts:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: single entry specifying the RTC's alarm interrupt
-
-- allow-set-time:
-	Usage: optional
-	Value type: <empty>
-	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>;
-		};
-	};
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +108 -0

108 lines not on this page · raw message

Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation
maintainer
#4 lore raw

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

Quoted 10 lines · satya priya

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

---
 .../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.

#5 lore raw

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

In reply to satya priya
Quoted 2 lines · satya priya

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

Wonderful initiative, thank you!

Quoted 119 lines
---
 .../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
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt deleted +0 -99
deleted file mode 100644
index 9e5eba4..0000000
@@ -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: <string>
-	Definition: must be one of:
-		    "qcom,pm8058"
-		    "qcom,pm8821"
-		    "qcom,pm8921"
-
-- #address-cells:
-	Usage: required
-	Value type: <u32>
-	Definition: must be 1
-
-- #size-cells:
-	Usage: required
-	Value type: <u32>
-	Definition: must be 0
-
-- interrupts:
-	Usage: required
-	Value type: <prop-encoded-array>
-	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 : <u32>
-	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: <empty>
-	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: <string>
-	Definition: must be one of:
-		    "qcom,pm8058-rtc"
-		    "qcom,pm8921-rtc"
-		    "qcom,pm8941-rtc"
-		    "qcom,pm8018-rtc"
-
-- reg:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: single entry specifying the base address of the RTC registers
-
-- interrupts:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: single entry specifying the RTC's alarm interrupt
-
-- allow-set-time:
-	Usage: optional
-	Value type: <empty>
-	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>;
-		};
-	};
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +0 -0
new file mode 100644
index 0000000..b4892f1

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml line 10

Quoted 10 lines
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +10 -0
@@ -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 <[email protected]>

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

Quoted 27 lines
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +27 -0
+
+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':

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml line 47

Quoted 10 lines
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +10 -0
+    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
+
+patternProperties:
+  "rtc@[0-9a-f]+$":

Can we somehow link this to individual binding docs instead of listing all the possible functions here?

Regards,
Bjorn

Quoted 65 lines
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +61 -0
+    type: object
+    properties:
+      compatible:
+        enum:
+          - qcom,pm8058-rtc
+          - qcom,pm8921-rtc
+          - qcom,pm8941-rtc
+          - qcom,pm8018-rtc
+
+      reg:
+        description: Specifies the base address of the RTC registers
+
+      interrupts:
+        description: Specifies the RTC's alarm interrupts
+
+      allow-set-time:
+        $ref: /schemas/types.yaml#/definitions/flag
+        description:
+          Indicates that the setting of RTC time is allowed by the host CPU.
+
+    required:
+      - compatible
+      - reg
+      - interrupts
+
+    additionalProperties: false
+
+required:
+  - compatible
+  - '#address-cells'
+  - '#size-cells'
+  - interrupts
+  - '#interrupt-cells'
+  - interrupt-controller
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/spmi/spmi.h>
+    spmi_bus: spmi@c440000 {
+      reg = <0x0c440000 0x1100>;
+      #address-cells = <2>;
+      #size-cells = <0>;
+      pmicintc: pmic@0 {
+        reg = <0x0 SPMI_USID>;
+        compatible = "qcom,pm8921";
+        interrupts = <104 8>;
+        #interrupt-cells = <2>;
+        interrupt-controller;
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        pm8921_rtc: rtc@11d {
+          compatible = "qcom,pm8921-rtc";
+          reg = <0x11d>;
+          interrupts = <0x27 0>;
+        };
+      };
+    };
+...
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation
#6 lore raw

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

Hi Bjorn,

Quoted 183 lines · Bjorn Andersson
Quoted 2 lines · satya priya

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

Wonderful initiative, thank you!

Quoted 127 lines
---
 .../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

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

regulated

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt deleted +0 -34
-voltages and other various functionality to Qualcomm SoCs.
-
-= PROPERTIES
-
-- compatible:
-	Usage: required
-	Value type: <string>
-	Definition: must be one of:
-		    "qcom,pm8058"
-		    "qcom,pm8821"
-		    "qcom,pm8921"
-
-- #address-cells:
-	Usage: required
-	Value type: <u32>
-	Definition: must be 1
-
-- #size-cells:
-	Usage: required
-	Value type: <u32>
-	Definition: must be 0
-
-- interrupts:
-	Usage: required
-	Value type: <prop-encoded-array>
-	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 : <u32>
-	Definition: must be 2. Specifies the number of cells needed to 

encode

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt deleted +0 -17
-		    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: <empty>
-	Definition: identifies this node as an interrupt controller
-
-= SUBCOMPONENTS
-
-The PMIC contains multiple independent functions, each described in a 

subnode.

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt deleted +0 -17
-The below bindings specify the set of valid subnodes.
-
-== Real-Time Clock
-
-- compatible:
-	Usage: required
-	Value type: <string>
-	Definition: must be one of:
-		    "qcom,pm8058-rtc"
-		    "qcom,pm8921-rtc"
-		    "qcom,pm8941-rtc"
-		    "qcom,pm8018-rtc"
-
-- reg:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: single entry specifying the base address of the RTC 

registers

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.txt deleted +0 -28
-
-- interrupts:
-	Usage: required
-	Value type: <prop-encoded-array>
-	Definition: single entry specifying the RTC's alarm interrupt
-
-- allow-set-time:
-	Usage: optional
-	Value type: <empty>
-	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>;
-		};
-	};
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +0 -0
new file mode 100644
index 0000000..b4892f1

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml line 10

Quoted 10 lines
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +10 -0
@@ -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 <[email protected]>

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

Quoted 35 lines
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +3 -0
+
+description: |
+  The PM8xxx family of Power Management ICs are used to provide 

regulated

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +21 -0
+  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

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +5 -0
+      interrupt (summary interrupt).
+
+  '#interrupt-cells':
+    description: |
+      Specifies the number of cells needed to encode an interrupt 

source.

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +3 -0
+      The 1st cell contains the interrupt number. The 2nd cell is the
+      trigger type.
+    const: 2
Quoted 9 lines

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml line 47

Quoted 5 lines
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +5 -0
+
+  interrupt-controller: true
+
+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.

Quoted 69 lines

Regards,
Bjorn

Quoted 66 lines
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +19 -0
+    type: object
+    properties:
+      compatible:
+        enum:
+          - qcom,pm8058-rtc
+          - qcom,pm8921-rtc
+          - qcom,pm8941-rtc
+          - qcom,pm8018-rtc
+
+      reg:
+        description: Specifies the base address of the RTC registers
+
+      interrupts:
+        description: Specifies the RTC's alarm interrupts
+
+      allow-set-time:
+        $ref: /schemas/types.yaml#/definitions/flag
+        description:
+          Indicates that the setting of RTC time is allowed by the 

host CPU.

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +42 -1
+
+    required:
+      - compatible
+      - reg
+      - interrupts
+
+    additionalProperties: false
+
+required:
+  - compatible
+  - '#address-cells'
+  - '#size-cells'
+  - interrupts
+  - '#interrupt-cells'
+  - interrupt-controller
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/spmi/spmi.h>
+    spmi_bus: spmi@c440000 {
+      reg = <0x0c440000 0x1100>;
+      #address-cells = <2>;
+      #size-cells = <0>;
+      pmicintc: pmic@0 {
+        reg = <0x0 SPMI_USID>;
+        compatible = "qcom,pm8921";
+        interrupts = <104 8>;
+        #interrupt-cells = <2>;
+        interrupt-controller;
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        pm8921_rtc: rtc@11d {
+          compatible = "qcom,pm8921-rtc";
+          reg = <0x11d>;
+          interrupts = <0x27 0>;
+        };
+      };
+    };
+...
--

QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

#7 lore raw

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

Quoted 4 lines · On Wed 07 Apr 10:37 CDT 2021, [email protected] wrote:

Hi Bjorn,

Quoted 1 line · Bjorn Andersson

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

[..]

Quoted 11 lines
Quoted 6 lines

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml line 47

Quoted 2 lines
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +2 -0
+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-<func>.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

#8 lore raw

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

Quoted 20 lines · Bjorn Andersson
Quoted 4 lines · On Wed 07 Apr 10:37 CDT 2021, [email protected] wrote:

Hi Bjorn,

Quoted 1 line · Bjorn Andersson

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

[..]

Quoted 11 lines
Quoted 6 lines

Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml line 47

Quoted 2 lines
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml new file +2 -0
+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.

Quoted 8 lines

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-<func>.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 <func> fragments.

Rob

#9 lore raw

PATCH 3/3 dt-bindings: mfd: Add compatible for pmk8350 rtc

In reply to satya priya

Add compatible string for pmk8350 rtc support.

---
 Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml +1 -0
index b4892f1..676decc 100644
@@ -53,6 +53,7 @@ patternProperties:
           - qcom,pm8921-rtc
           - qcom,pm8941-rtc
           - qcom,pm8018-rtc
+          - qcom,pmk8350-rtc
 
       reg:
         description: Specifies the base address of the RTC registers
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation
Reviewed-by on v1 3/3
#10 lore raw

Re: [PATCH 3/3] dt-bindings: mfd: Add compatible for pmk8350 rtc

Quoted 2 lines · satya priya

Add compatible string for pmk8350 rtc support.

If you add this before doing the yaml binding migration it might be possible for the maintainer to merge the functional additions while we're still trying to figure out the yaml...

Regards,
Bjorn

Quoted 21 lines
---
 Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml +1 -0
index b4892f1..676decc 100644
@@ -53,6 +53,7 @@ patternProperties:
           - qcom,pm8921-rtc
           - qcom,pm8941-rtc
           - qcom,pm8018-rtc
+          - qcom,pmk8350-rtc
 
       reg:
         description: Specifies the base address of the RTC registers
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation