All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support
@ 2021-02-24  8:33 satya priya
  2021-02-24  8:33 ` [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format satya priya
                   ` (7 more replies)
  0 siblings, 8 replies; 26+ messages in thread
From: satya priya @ 2021-02-24  8:33 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson
  Cc: Liam Girdwood, Mark Brown, Rob Herring, rnayak, linux-arm-msm,
	linux-kernel, devicetree, kgunda, satya priya

This series is dependent on below series which adds DT files for SC7280 SoC
https://lore.kernel.org/patchwork/project/lkml/list/?series=484757

satya priya (7):
  dt-bindings: regulator: Convert regulator bindings to YAML
  dt-bindings: regulator: Add compatibles for PM7325/PMR735A
  regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
  regulator: qcom-rpmh: Add pmic5_ftsmps520 buck
  regulator: qcom-rpmh: Add PM7325/PMR735A regulator support
  regulator: qcom-rpmh: Use correct buck for S1C regulator
  arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp

 .../bindings/regulator/qcom,rpmh-regulator.txt     | 180 ------------------
 .../bindings/regulator/qcom,rpmh-regulator.yaml    | 151 +++++++++++++++
 arch/arm64/boot/dts/qcom/sc7280-idp.dts            | 211 +++++++++++++++++++++
 drivers/regulator/qcom-rpmh-regulator.c            |  68 ++++++-
 4 files changed, 426 insertions(+), 184 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
 create mode 100644 Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml

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


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

* [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format
  2021-02-24  8:33 [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support satya priya
@ 2021-02-24  8:33 ` satya priya
  2021-02-24 15:57   ` Mark Brown
                     ` (2 more replies)
  2021-02-24  8:33 ` [PATCH 2/7] dt-bindings: regulator: Add compatibles for PM7325/PMR735A satya priya
                   ` (6 subsequent siblings)
  7 siblings, 3 replies; 26+ messages in thread
From: satya priya @ 2021-02-24  8:33 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson
  Cc: Liam Girdwood, Mark Brown, Rob Herring, rnayak, linux-arm-msm,
	linux-kernel, devicetree, kgunda, satya priya

Convert regulator bindings from .txt to .yaml format.

Signed-off-by: satya priya <skakit@codeaurora.org>
---
 .../bindings/regulator/qcom,rpmh-regulator.txt     | 180 ---------------------
 .../bindings/regulator/qcom,rpmh-regulator.yaml    | 147 +++++++++++++++++
 2 files changed, 147 insertions(+), 180 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
 create mode 100644 Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml

diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
deleted file mode 100644
index ce1e043..0000000
--- a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
+++ /dev/null
@@ -1,180 +0,0 @@
-Qualcomm Technologies, Inc. RPMh Regulators
-
-rpmh-regulator devices support PMIC regulator management via the Voltage
-Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators.  The APPS
-processor communicates with these hardware blocks via a Resource State
-Coordinator (RSC) using command packets.  The VRM allows changing three
-parameters for a given regulator: enable state, output voltage, and operating
-mode.  The XOB allows changing only a single parameter for a given regulator:
-its enable state.  Despite its name, the XOB is capable of controlling the
-enable state of any PMIC peripheral.  It is used for clock buffers, low-voltage
-switches, and LDO/SMPS regulators which have a fixed voltage and mode.
-
-=======================
-Required Node Structure
-=======================
-
-RPMh regulators must be described in two levels of device nodes.  The first
-level describes the PMIC containing the regulators and must reside within an
-RPMh device node.  The second level describes each regulator within the PMIC
-which is to be used on the board.  Each of these regulators maps to a single
-RPMh resource.
-
-The names used for regulator nodes must match those supported by a given PMIC.
-Supported regulator node names:
-	PM8005:		smps1 - smps4
-	PM8009:		smps1 - smps2, ldo1 - ldo7
-	PM8150:		smps1 - smps10, ldo1 - ldo18
-	PM8150L:	smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
-	PM8350:		smps1 - smps12, ldo1 - ldo10,
-	PM8350C:	smps1 - smps10, ldo1 - ldo13, bob
-	PM8998:		smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
-	PMI8998:	bob
-	PM6150:         smps1 - smps5, ldo1 - ldo19
-	PM6150L:        smps1 - smps8, ldo1 - ldo11, bob
-	PMX55:		smps1 - smps7, ldo1 - ldo16
-
-========================
-First Level Nodes - PMIC
-========================
-
-- compatible
-	Usage:      required
-	Value type: <string>
-	Definition: Must be one of below:
-		    "qcom,pm8005-rpmh-regulators"
-		    "qcom,pm8009-rpmh-regulators"
-		    "qcom,pm8009-1-rpmh-regulators"
-		    "qcom,pm8150-rpmh-regulators"
-		    "qcom,pm8150l-rpmh-regulators"
-		    "qcom,pm8350-rpmh-regulators"
-		    "qcom,pm8350c-rpmh-regulators"
-		    "qcom,pm8998-rpmh-regulators"
-		    "qcom,pmc8180-rpmh-regulators"
-		    "qcom,pmc8180c-rpmh-regulators"
-		    "qcom,pmi8998-rpmh-regulators"
-		    "qcom,pm6150-rpmh-regulators"
-		    "qcom,pm6150l-rpmh-regulators"
-		    "qcom,pmx55-rpmh-regulators"
-
-- qcom,pmic-id
-	Usage:      required
-	Value type: <string>
-	Definition: RPMh resource name suffix used for the regulators found on
-		    this PMIC.  Typical values: "a", "b", "c", "d", "e", "f".
-
-- vdd-s1-supply
-- vdd-s2-supply
-- vdd-s3-supply
-- vdd-s4-supply
-	Usage:      optional (PM8998 and PM8005 only)
-	Value type: <phandle>
-	Definition: phandle of the parent supply regulator of one or more of the
-		    regulators for this PMIC.
-
-- vdd-s5-supply
-- vdd-s6-supply
-- vdd-s7-supply
-- vdd-s8-supply
-- vdd-s9-supply
-- vdd-s10-supply
-- vdd-s11-supply
-- vdd-s12-supply
-- vdd-s13-supply
-- vdd-l1-l27-supply
-- vdd-l2-l8-l17-supply
-- vdd-l3-l11-supply
-- vdd-l4-l5-supply
-- vdd-l6-supply
-- vdd-l7-l12-l14-l15-supply
-- vdd-l9-supply
-- vdd-l10-l23-l25-supply
-- vdd-l13-l19-l21-supply
-- vdd-l16-l28-supply
-- vdd-l18-l22-supply
-- vdd-l20-l24-supply
-- vdd-l26-supply
-- vin-lvs-1-2-supply
-	Usage:      optional (PM8998 only)
-	Value type: <phandle>
-	Definition: phandle of the parent supply regulator of one or more of the
-		    regulators for this PMIC.
-
-- vdd-bob-supply
-	Usage:      optional (PMI8998 only)
-	Value type: <phandle>
-	Definition: BOB regulator parent supply phandle
-
-===============================
-Second Level Nodes - Regulators
-===============================
-
-- qcom,always-wait-for-ack
-	Usage:      optional
-	Value type: <empty>
-	Definition: Boolean flag which indicates that the application processor
-		    must wait for an ACK or a NACK from RPMh for every request
-		    sent for this regulator including those which are for a
-		    strictly lower power state.
-
-Other properties defined in Documentation/devicetree/bindings/regulator/regulator.txt
-may also be used.  regulator-initial-mode and regulator-allowed-modes may be
-specified for VRM regulators using mode values from
-include/dt-bindings/regulator/qcom,rpmh-regulator.h.  regulator-allow-bypass
-may be specified for BOB type regulators managed via VRM.
-regulator-allow-set-load may be specified for LDO type regulators managed via
-VRM.
-
-========
-Examples
-========
-
-#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
-
-&apps_rsc {
-	pm8998-rpmh-regulators {
-		compatible = "qcom,pm8998-rpmh-regulators";
-		qcom,pmic-id = "a";
-
-		vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
-
-		smps2 {
-			regulator-min-microvolt = <1100000>;
-			regulator-max-microvolt = <1100000>;
-		};
-
-		pm8998_s5: smps5 {
-			regulator-min-microvolt = <1904000>;
-			regulator-max-microvolt = <2040000>;
-		};
-
-		ldo7 {
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
-			regulator-allowed-modes =
-				<RPMH_REGULATOR_MODE_LPM
-				 RPMH_REGULATOR_MODE_HPM>;
-			regulator-allow-set-load;
-		};
-
-		lvs1 {
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
-		};
-	};
-
-	pmi8998-rpmh-regulators {
-		compatible = "qcom,pmi8998-rpmh-regulators";
-		qcom,pmic-id = "b";
-
-		bob {
-			regulator-min-microvolt = <3312000>;
-			regulator-max-microvolt = <3600000>;
-			regulator-allowed-modes =
-				<RPMH_REGULATOR_MODE_AUTO
-				 RPMH_REGULATOR_MODE_HPM>;
-			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
-		};
-	};
-};
diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
new file mode 100644
index 0000000..c14baf8
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
@@ -0,0 +1,147 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Technologies, Inc. RPMh Regulators
+
+maintainers:
+  - David Collins <collinsd@codeaurora.org>
+
+description:
+    rpmh-regulator devices support PMIC regulator management via the Voltage
+    Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators.  The APPS
+    processor communicates with these hardware blocks via a Resource State
+    Coordinator (RSC) using command packets.  The VRM allows changing three
+    parameters for a given regulator, enable state, output voltage, and operating
+    mode.  The XOB allows changing only a single parameter for a given regulator,
+    its enable state.  Despite its name, the XOB is capable of controlling the
+    enable state of any PMIC peripheral.  It is used for clock buffers, low-voltage
+    switches, and LDO/SMPS regulators which have a fixed voltage and mode.
+
+    =======================
+    Required Node Structure
+    =======================
+
+    RPMh regulators must be described in two levels of device nodes.  The first
+    level describes the PMIC containing the regulators and must reside within an
+    RPMh device node.  The second level describes each regulator within the PMIC
+    which is to be used on the board.  Each of these regulators maps to a single
+    RPMh resource.
+
+    The names used for regulator nodes must match those supported by a given PMIC.
+    Supported regulator node names are
+      For PM8005, smps1 - smps4
+      For PM8009, smps1 - smps2, ldo1 - ldo7
+      For PM8150, smps1 - smps10, ldo1 - ldo18
+      For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
+      For PM8350, smps1 - smps12, ldo1 - ldo10
+      For PM8350C, smps1 - smps10, ldo1 - ldo13, bob
+      For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
+      For PMI8998, bob
+      For PM6150, smps1 - smps5, ldo1 - ldo19
+      For PM6150L, smps1 - smps8, ldo1 - ldo11, bob
+      For PMX55, smps1 - smps7, ldo1 - ldo16
+
+properties:
+    compatible:
+        enum:
+            - qcom,pm8005-rpmh-regulators
+            - qcom,pm8009-rpmh-regulators
+            - qcom,pm8009-1-rpmh-regulators
+            - qcom,pm8150-rpmh-regulators
+            - qcom,pm8150l-rpmh-regulators
+            - qcom,pm8350-rpmh-regulators
+            - qcom,pm8350c-rpmh-regulators
+            - qcom,pm8998-rpmh-regulators
+            - qcom,pmi8998-rpmh-regulators
+            - qcom,pm6150-rpmh-regulators
+            - qcom,pm6150l-rpmh-regulators
+            - qcom,pmx55-rpmh-regulators
+
+    qcom,pmic-id:
+        description: RPMh resource name suffix used for the regulators found on
+                     this PMIC.  Typical values are "a", "b", "c", "d", "e", "f".
+        $ref: /schemas/types.yaml#/definitions/string
+
+    qcom,always-wait-for-ack:
+        description: Boolean flag which indicates that the application processor
+                     must wait for an ACK or a NACK from RPMh for every request
+                     sent for this regulator including those which are for a
+                     strictly lower power state.
+        $ref: /schemas/types.yaml#/definitions/string
+
+patternProperties:
+  ".*-supply$":
+    description: phandle of the parent supply regulator of one or more of the
+                 regulators for this PMIC.
+
+  "^((smps|ldo|lvs)[0-9]*)$":
+    type: object
+    allOf:
+     - $ref: "regulator.yaml#"
+    description: List of regulator parent supply phandles
+
+  "bob$":
+    type: object
+    allOf:
+     - $ref: "regulator.yaml#"
+    description: BOB regulator parent supply phandle
+
+additionalProperties: false
+
+required:
+ - compatible
+ - qcom,pmic-id
+
+examples:
+  - |
+    #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+
+    pm8998-rpmh-regulators {
+        compatible = "qcom,pm8998-rpmh-regulators";
+        qcom,pmic-id = "a";
+
+        vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
+
+        smps2 {
+            regulator-min-microvolt = <1100000>;
+            regulator-max-microvolt = <1100000>;
+        };
+
+        pm8998_s5: smps5 {
+            regulator-min-microvolt = <1904000>;
+            regulator-max-microvolt = <2040000>;
+        };
+
+        ldo7 {
+            regulator-min-microvolt = <1800000>;
+            regulator-max-microvolt = <1800000>;
+            regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+            regulator-allowed-modes =
+                <RPMH_REGULATOR_MODE_LPM
+                 RPMH_REGULATOR_MODE_HPM>;
+            regulator-allow-set-load;
+        };
+
+        lvs1 {
+            regulator-min-microvolt = <1800000>;
+            regulator-max-microvolt = <1800000>;
+        };
+    };
+
+    pmi8998-rpmh-regulators {
+        compatible = "qcom,pmi8998-rpmh-regulators";
+        qcom,pmic-id = "b";
+
+        bob {
+            regulator-min-microvolt = <3312000>;
+            regulator-max-microvolt = <3600000>;
+            regulator-allowed-modes =
+                <RPMH_REGULATOR_MODE_AUTO
+                 RPMH_REGULATOR_MODE_HPM>;
+            regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+        };
+    };
+...
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation


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

* [PATCH 2/7] dt-bindings: regulator: Add compatibles for PM7325/PMR735A
  2021-02-24  8:33 [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support satya priya
  2021-02-24  8:33 ` [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format satya priya
@ 2021-02-24  8:33 ` satya priya
  2021-03-06 20:16   ` Rob Herring
  2021-02-24  8:33 ` [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck satya priya
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 26+ messages in thread
From: satya priya @ 2021-02-24  8:33 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson
  Cc: Liam Girdwood, Mark Brown, Rob Herring, rnayak, linux-arm-msm,
	linux-kernel, devicetree, kgunda, satya priya

Add PM7325/PMR735A compatibles for Qualcomm SC7280 platform.

Signed-off-by: satya priya <skakit@codeaurora.org>
---
 Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
index c14baf8..925b692 100644
--- a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
@@ -43,6 +43,8 @@ description:
       For PM6150, smps1 - smps5, ldo1 - ldo19
       For PM6150L, smps1 - smps8, ldo1 - ldo11, bob
       For PMX55, smps1 - smps7, ldo1 - ldo16
+      For PM7325, smps1 - smps8, ldo1 - ldo19
+      For PMR735A, smps1 - smps3, ldo1 - ldo7
 
 properties:
     compatible:
@@ -59,6 +61,8 @@ properties:
             - qcom,pm6150-rpmh-regulators
             - qcom,pm6150l-rpmh-regulators
             - qcom,pmx55-rpmh-regulators
+            - qcom,pm7325-rpmh-regulators
+            - qcom,pmr735a-rpmh-regulators
 
     qcom,pmic-id:
         description: RPMh resource name suffix used for the regulators found on
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation


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

* [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
  2021-02-24  8:33 [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support satya priya
  2021-02-24  8:33 ` [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format satya priya
  2021-02-24  8:33 ` [PATCH 2/7] dt-bindings: regulator: Add compatibles for PM7325/PMR735A satya priya
@ 2021-02-24  8:33 ` satya priya
  2021-02-25 11:09   ` Dmitry Baryshkov
  2021-02-24  8:33 ` [PATCH 4/7] regulator: qcom-rpmh: Add pmic5_ftsmps520 buck satya priya
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 26+ messages in thread
From: satya priya @ 2021-02-24  8:33 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson
  Cc: Liam Girdwood, Mark Brown, Rob Herring, rnayak, linux-arm-msm,
	linux-kernel, devicetree, kgunda, satya priya

Correct the REGULATOR_LINEAR_RANGE and n_voltges for
pmic5_hfsmps515 buck.

Signed-off-by: satya priya <skakit@codeaurora.org>
---
 drivers/regulator/qcom-rpmh-regulator.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c
index 79a554f..36542c3 100644
--- a/drivers/regulator/qcom-rpmh-regulator.c
+++ b/drivers/regulator/qcom-rpmh-regulator.c
@@ -726,8 +726,8 @@ static const struct rpmh_vreg_hw_data pmic5_ftsmps510 = {
 static const struct rpmh_vreg_hw_data pmic5_hfsmps515 = {
 	.regulator_type = VRM,
 	.ops = &rpmh_regulator_vrm_ops,
-	.voltage_range = REGULATOR_LINEAR_RANGE(2800000, 0, 4, 16000),
-	.n_voltages = 5,
+	.voltage_range = REGULATOR_LINEAR_RANGE(320000, 0, 235, 16000),
+	.n_voltages = 236,
 	.pmic_mode_map = pmic_mode_map_pmic5_smps,
 	.of_map_mode = rpmh_regulator_pmic4_smps_of_map_mode,
 };
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation


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

* [PATCH 4/7] regulator: qcom-rpmh: Add pmic5_ftsmps520 buck
  2021-02-24  8:33 [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support satya priya
                   ` (2 preceding siblings ...)
  2021-02-24  8:33 ` [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck satya priya
@ 2021-02-24  8:33 ` satya priya
  2021-02-24  8:33 ` [PATCH 5/7] regulator: qcom-rpmh: Add PM7325/PMR735A regulator support satya priya
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 26+ messages in thread
From: satya priya @ 2021-02-24  8:33 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson
  Cc: Liam Girdwood, Mark Brown, Rob Herring, rnayak, linux-arm-msm,
	linux-kernel, devicetree, kgunda, satya priya

Add pmic5_ftsmps520 buck as this is required for PM7325
and PMR735A PMICs.

Signed-off-by: satya priya <skakit@codeaurora.org>
---
 drivers/regulator/qcom-rpmh-regulator.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c
index 36542c3..ed70046 100644
--- a/drivers/regulator/qcom-rpmh-regulator.c
+++ b/drivers/regulator/qcom-rpmh-regulator.c
@@ -723,6 +723,15 @@ static const struct rpmh_vreg_hw_data pmic5_ftsmps510 = {
 	.of_map_mode = rpmh_regulator_pmic4_smps_of_map_mode,
 };
 
+static const struct rpmh_vreg_hw_data pmic5_ftsmps520 = {
+	.regulator_type = VRM,
+	.ops = &rpmh_regulator_vrm_ops,
+	.voltage_range = REGULATOR_LINEAR_RANGE(300000, 0, 263, 4000),
+	.n_voltages = 264,
+	.pmic_mode_map = pmic_mode_map_pmic5_smps,
+	.of_map_mode = rpmh_regulator_pmic4_smps_of_map_mode,
+};
+
 static const struct rpmh_vreg_hw_data pmic5_hfsmps515 = {
 	.regulator_type = VRM,
 	.ops = &rpmh_regulator_vrm_ops,
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation


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

* [PATCH 5/7] regulator: qcom-rpmh: Add PM7325/PMR735A regulator support
  2021-02-24  8:33 [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support satya priya
                   ` (3 preceding siblings ...)
  2021-02-24  8:33 ` [PATCH 4/7] regulator: qcom-rpmh: Add pmic5_ftsmps520 buck satya priya
@ 2021-02-24  8:33 ` satya priya
  2021-02-24  8:33 ` [PATCH 6/7] regulator: qcom-rpmh: Use correct buck for S1C regulator satya priya
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 26+ messages in thread
From: satya priya @ 2021-02-24  8:33 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson
  Cc: Liam Girdwood, Mark Brown, Rob Herring, rnayak, linux-arm-msm,
	linux-kernel, devicetree, kgunda, satya priya

Add support for PM7325/PMR735A regulators. This ensures
that consumers are able to modify the physical state of PMIC
regulators.

Signed-off-by: satya priya <skakit@codeaurora.org>
---
 drivers/regulator/qcom-rpmh-regulator.c | 53 ++++++++++++++++++++++++++++++++-
 1 file changed, 52 insertions(+), 1 deletion(-)

diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c
index ed70046..2d0cd23 100644
--- a/drivers/regulator/qcom-rpmh-regulator.c
+++ b/drivers/regulator/qcom-rpmh-regulator.c
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0
-// Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
+// Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
 
 #define pr_fmt(fmt) "%s: " fmt, __func__
 
@@ -1042,6 +1042,49 @@ static const struct rpmh_vreg_init_data pmx55_vreg_data[] = {
 	{},
 };
 
+static const struct rpmh_vreg_init_data pm7325_vreg_data[] = {
+	RPMH_VREG("smps1",  "smp%s1",  &pmic5_hfsmps510, "vdd-s1"),
+	RPMH_VREG("smps2",  "smp%s2",  &pmic5_ftsmps520, "vdd-s2"),
+	RPMH_VREG("smps3",  "smp%s3",  &pmic5_ftsmps520, "vdd-s3"),
+	RPMH_VREG("smps4",  "smp%s4",  &pmic5_ftsmps520, "vdd-s4"),
+	RPMH_VREG("smps5",  "smp%s5",  &pmic5_ftsmps520, "vdd-s5"),
+	RPMH_VREG("smps6",  "smp%s6",  &pmic5_ftsmps520, "vdd-s6"),
+	RPMH_VREG("smps7",  "smp%s7",  &pmic5_ftsmps520, "vdd-s7"),
+	RPMH_VREG("smps8",  "smp%s8",  &pmic5_hfsmps510, "vdd-s8"),
+	RPMH_VREG("ldo1",   "ldo%s1",  &pmic5_nldo,      "vdd-l1-l4-l12-l15"),
+	RPMH_VREG("ldo2",   "ldo%s2",  &pmic5_pldo,      "vdd-l2-l7"),
+	RPMH_VREG("ldo3",   "ldo%s3",  &pmic5_nldo,      "vdd-l3"),
+	RPMH_VREG("ldo4",   "ldo%s4",  &pmic5_nldo,      "vdd-l1-l4-l12-l15"),
+	RPMH_VREG("ldo5",   "ldo%s5",  &pmic5_nldo,      "vdd-l5"),
+	RPMH_VREG("ldo6",   "ldo%s6",  &pmic5_nldo,      "vdd-l6-l9-l10"),
+	RPMH_VREG("ldo7",   "ldo%s7",  &pmic5_pldo,      "vdd-l2-l7"),
+	RPMH_VREG("ldo8",   "ldo%s8",  &pmic5_nldo,      "vdd-l8"),
+	RPMH_VREG("ldo9",   "ldo%s9",  &pmic5_nldo,      "vdd-l6-l9-l10"),
+	RPMH_VREG("ldo10",  "ldo%s10", &pmic5_nldo,      "vdd-l6-l9-l10"),
+	RPMH_VREG("ldo11",  "ldo%s11", &pmic5_pldo_lv,   "vdd-l11-l17-l18-l19"),
+	RPMH_VREG("ldo12",  "ldo%s12", &pmic5_nldo,      "vdd-l1-l4-l12-l15"),
+	RPMH_VREG("ldo13",  "ldo%s13", &pmic5_nldo,      "vdd-l13"),
+	RPMH_VREG("ldo14",  "ldo%s14", &pmic5_nldo,      "vdd-l14-l16"),
+	RPMH_VREG("ldo15",  "ldo%s15", &pmic5_nldo,      "vdd-l1-l4-l12-l15"),
+	RPMH_VREG("ldo16",  "ldo%s16", &pmic5_nldo,      "vdd-l14-l16"),
+	RPMH_VREG("ldo17",  "ldo%s17", &pmic5_pldo_lv,   "vdd-l11-l17-l18-l19"),
+	RPMH_VREG("ldo18",  "ldo%s18", &pmic5_pldo_lv,   "vdd-l11-l17-l18-l19"),
+	RPMH_VREG("ldo19",  "ldo%s19", &pmic5_pldo_lv,   "vdd-l11-l17-l18-l19"),
+};
+
+static const struct rpmh_vreg_init_data pmr735a_vreg_data[] = {
+	RPMH_VREG("smps1",  "smp%s1",  &pmic5_ftsmps520, "vdd-s1"),
+	RPMH_VREG("smps2",  "smp%s2",  &pmic5_ftsmps520, "vdd-s2"),
+	RPMH_VREG("smps3",  "smp%s3",  &pmic5_hfsmps510, "vdd-s3"),
+	RPMH_VREG("ldo1",   "ldo%s1",  &pmic5_nldo,      "vdd-l1-l2"),
+	RPMH_VREG("ldo2",   "ldo%s2",  &pmic5_nldo,      "vdd-l1-l2"),
+	RPMH_VREG("ldo3",   "ldo%s3",  &pmic5_nldo,      "vdd-l3"),
+	RPMH_VREG("ldo4",   "ldo%s4",  &pmic5_pldo_lv,   "vdd-l4"),
+	RPMH_VREG("ldo5",   "ldo%s5",  &pmic5_nldo,      "vdd-l5-l6"),
+	RPMH_VREG("ldo6",   "ldo%s6",  &pmic5_nldo,      "vdd-l5-l6"),
+	RPMH_VREG("ldo7",   "ldo%s7",  &pmic5_pldo,      "vdd-l7-bob"),
+};
+
 static int rpmh_regulator_probe(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
@@ -1136,6 +1179,14 @@ static const struct of_device_id __maybe_unused rpmh_regulator_match_table[] = {
 		.compatible = "qcom,pmx55-rpmh-regulators",
 		.data = pmx55_vreg_data,
 	},
+	{
+		.compatible = "qcom,pm7325-rpmh-regulators",
+		.data = pm7325_vreg_data,
+	},
+	{
+		.compatible = "qcom,pmr735a-rpmh-regulators",
+		.data = pmr735a_vreg_data,
+	},
 	{}
 };
 MODULE_DEVICE_TABLE(of, rpmh_regulator_match_table);
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation


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

* [PATCH 6/7] regulator: qcom-rpmh: Use correct buck for S1C regulator
  2021-02-24  8:33 [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support satya priya
                   ` (4 preceding siblings ...)
  2021-02-24  8:33 ` [PATCH 5/7] regulator: qcom-rpmh: Add PM7325/PMR735A regulator support satya priya
@ 2021-02-24  8:33 ` satya priya
  2021-02-24 16:31   ` Mark Brown
  2021-02-24  8:33 ` [PATCH 7/7] arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp satya priya
  2021-02-24 16:58 ` (subset) [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support Mark Brown
  7 siblings, 1 reply; 26+ messages in thread
From: satya priya @ 2021-02-24  8:33 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson
  Cc: Liam Girdwood, Mark Brown, Rob Herring, rnayak, linux-arm-msm,
	linux-kernel, devicetree, kgunda, satya priya

Use correct buck, that is, pmic5_hfsmps515 for S1C regulator
of PM8350C PMIC.

Signed-off-by: satya priya <skakit@codeaurora.org>
---
 drivers/regulator/qcom-rpmh-regulator.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c
index 2d0cd23..22fec37 100644
--- a/drivers/regulator/qcom-rpmh-regulator.c
+++ b/drivers/regulator/qcom-rpmh-regulator.c
@@ -910,7 +910,7 @@ static const struct rpmh_vreg_init_data pm8350_vreg_data[] = {
 };
 
 static const struct rpmh_vreg_init_data pm8350c_vreg_data[] = {
-	RPMH_VREG("smps1",  "smp%s1",  &pmic5_hfsmps510, "vdd-s1"),
+	RPMH_VREG("smps1",  "smp%s1",  &pmic5_hfsmps515, "vdd-s1"),
 	RPMH_VREG("smps2",  "smp%s2",  &pmic5_ftsmps510, "vdd-s2"),
 	RPMH_VREG("smps3",  "smp%s3",  &pmic5_ftsmps510, "vdd-s3"),
 	RPMH_VREG("smps4",  "smp%s4",  &pmic5_ftsmps510, "vdd-s4"),
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation


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

* [PATCH 7/7] arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp
  2021-02-24  8:33 [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support satya priya
                   ` (5 preceding siblings ...)
  2021-02-24  8:33 ` [PATCH 6/7] regulator: qcom-rpmh: Use correct buck for S1C regulator satya priya
@ 2021-02-24  8:33 ` satya priya
  2021-02-24 19:17   ` Konrad Dybcio
  2021-02-24 16:58 ` (subset) [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support Mark Brown
  7 siblings, 1 reply; 26+ messages in thread
From: satya priya @ 2021-02-24  8:33 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson
  Cc: Liam Girdwood, Mark Brown, Rob Herring, rnayak, linux-arm-msm,
	linux-kernel, devicetree, kgunda, satya priya

Add regulator devices for SC7280 as RPMh regulators. This ensures
that consumers are able to modify the physical state of PMIC
regulators.

Signed-off-by: satya priya <skakit@codeaurora.org>
---
 arch/arm64/boot/dts/qcom/sc7280-idp.dts | 211 ++++++++++++++++++++++++++++++++
 1 file changed, 211 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dts b/arch/arm64/boot/dts/qcom/sc7280-idp.dts
index 428f863..ac79420 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-idp.dts
+++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dts
@@ -22,6 +22,217 @@
 	};
 };
 
+&apps_rsc {
+	pm7325-regulators {
+		compatible = "qcom,pm7325-rpmh-regulators";
+		qcom,pmic-id = "b";
+
+		vreg_s1b_1p8: smps1 {
+			regulator-min-microvolt = <1856000>;
+			regulator-max-microvolt = <2040000>;
+		};
+
+		vreg_s7b_0p9: smps7 {
+			regulator-min-microvolt = <535000>;
+			regulator-max-microvolt = <1120000>;
+		};
+
+		vreg_s8b_1p2: smps8 {
+			regulator-min-microvolt = <1256000>;
+			regulator-max-microvolt = <1500000>;
+		};
+
+		vreg_l1b_0p8: ldo1 {
+			regulator-min-microvolt = <825000>;
+			regulator-max-microvolt = <925000>;
+		};
+
+		vreg_l2b_3p0: ldo2 {
+			regulator-min-microvolt = <2700000>;
+			regulator-max-microvolt = <3544000>;
+		};
+
+		vreg_l6b_1p2: ldo6 {
+			regulator-min-microvolt = <1140000>;
+			regulator-max-microvolt = <1260000>;
+		};
+
+		vreg_l7b_2p9: ldo7 {
+			regulator-min-microvolt = <2960000>;
+			regulator-max-microvolt = <2960000>;
+		};
+
+		vreg_l8b_0p9: ldo8 {
+			regulator-min-microvolt = <870000>;
+			regulator-max-microvolt = <970000>;
+		};
+
+		vreg_l9b_1p2: ldo9 {
+			regulator-min-microvolt = <1080000>;
+			regulator-max-microvolt = <1304000>;
+		};
+
+		vreg_l11b_1p7: ldo11 {
+			regulator-min-microvolt = <1504000>;
+			regulator-max-microvolt = <2000000>;
+		};
+
+		vreg_l12b_0p8: ldo12 {
+			regulator-min-microvolt = <751000>;
+			regulator-max-microvolt = <824000>;
+		};
+
+		vreg_l13b_0p8: ldo13 {
+			regulator-min-microvolt = <530000>;
+			regulator-max-microvolt = <824000>;
+		};
+
+		vreg_l14b_1p2: ldo14 {
+			regulator-min-microvolt = <1080000>;
+			regulator-max-microvolt = <1304000>;
+		};
+
+		vreg_l15b_0p8: ldo15 {
+			regulator-min-microvolt = <765000>;
+			regulator-max-microvolt = <1020000>;
+		};
+
+		vreg_l16b_1p2: ldo16 {
+			regulator-min-microvolt = <1100000>;
+			regulator-max-microvolt = <1300000>;
+		};
+
+		vreg_l17b_1p8: ldo17 {
+			regulator-min-microvolt = <1700000>;
+			regulator-max-microvolt = <1900000>;
+		};
+
+		vreg_l18b_1p8: ldo18 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <2000000>;
+		};
+
+		vreg_l19b_1p8: ldo19 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+		};
+	};
+
+	pm8350c-regulators {
+	compatible = "qcom,pm8350c-rpmh-regulators";
+	qcom,pmic-id = "c";
+		vreg_s1c_2p2: smps1 {
+			regulator-min-microvolt = <2190000>;
+			regulator-max-microvolt = <2210000>;
+		};
+
+		vreg_s9c_1p0: smps9 {
+			regulator-min-microvolt = <1010000>;
+			regulator-max-microvolt = <1170000>;
+		};
+
+		vreg_l1c_1p8: ldo1 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1980000>;
+		};
+
+		vreg_l2c_1p8: ldo2 {
+			regulator-min-microvolt = <1620000>;
+			regulator-max-microvolt = <1980000>;
+		};
+
+		vreg_l3c_3p0: ldo3 {
+			regulator-min-microvolt = <2800000>;
+			regulator-max-microvolt = <3540000>;
+		};
+
+		vreg_l4c_1p8: ldo4 {
+			regulator-min-microvolt = <1620000>;
+			regulator-max-microvolt = <3300000>;
+		};
+
+		vreg_l5c_1p8: ldo5 {
+			regulator-min-microvolt = <1620000>;
+			regulator-max-microvolt = <3300000>;
+		};
+
+		vreg_l6c_2p9: ldo6 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <2950000>;
+		};
+
+		vreg_l7c_3p0: ldo7 {
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3544000>;
+		};
+
+		vreg_l8c_1p8: ldo8 {
+			regulator-min-microvolt = <1620000>;
+			regulator-max-microvolt = <2000000>;
+		};
+
+		vreg_l9c_2p9: ldo9 {
+			regulator-min-microvolt = <2960000>;
+			regulator-max-microvolt = <2960000>;
+		};
+
+		vreg_l10c_0p8: ldo10 {
+			regulator-min-microvolt = <720000>;
+			regulator-max-microvolt = <1050000>;
+		};
+
+		vreg_l11c_2p8: ldo11 {
+			regulator-min-microvolt = <2800000>;
+			regulator-max-microvolt = <3544000>;
+		};
+
+		vreg_l12c_1p8: ldo12 {
+			regulator-min-microvolt = <1650000>;
+			regulator-max-microvolt = <2000000>;
+		};
+
+		vreg_l13c_3p0: ldo13 {
+			regulator-min-microvolt = <2700000>;
+			regulator-max-microvolt = <3544000>;
+		};
+
+		vreg_bob: bob {
+			regulator-min-microvolt = <3008000>;
+			regulator-max-microvolt = <3960000>;
+		};
+	};
+
+	pmr735a-regulators {
+		compatible = "qcom,pmr735a-rpmh-regulators";
+		qcom,pmic-id = "e";
+
+		vreg_l2e_1p2: ldo2 {
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+		};
+
+		vreg_l3e_0p9: ldo3 {
+			regulator-min-microvolt = <912000>;
+			regulator-max-microvolt = <1020000>;
+		};
+
+		vreg_l4e_1p7: ldo4 {
+			regulator-min-microvolt = <1776000>;
+			regulator-max-microvolt = <1890000>;
+		};
+
+		vreg_l5e_0p8: ldo5 {
+			regulator-min-microvolt = <800000>;
+			regulator-max-microvolt = <800000>;
+		};
+
+		vreg_l6e_0p8: ldo6 {
+			regulator-min-microvolt = <480000>;
+			regulator-max-microvolt = <904000>;
+		};
+	};
+};
+
 &qupv3_id_0 {
 	status = "okay";
 };
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
of Code Aurora Forum, hosted by The Linux Foundation


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

* Re: [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format
  2021-02-24  8:33 ` [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format satya priya
@ 2021-02-24 15:57   ` Mark Brown
  2021-03-01 14:44   ` Rob Herring
  2021-03-01 19:18   ` Rob Herring
  2 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2021-02-24 15:57 UTC (permalink / raw)
  To: satya priya
  Cc: Andy Gross, Bjorn Andersson, Liam Girdwood, Rob Herring, rnayak,
	linux-arm-msm, linux-kernel, devicetree, kgunda

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

On Wed, Feb 24, 2021 at 02:03:06PM +0530, satya priya wrote:
> Convert regulator bindings from .txt to .yaml format.

Please place any conversions of DT bindings to YAML at the end of patch
serieses, there is frequently a backlog on review of these conversions
which can hold everything else up.

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

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

* Re: [PATCH 6/7] regulator: qcom-rpmh: Use correct buck for S1C regulator
  2021-02-24  8:33 ` [PATCH 6/7] regulator: qcom-rpmh: Use correct buck for S1C regulator satya priya
@ 2021-02-24 16:31   ` Mark Brown
  2021-02-26  4:05     ` skakit
  0 siblings, 1 reply; 26+ messages in thread
From: Mark Brown @ 2021-02-24 16:31 UTC (permalink / raw)
  To: satya priya
  Cc: Andy Gross, Bjorn Andersson, Liam Girdwood, Rob Herring, rnayak,
	linux-arm-msm, linux-kernel, devicetree, kgunda

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

On Wed, Feb 24, 2021 at 02:03:11PM +0530, satya priya wrote:
> Use correct buck, that is, pmic5_hfsmps515 for S1C regulator
> of PM8350C PMIC.

Fixes like this and patch 3 should be at the start of the series, this
ensures that they have no dependencies and can easily be sent to Linus
as fixes.

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

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

* Re: (subset) [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support
  2021-02-24  8:33 [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support satya priya
                   ` (6 preceding siblings ...)
  2021-02-24  8:33 ` [PATCH 7/7] arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp satya priya
@ 2021-02-24 16:58 ` Mark Brown
  7 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2021-02-24 16:58 UTC (permalink / raw)
  To: Bjorn Andersson, Andy Gross, satya priya
  Cc: linux-kernel, devicetree, rnayak, Rob Herring, Liam Girdwood,
	linux-arm-msm, kgunda

On Wed, 24 Feb 2021 14:03:05 +0530, satya priya wrote:
> This series is dependent on below series which adds DT files for SC7280 SoC
> https://lore.kernel.org/patchwork/project/lkml/list/?series=484757
> 
> satya priya (7):
>   dt-bindings: regulator: Convert regulator bindings to YAML
>   dt-bindings: regulator: Add compatibles for PM7325/PMR735A
>   regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
>   regulator: qcom-rpmh: Add pmic5_ftsmps520 buck
>   regulator: qcom-rpmh: Add PM7325/PMR735A regulator support
>   regulator: qcom-rpmh: Use correct buck for S1C regulator
>   arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next

Thanks!

[3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
      commit: 62861a478e06d87dbfbb0ed3684056ba19a9886e
[6/7] regulator: qcom-rpmh: Use correct buck for S1C regulator
      commit: 8fb4acb880e9467adca913e51adf5c1f96fbbeb9

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

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

* Re: [PATCH 7/7] arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp
  2021-02-24  8:33 ` [PATCH 7/7] arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp satya priya
@ 2021-02-24 19:17   ` Konrad Dybcio
  2021-02-26  4:02     ` skakit
  0 siblings, 1 reply; 26+ messages in thread
From: Konrad Dybcio @ 2021-02-24 19:17 UTC (permalink / raw)
  To: satya priya, Andy Gross, Bjorn Andersson
  Cc: Liam Girdwood, Mark Brown, Rob Herring, rnayak, linux-arm-msm,
	linux-kernel, devicetree, kgunda

Hi,


> +	};
> +
> +	pm8350c-regulators {
> +	compatible = "qcom,pm8350c-rpmh-regulators";
> +	qcom,pmic-id = "c";
> +		vreg_s1c_2p2: smps1 {
> +			regulator-min-microvolt = <2190000>;


The indentation on "compatible" and "qcom,pmic-id" is off.


Konrad


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

* Re: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
  2021-02-24  8:33 ` [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck satya priya
@ 2021-02-25 11:09   ` Dmitry Baryshkov
  2021-02-26  6:59     ` skakit
  0 siblings, 1 reply; 26+ messages in thread
From: Dmitry Baryshkov @ 2021-02-25 11:09 UTC (permalink / raw)
  To: satya priya, Andy Gross, Bjorn Andersson
  Cc: Liam Girdwood, Mark Brown, Rob Herring, rnayak, linux-arm-msm,
	linux-kernel, devicetree, kgunda, linux-arm-msm

On 24/02/2021 11:33, satya priya wrote:
> Correct the REGULATOR_LINEAR_RANGE and n_voltges for
> pmic5_hfsmps515 buck.
> 
> Signed-off-by: satya priya <skakit@codeaurora.org>
> ---
>   drivers/regulator/qcom-rpmh-regulator.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c
> index 79a554f..36542c3 100644
> --- a/drivers/regulator/qcom-rpmh-regulator.c
> +++ b/drivers/regulator/qcom-rpmh-regulator.c
> @@ -726,8 +726,8 @@ static const struct rpmh_vreg_hw_data pmic5_ftsmps510 = {
>   static const struct rpmh_vreg_hw_data pmic5_hfsmps515 = {
>   	.regulator_type = VRM,
>   	.ops = &rpmh_regulator_vrm_ops,
> -	.voltage_range = REGULATOR_LINEAR_RANGE(2800000, 0, 4, 16000),
> -	.n_voltages = 5,
> +	.voltage_range = REGULATOR_LINEAR_RANGE(320000, 0, 235, 16000),
> +	.n_voltages = 236,

I've checked the docs for pm8009, the chip which also uses hfsmps515 
regulators. The pdf clearly states that the 'Output voltage operating 
range' is from 2.8 V to 2.85 V.

So we'd probably need to define different versions of HFS515 regulator 
data (like I had to create for pm8009-1).


>   	.pmic_mode_map = pmic_mode_map_pmic5_smps,
>   	.of_map_mode = rpmh_regulator_pmic4_smps_of_map_mode,
>   };
> 


-- 
With best wishes
Dmitry

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

* Re: [PATCH 7/7] arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp
  2021-02-24 19:17   ` Konrad Dybcio
@ 2021-02-26  4:02     ` skakit
  0 siblings, 0 replies; 26+ messages in thread
From: skakit @ 2021-02-26  4:02 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	Rob Herring, rnayak, linux-arm-msm, linux-kernel, devicetree,
	kgunda

On 2021-02-25 00:47, Konrad Dybcio wrote:
> Hi,
> 
> 
>> +	};
>> +
>> +	pm8350c-regulators {
>> +	compatible = "qcom,pm8350c-rpmh-regulators";
>> +	qcom,pmic-id = "c";
>> +		vreg_s1c_2p2: smps1 {
>> +			regulator-min-microvolt = <2190000>;
> 
> 
> The indentation on "compatible" and "qcom,pmic-id" is off.
> 

Okay, will correct this.

> 
> Konrad

Thanks,
Satya Priya

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

* Re: [PATCH 6/7] regulator: qcom-rpmh: Use correct buck for S1C regulator
  2021-02-24 16:31   ` Mark Brown
@ 2021-02-26  4:05     ` skakit
  0 siblings, 0 replies; 26+ messages in thread
From: skakit @ 2021-02-26  4:05 UTC (permalink / raw)
  To: Mark Brown
  Cc: Andy Gross, Bjorn Andersson, Liam Girdwood, Rob Herring, rnayak,
	linux-arm-msm, linux-kernel, devicetree, kgunda

On 2021-02-24 22:01, Mark Brown wrote:
> On Wed, Feb 24, 2021 at 02:03:11PM +0530, satya priya wrote:
>> Use correct buck, that is, pmic5_hfsmps515 for S1C regulator
>> of PM8350C PMIC.
> 
> Fixes like this and patch 3 should be at the start of the series, this
> ensures that they have no dependencies and can easily be sent to Linus
> as fixes.

Okay.

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

* Re: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
  2021-02-25 11:09   ` Dmitry Baryshkov
@ 2021-02-26  6:59     ` skakit
  2021-02-26 10:27       ` Dmitry Baryshkov
  0 siblings, 1 reply; 26+ messages in thread
From: skakit @ 2021-02-26  6:59 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	Rob Herring, rnayak, linux-arm-msm, linux-kernel, devicetree,
	kgunda

Hi,

On 2021-02-25 16:39, Dmitry Baryshkov wrote:
> On 24/02/2021 11:33, satya priya wrote:
>> Correct the REGULATOR_LINEAR_RANGE and n_voltges for
>> pmic5_hfsmps515 buck.
>> 
>> Signed-off-by: satya priya <skakit@codeaurora.org>
>> ---
>>   drivers/regulator/qcom-rpmh-regulator.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>> 
>> diff --git a/drivers/regulator/qcom-rpmh-regulator.c 
>> b/drivers/regulator/qcom-rpmh-regulator.c
>> index 79a554f..36542c3 100644
>> --- a/drivers/regulator/qcom-rpmh-regulator.c
>> +++ b/drivers/regulator/qcom-rpmh-regulator.c
>> @@ -726,8 +726,8 @@ static const struct rpmh_vreg_hw_data 
>> pmic5_ftsmps510 = {
>>   static const struct rpmh_vreg_hw_data pmic5_hfsmps515 = {
>>   	.regulator_type = VRM,
>>   	.ops = &rpmh_regulator_vrm_ops,
>> -	.voltage_range = REGULATOR_LINEAR_RANGE(2800000, 0, 4, 16000),
>> -	.n_voltages = 5,
>> +	.voltage_range = REGULATOR_LINEAR_RANGE(320000, 0, 235, 16000),
>> +	.n_voltages = 236,
> 
> I've checked the docs for pm8009, the chip which also uses hfsmps515
> regulators. The pdf clearly states that the 'Output voltage operating
> range' is from 2.8 V to 2.85 V.
> 
> So we'd probably need to define different versions of HFS515 regulator
> data (like I had to create for pm8009-1).
> 
> 

The min-max voltages for S1C (PM8350c) regulator are 2190000-2210000uV 
for sc7280(kodiak), so we had to modify this buck to support this 
regulator.

AFAIK, this struct defines the HW constraints of a regulator, but the 
platform specific min-max values can be controlled from DT files. So, 
can't we modify it like above instead of adding a new definition? the 
new min_uV value (32000) is anyway not exceeding the old value (2800000) 
right? please correct me if wrong.

>>   	.pmic_mode_map = pmic_mode_map_pmic5_smps,
>>   	.of_map_mode = rpmh_regulator_pmic4_smps_of_map_mode,
>>   };
>> 

Thanks,
Satya Priya

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

* Re: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
  2021-02-26  6:59     ` skakit
@ 2021-02-26 10:27       ` Dmitry Baryshkov
  2021-03-01 10:37         ` skakit
  0 siblings, 1 reply; 26+ messages in thread
From: Dmitry Baryshkov @ 2021-02-26 10:27 UTC (permalink / raw)
  To: satya priya
  Cc: Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	Rob Herring, Rajendra Nayak,
	open list:DRM DRIVER FOR MSM ADRENO GPU, open list,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	kgunda

On Fri, 26 Feb 2021 at 09:59, <skakit@codeaurora.org> wrote:
>
> Hi,
>
> On 2021-02-25 16:39, Dmitry Baryshkov wrote:
> > On 24/02/2021 11:33, satya priya wrote:
> >> Correct the REGULATOR_LINEAR_RANGE and n_voltges for
> >> pmic5_hfsmps515 buck.
> >>
> >> Signed-off-by: satya priya <skakit@codeaurora.org>
> >> ---
> >>   drivers/regulator/qcom-rpmh-regulator.c | 4 ++--
> >>   1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/regulator/qcom-rpmh-regulator.c
> >> b/drivers/regulator/qcom-rpmh-regulator.c
> >> index 79a554f..36542c3 100644
> >> --- a/drivers/regulator/qcom-rpmh-regulator.c
> >> +++ b/drivers/regulator/qcom-rpmh-regulator.c
> >> @@ -726,8 +726,8 @@ static const struct rpmh_vreg_hw_data
> >> pmic5_ftsmps510 = {
> >>   static const struct rpmh_vreg_hw_data pmic5_hfsmps515 = {
> >>      .regulator_type = VRM,
> >>      .ops = &rpmh_regulator_vrm_ops,
> >> -    .voltage_range = REGULATOR_LINEAR_RANGE(2800000, 0, 4, 16000),
> >> -    .n_voltages = 5,
> >> +    .voltage_range = REGULATOR_LINEAR_RANGE(320000, 0, 235, 16000),
> >> +    .n_voltages = 236,
> >
> > I've checked the docs for pm8009, the chip which also uses hfsmps515
> > regulators. The pdf clearly states that the 'Output voltage operating
> > range' is from 2.8 V to 2.85 V.
> >
> > So we'd probably need to define different versions of HFS515 regulator
> > data (like I had to create for pm8009-1).
> >
> >
>
> The min-max voltages for S1C (PM8350c) regulator are 2190000-2210000uV
> for sc7280(kodiak), so we had to modify this buck to support this
> regulator.
>
> AFAIK, this struct defines the HW constraints of a regulator, but the
> platform specific min-max values can be controlled from DT files. So,
> can't we modify it like above instead of adding a new definition? the
> new min_uV value (32000) is anyway not exceeding the old value (2800000)
> right? please correct me if wrong.

As far as I understand for other regulators we put 'output voltage
limitations' from the docs into the regulator definition and further
constrain it by the platform device tree. Please correct me if I'm
wrong.
For pm8009 the data from the datasheet matches the regulators defined
in the source file. Unfortunately I don't have kodiak specs at hand.


-- 
With best wishes
Dmitry

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

* Re: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
  2021-02-26 10:27       ` Dmitry Baryshkov
@ 2021-03-01 10:37         ` skakit
  2021-03-02 14:21           ` Dmitry Baryshkov
  0 siblings, 1 reply; 26+ messages in thread
From: skakit @ 2021-03-01 10:37 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	Rob Herring, Rajendra Nayak,
	open list:DRM DRIVER FOR MSM ADRENO GPU, open list,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	kgunda

On 2021-02-26 15:57, Dmitry Baryshkov wrote:
> On Fri, 26 Feb 2021 at 09:59, <skakit@codeaurora.org> wrote:
>> 
>> Hi,
>> 
>> On 2021-02-25 16:39, Dmitry Baryshkov wrote:
>> > On 24/02/2021 11:33, satya priya wrote:
>> >> Correct the REGULATOR_LINEAR_RANGE and n_voltges for
>> >> pmic5_hfsmps515 buck.
>> >>
>> >> Signed-off-by: satya priya <skakit@codeaurora.org>
>> >> ---
>> >>   drivers/regulator/qcom-rpmh-regulator.c | 4 ++--
>> >>   1 file changed, 2 insertions(+), 2 deletions(-)
>> >>
>> >> diff --git a/drivers/regulator/qcom-rpmh-regulator.c
>> >> b/drivers/regulator/qcom-rpmh-regulator.c
>> >> index 79a554f..36542c3 100644
>> >> --- a/drivers/regulator/qcom-rpmh-regulator.c
>> >> +++ b/drivers/regulator/qcom-rpmh-regulator.c
>> >> @@ -726,8 +726,8 @@ static const struct rpmh_vreg_hw_data
>> >> pmic5_ftsmps510 = {
>> >>   static const struct rpmh_vreg_hw_data pmic5_hfsmps515 = {
>> >>      .regulator_type = VRM,
>> >>      .ops = &rpmh_regulator_vrm_ops,
>> >> -    .voltage_range = REGULATOR_LINEAR_RANGE(2800000, 0, 4, 16000),
>> >> -    .n_voltages = 5,
>> >> +    .voltage_range = REGULATOR_LINEAR_RANGE(320000, 0, 235, 16000),
>> >> +    .n_voltages = 236,
>> >
>> > I've checked the docs for pm8009, the chip which also uses hfsmps515
>> > regulators. The pdf clearly states that the 'Output voltage operating
>> > range' is from 2.8 V to 2.85 V.
>> >
>> > So we'd probably need to define different versions of HFS515 regulator
>> > data (like I had to create for pm8009-1).
>> >
>> >
>> 
>> The min-max voltages for S1C (PM8350c) regulator are 2190000-2210000uV
>> for sc7280(kodiak), so we had to modify this buck to support this
>> regulator.
>> 
>> AFAIK, this struct defines the HW constraints of a regulator, but the
>> platform specific min-max values can be controlled from DT files. So,
>> can't we modify it like above instead of adding a new definition? the
>> new min_uV value (32000) is anyway not exceeding the old value 
>> (2800000)
>> right? please correct me if wrong.
> 
> As far as I understand for other regulators we put 'output voltage
> limitations' from the docs into the regulator definition and further
> constrain it by the platform device tree. Please correct me if I'm
> wrong.

I see that for most of the regulators, these specifications are specific 
to regulator buck (like HFS515) but not chipset specific, we set the 
chipset specific(like pm8009/pm8350c) requirements from DT files.

For example:
pmic5_nldo regulator spec mentions LLIMIT= 0.32V and ULIMIT =1.304V with 
step 8mV

.voltage_range = REGULATOR_LINEAR_RANGE(320000, 0, 123, 8000),
max output voltage supported by this regulator is 123*8000 + 320000 = 
1304000mV which is same as mentioned in the regulator spec.

> For pm8009 the data from the datasheet matches the regulators defined
> in the source file. Unfortunately I don't have kodiak specs at hand.

 From the HFS515 spec I got below info
"HFS510 and lower max output voltage is limited to 2.04V max, and 
Yoda(pm8009) requirement was 2.4V for IOT PA and 2.85V for camera 
application.  Hence, HFS515 added a new register and corresponding HW 
changes to support the higher voltage.  Table 5‑24 shows the new 
FB_RANGE bit.  When configured to 0 the buck works as earlier where Vout 
max = 2.04V in 8mV steps, but when configured to 1 the buck range 
doubles and can now support a Vout max = 4.08V in 16mV steps."

As per above, the max output voltage supported by HFS515 buck is 4.08V 
(which is kodiak pm8350c pmic's requirement).
So, we have modified the buck data to support pm8350c(palani) along with 
pm8009(yoda).

Thanks,
Satya Priya

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

* Re: [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format
  2021-02-24  8:33 ` [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format satya priya
  2021-02-24 15:57   ` Mark Brown
@ 2021-03-01 14:44   ` Rob Herring
  2021-03-03 14:54     ` skakit
  2021-03-01 19:18   ` Rob Herring
  2 siblings, 1 reply; 26+ messages in thread
From: Rob Herring @ 2021-03-01 14:44 UTC (permalink / raw)
  To: satya priya
  Cc: linux-arm-msm, Rob Herring, Mark Brown, linux-kernel,
	Bjorn Andersson, Andy Gross, Liam Girdwood, kgunda, rnayak,
	devicetree

On Wed, 24 Feb 2021 14:03:06 +0530, satya priya wrote:
> Convert regulator bindings from .txt to .yaml format.
> 
> Signed-off-by: satya priya <skakit@codeaurora.org>
> ---
>  .../bindings/regulator/qcom,rpmh-regulator.txt     | 180 ---------------------
>  .../bindings/regulator/qcom,rpmh-regulator.yaml    | 147 +++++++++++++++++
>  2 files changed, 147 insertions(+), 180 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
>  create mode 100644 Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
> 

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

yamllint warnings/errors:
./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:13:5: [warning] wrong indentation: expected 2 but found 4 (indentation)
./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:48:5: [warning] wrong indentation: expected 2 but found 4 (indentation)
./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:49:9: [warning] wrong indentation: expected 6 but found 8 (indentation)
./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:50:13: [warning] wrong indentation: expected 10 but found 12 (indentation)
./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:64:9: [warning] wrong indentation: expected 6 but found 8 (indentation)
./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:69:9: [warning] wrong indentation: expected 6 but found 8 (indentation)
./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:83:6: [warning] wrong indentation: expected 6 but found 5 (indentation)
./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:89:6: [warning] wrong indentation: expected 6 but found 5 (indentation)
./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:95:2: [warning] wrong indentation: expected 2 but found 1 (indentation)

dtschema/dtc warnings/errors:

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

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.


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

* Re: [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format
  2021-02-24  8:33 ` [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format satya priya
  2021-02-24 15:57   ` Mark Brown
  2021-03-01 14:44   ` Rob Herring
@ 2021-03-01 19:18   ` Rob Herring
  2021-03-03 14:53     ` skakit
  2 siblings, 1 reply; 26+ messages in thread
From: Rob Herring @ 2021-03-01 19:18 UTC (permalink / raw)
  To: satya priya
  Cc: Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	Rajendra Nayak, linux-arm-msm, linux-kernel, devicetree,
	Kiran Gunda

On Wed, Feb 24, 2021 at 2:34 AM satya priya <skakit@codeaurora.org> wrote:
>
> Convert regulator bindings from .txt to .yaml format.
>
> Signed-off-by: satya priya <skakit@codeaurora.org>
> ---
>  .../bindings/regulator/qcom,rpmh-regulator.txt     | 180 ---------------------
>  .../bindings/regulator/qcom,rpmh-regulator.yaml    | 147 +++++++++++++++++
>  2 files changed, 147 insertions(+), 180 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
>  create mode 100644 Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
>
> diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
> deleted file mode 100644
> index ce1e043..0000000
> --- a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
> +++ /dev/null
> @@ -1,180 +0,0 @@
> -Qualcomm Technologies, Inc. RPMh Regulators
> -
> -rpmh-regulator devices support PMIC regulator management via the Voltage
> -Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators.  The APPS
> -processor communicates with these hardware blocks via a Resource State
> -Coordinator (RSC) using command packets.  The VRM allows changing three
> -parameters for a given regulator: enable state, output voltage, and operating
> -mode.  The XOB allows changing only a single parameter for a given regulator:
> -its enable state.  Despite its name, the XOB is capable of controlling the
> -enable state of any PMIC peripheral.  It is used for clock buffers, low-voltage
> -switches, and LDO/SMPS regulators which have a fixed voltage and mode.
> -
> -=======================
> -Required Node Structure
> -=======================
> -
> -RPMh regulators must be described in two levels of device nodes.  The first
> -level describes the PMIC containing the regulators and must reside within an
> -RPMh device node.  The second level describes each regulator within the PMIC
> -which is to be used on the board.  Each of these regulators maps to a single
> -RPMh resource.
> -
> -The names used for regulator nodes must match those supported by a given PMIC.
> -Supported regulator node names:
> -       PM8005:         smps1 - smps4
> -       PM8009:         smps1 - smps2, ldo1 - ldo7
> -       PM8150:         smps1 - smps10, ldo1 - ldo18
> -       PM8150L:        smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
> -       PM8350:         smps1 - smps12, ldo1 - ldo10,
> -       PM8350C:        smps1 - smps10, ldo1 - ldo13, bob
> -       PM8998:         smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
> -       PMI8998:        bob
> -       PM6150:         smps1 - smps5, ldo1 - ldo19
> -       PM6150L:        smps1 - smps8, ldo1 - ldo11, bob
> -       PMX55:          smps1 - smps7, ldo1 - ldo16
> -
> -========================
> -First Level Nodes - PMIC
> -========================
> -
> -- compatible
> -       Usage:      required
> -       Value type: <string>
> -       Definition: Must be one of below:
> -                   "qcom,pm8005-rpmh-regulators"
> -                   "qcom,pm8009-rpmh-regulators"
> -                   "qcom,pm8009-1-rpmh-regulators"
> -                   "qcom,pm8150-rpmh-regulators"
> -                   "qcom,pm8150l-rpmh-regulators"
> -                   "qcom,pm8350-rpmh-regulators"
> -                   "qcom,pm8350c-rpmh-regulators"
> -                   "qcom,pm8998-rpmh-regulators"
> -                   "qcom,pmc8180-rpmh-regulators"
> -                   "qcom,pmc8180c-rpmh-regulators"
> -                   "qcom,pmi8998-rpmh-regulators"
> -                   "qcom,pm6150-rpmh-regulators"
> -                   "qcom,pm6150l-rpmh-regulators"
> -                   "qcom,pmx55-rpmh-regulators"
> -
> -- qcom,pmic-id
> -       Usage:      required
> -       Value type: <string>
> -       Definition: RPMh resource name suffix used for the regulators found on
> -                   this PMIC.  Typical values: "a", "b", "c", "d", "e", "f".
> -
> -- vdd-s1-supply
> -- vdd-s2-supply
> -- vdd-s3-supply
> -- vdd-s4-supply
> -       Usage:      optional (PM8998 and PM8005 only)
> -       Value type: <phandle>
> -       Definition: phandle of the parent supply regulator of one or more of the
> -                   regulators for this PMIC.
> -
> -- vdd-s5-supply
> -- vdd-s6-supply
> -- vdd-s7-supply
> -- vdd-s8-supply
> -- vdd-s9-supply
> -- vdd-s10-supply
> -- vdd-s11-supply
> -- vdd-s12-supply
> -- vdd-s13-supply
> -- vdd-l1-l27-supply
> -- vdd-l2-l8-l17-supply
> -- vdd-l3-l11-supply
> -- vdd-l4-l5-supply
> -- vdd-l6-supply
> -- vdd-l7-l12-l14-l15-supply
> -- vdd-l9-supply
> -- vdd-l10-l23-l25-supply
> -- vdd-l13-l19-l21-supply
> -- vdd-l16-l28-supply
> -- vdd-l18-l22-supply
> -- vdd-l20-l24-supply
> -- vdd-l26-supply
> -- vin-lvs-1-2-supply
> -       Usage:      optional (PM8998 only)
> -       Value type: <phandle>
> -       Definition: phandle of the parent supply regulator of one or more of the
> -                   regulators for this PMIC.
> -
> -- vdd-bob-supply
> -       Usage:      optional (PMI8998 only)
> -       Value type: <phandle>
> -       Definition: BOB regulator parent supply phandle
> -
> -===============================
> -Second Level Nodes - Regulators
> -===============================
> -
> -- qcom,always-wait-for-ack
> -       Usage:      optional
> -       Value type: <empty>
> -       Definition: Boolean flag which indicates that the application processor
> -                   must wait for an ACK or a NACK from RPMh for every request
> -                   sent for this regulator including those which are for a
> -                   strictly lower power state.
> -
> -Other properties defined in Documentation/devicetree/bindings/regulator/regulator.txt
> -may also be used.  regulator-initial-mode and regulator-allowed-modes may be
> -specified for VRM regulators using mode values from
> -include/dt-bindings/regulator/qcom,rpmh-regulator.h.  regulator-allow-bypass
> -may be specified for BOB type regulators managed via VRM.
> -regulator-allow-set-load may be specified for LDO type regulators managed via
> -VRM.
> -
> -========
> -Examples
> -========
> -
> -#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> -
> -&apps_rsc {
> -       pm8998-rpmh-regulators {
> -               compatible = "qcom,pm8998-rpmh-regulators";
> -               qcom,pmic-id = "a";
> -
> -               vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
> -
> -               smps2 {
> -                       regulator-min-microvolt = <1100000>;
> -                       regulator-max-microvolt = <1100000>;
> -               };
> -
> -               pm8998_s5: smps5 {
> -                       regulator-min-microvolt = <1904000>;
> -                       regulator-max-microvolt = <2040000>;
> -               };
> -
> -               ldo7 {
> -                       regulator-min-microvolt = <1800000>;
> -                       regulator-max-microvolt = <1800000>;
> -                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> -                       regulator-allowed-modes =
> -                               <RPMH_REGULATOR_MODE_LPM
> -                                RPMH_REGULATOR_MODE_HPM>;
> -                       regulator-allow-set-load;
> -               };
> -
> -               lvs1 {
> -                       regulator-min-microvolt = <1800000>;
> -                       regulator-max-microvolt = <1800000>;
> -               };
> -       };
> -
> -       pmi8998-rpmh-regulators {
> -               compatible = "qcom,pmi8998-rpmh-regulators";
> -               qcom,pmic-id = "b";
> -
> -               bob {
> -                       regulator-min-microvolt = <3312000>;
> -                       regulator-max-microvolt = <3600000>;
> -                       regulator-allowed-modes =
> -                               <RPMH_REGULATOR_MODE_AUTO
> -                                RPMH_REGULATOR_MODE_HPM>;
> -                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
> -               };
> -       };
> -};
> diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
> new file mode 100644
> index 0000000..c14baf8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
> @@ -0,0 +1,147 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm Technologies, Inc. RPMh Regulators
> +
> +maintainers:
> +  - David Collins <collinsd@codeaurora.org>
> +
> +description:

I assume you want the formatting here maintained, so you need a '|' at the end.

> +    rpmh-regulator devices support PMIC regulator management via the Voltage
> +    Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators.  The APPS
> +    processor communicates with these hardware blocks via a Resource State
> +    Coordinator (RSC) using command packets.  The VRM allows changing three
> +    parameters for a given regulator, enable state, output voltage, and operating
> +    mode.  The XOB allows changing only a single parameter for a given regulator,
> +    its enable state.  Despite its name, the XOB is capable of controlling the
> +    enable state of any PMIC peripheral.  It is used for clock buffers, low-voltage
> +    switches, and LDO/SMPS regulators which have a fixed voltage and mode.
> +
> +    =======================
> +    Required Node Structure
> +    =======================
> +
> +    RPMh regulators must be described in two levels of device nodes.  The first
> +    level describes the PMIC containing the regulators and must reside within an
> +    RPMh device node.  The second level describes each regulator within the PMIC
> +    which is to be used on the board.  Each of these regulators maps to a single
> +    RPMh resource.
> +
> +    The names used for regulator nodes must match those supported by a given PMIC.
> +    Supported regulator node names are
> +      For PM8005, smps1 - smps4
> +      For PM8009, smps1 - smps2, ldo1 - ldo7
> +      For PM8150, smps1 - smps10, ldo1 - ldo18
> +      For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb

flash and rgb aren't documented.

> +      For PM8350, smps1 - smps12, ldo1 - ldo10
> +      For PM8350C, smps1 - smps10, ldo1 - ldo13, bob
> +      For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
> +      For PMI8998, bob
> +      For PM6150, smps1 - smps5, ldo1 - ldo19
> +      For PM6150L, smps1 - smps8, ldo1 - ldo11, bob
> +      For PMX55, smps1 - smps7, ldo1 - ldo16
> +
> +properties:
> +    compatible:
> +        enum:
> +            - qcom,pm8005-rpmh-regulators
> +            - qcom,pm8009-rpmh-regulators
> +            - qcom,pm8009-1-rpmh-regulators
> +            - qcom,pm8150-rpmh-regulators
> +            - qcom,pm8150l-rpmh-regulators
> +            - qcom,pm8350-rpmh-regulators
> +            - qcom,pm8350c-rpmh-regulators
> +            - qcom,pm8998-rpmh-regulators
> +            - qcom,pmi8998-rpmh-regulators
> +            - qcom,pm6150-rpmh-regulators
> +            - qcom,pm6150l-rpmh-regulators
> +            - qcom,pmx55-rpmh-regulators
> +
> +    qcom,pmic-id:
> +        description: RPMh resource name suffix used for the regulators found on
> +                     this PMIC.  Typical values are "a", "b", "c", "d", "e", "f".

Sounds like constraints. Make the values a schema.

> +        $ref: /schemas/types.yaml#/definitions/string
> +
> +    qcom,always-wait-for-ack:
> +        description: Boolean flag which indicates that the application processor
> +                     must wait for an ACK or a NACK from RPMh for every request
> +                     sent for this regulator including those which are for a
> +                     strictly lower power state.
> +        $ref: /schemas/types.yaml#/definitions/string

Boolean or string?

> +
> +patternProperties:
> +  ".*-supply$":

You can drop '.*'. That's already the case without '^'.

The supply names need to be defined.

> +    description: phandle of the parent supply regulator of one or more of the
> +                 regulators for this PMIC.
> +
> +  "^((smps|ldo|lvs)[0-9]*)$":

s/*/+/ as 1 digit is always required, right?

> +    type: object
> +    allOf:

Don't need allOf.

> +     - $ref: "regulator.yaml#"
> +    description: List of regulator parent supply phandles

This is a node, not a list of phandles.

> +
> +  "bob$":

'foobob' is okay as that would be allowed? If a fixed string, put
under 'properties'.

> +    type: object
> +    allOf:
> +     - $ref: "regulator.yaml#"
> +    description: BOB regulator parent supply phandle
> +
> +additionalProperties: false
> +
> +required:
> + - compatible
> + - qcom,pmic-id
> +
> +examples:
> +  - |
> +    #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> +
> +    pm8998-rpmh-regulators {
> +        compatible = "qcom,pm8998-rpmh-regulators";
> +        qcom,pmic-id = "a";
> +
> +        vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
> +
> +        smps2 {
> +            regulator-min-microvolt = <1100000>;
> +            regulator-max-microvolt = <1100000>;
> +        };
> +
> +        pm8998_s5: smps5 {

Drop unused labels.

> +            regulator-min-microvolt = <1904000>;
> +            regulator-max-microvolt = <2040000>;
> +        };
> +
> +        ldo7 {
> +            regulator-min-microvolt = <1800000>;
> +            regulator-max-microvolt = <1800000>;
> +            regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +            regulator-allowed-modes =
> +                <RPMH_REGULATOR_MODE_LPM
> +                 RPMH_REGULATOR_MODE_HPM>;
> +            regulator-allow-set-load;
> +        };
> +
> +        lvs1 {
> +            regulator-min-microvolt = <1800000>;
> +            regulator-max-microvolt = <1800000>;
> +        };
> +    };
> +
> +    pmi8998-rpmh-regulators {
> +        compatible = "qcom,pmi8998-rpmh-regulators";
> +        qcom,pmic-id = "b";
> +
> +        bob {
> +            regulator-min-microvolt = <3312000>;
> +            regulator-max-microvolt = <3600000>;
> +            regulator-allowed-modes =
> +                <RPMH_REGULATOR_MODE_AUTO
> +                 RPMH_REGULATOR_MODE_HPM>;
> +            regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
> +        };
> +    };
> +...
> --
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
> of Code Aurora Forum, hosted by The Linux Foundation
>

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

* Re: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
  2021-03-01 10:37         ` skakit
@ 2021-03-02 14:21           ` Dmitry Baryshkov
  2021-03-11  4:15             ` skakit
  0 siblings, 1 reply; 26+ messages in thread
From: Dmitry Baryshkov @ 2021-03-02 14:21 UTC (permalink / raw)
  To: satya priya
  Cc: Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	Rob Herring, Rajendra Nayak,
	open list:DRM DRIVER FOR MSM ADRENO GPU, open list,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	kgunda

Hello,

On Mon, 1 Mar 2021 at 13:37, <skakit@codeaurora.org> wrote:
>
> On 2021-02-26 15:57, Dmitry Baryshkov wrote:
> > On Fri, 26 Feb 2021 at 09:59, <skakit@codeaurora.org> wrote:
> >>
> >> Hi,
> >>
> >> On 2021-02-25 16:39, Dmitry Baryshkov wrote:
> >> > On 24/02/2021 11:33, satya priya wrote:
> >> >> Correct the REGULATOR_LINEAR_RANGE and n_voltges for
> >> >> pmic5_hfsmps515 buck.
> >> >>
> >> >> Signed-off-by: satya priya <skakit@codeaurora.org>
> >> >> ---
> >> >>   drivers/regulator/qcom-rpmh-regulator.c | 4 ++--
> >> >>   1 file changed, 2 insertions(+), 2 deletions(-)
> >> >>
> >> >> diff --git a/drivers/regulator/qcom-rpmh-regulator.c
> >> >> b/drivers/regulator/qcom-rpmh-regulator.c
> >> >> index 79a554f..36542c3 100644
> >> >> --- a/drivers/regulator/qcom-rpmh-regulator.c
> >> >> +++ b/drivers/regulator/qcom-rpmh-regulator.c
> >> >> @@ -726,8 +726,8 @@ static const struct rpmh_vreg_hw_data
> >> >> pmic5_ftsmps510 = {
> >> >>   static const struct rpmh_vreg_hw_data pmic5_hfsmps515 = {
> >> >>      .regulator_type = VRM,
> >> >>      .ops = &rpmh_regulator_vrm_ops,
> >> >> -    .voltage_range = REGULATOR_LINEAR_RANGE(2800000, 0, 4, 16000),
> >> >> -    .n_voltages = 5,
> >> >> +    .voltage_range = REGULATOR_LINEAR_RANGE(320000, 0, 235, 16000),
> >> >> +    .n_voltages = 236,
> >> >
> >> > I've checked the docs for pm8009, the chip which also uses hfsmps515
> >> > regulators. The pdf clearly states that the 'Output voltage operating
> >> > range' is from 2.8 V to 2.85 V.
> >> >
> >> > So we'd probably need to define different versions of HFS515 regulator
> >> > data (like I had to create for pm8009-1).
> >> >
> >> >
> >>
> >> The min-max voltages for S1C (PM8350c) regulator are 2190000-2210000uV
> >> for sc7280(kodiak), so we had to modify this buck to support this
> >> regulator.
> >>
> >> AFAIK, this struct defines the HW constraints of a regulator, but the
> >> platform specific min-max values can be controlled from DT files. So,
> >> can't we modify it like above instead of adding a new definition? the
> >> new min_uV value (32000) is anyway not exceeding the old value
> >> (2800000)
> >> right? please correct me if wrong.
> >
> > As far as I understand for other regulators we put 'output voltage
> > limitations' from the docs into the regulator definition and further
> > constrain it by the platform device tree. Please correct me if I'm
> > wrong.
>
> I see that for most of the regulators, these specifications are specific
> to regulator buck (like HFS515) but not chipset specific, we set the
> chipset specific(like pm8009/pm8350c) requirements from DT files.
>
> For example:
> pmic5_nldo regulator spec mentions LLIMIT= 0.32V and ULIMIT =1.304V with
> step 8mV
>
> .voltage_range = REGULATOR_LINEAR_RANGE(320000, 0, 123, 8000),
> max output voltage supported by this regulator is 123*8000 + 320000 =
> 1304000mV which is same as mentioned in the regulator spec.
>
> > For pm8009 the data from the datasheet matches the regulators defined
> > in the source file. Unfortunately I don't have kodiak specs at hand.
>
>  From the HFS515 spec I got below info
> "HFS510 and lower max output voltage is limited to 2.04V max, and
> Yoda(pm8009) requirement was 2.4V for IOT PA and 2.85V for camera
> application.  Hence, HFS515 added a new register and corresponding HW
> changes to support the higher voltage.  Table 5‑24 shows the new
> FB_RANGE bit.  When configured to 0 the buck works as earlier where Vout
> max = 2.04V in 8mV steps, but when configured to 1 the buck range
> doubles and can now support a Vout max = 4.08V in 16mV steps."
>
> As per above, the max output voltage supported by HFS515 buck is 4.08V
> (which is kodiak pm8350c pmic's requirement).
> So, we have modified the buck data to support pm8350c(palani) along with
> pm8009(yoda).

I'd still prefer to have two different regulator types (as we did for
pm8009 P=0 and P=1 variants). However it's probably up to the
maintainers to decide.


-- 
With best wishes
Dmitry

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

* Re: [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format
  2021-03-01 19:18   ` Rob Herring
@ 2021-03-03 14:53     ` skakit
  0 siblings, 0 replies; 26+ messages in thread
From: skakit @ 2021-03-03 14:53 UTC (permalink / raw)
  To: Rob Herring
  Cc: Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	Rajendra Nayak, linux-arm-msm, linux-kernel, devicetree,
	Kiran Gunda

Hi Rob,

Thanks for reviewing the patch!

>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: 
>> http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Qualcomm Technologies, Inc. RPMh Regulators
>> +
>> +maintainers:
>> +  - David Collins <collinsd@codeaurora.org>
>> +
>> +description:
> 
> I assume you want the formatting here maintained, so you need a '|' at 
> the end.
> 

Ok.

>> +    rpmh-regulator devices support PMIC regulator management via the 
>> Voltage
>> +    Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh 
>> accelerators.  The APPS
>> +    processor communicates with these hardware blocks via a Resource 
>> State
>> +    Coordinator (RSC) using command packets.  The VRM allows changing 
>> three
>> +    parameters for a given regulator, enable state, output voltage, 
>> and operating
>> +    mode.  The XOB allows changing only a single parameter for a 
>> given regulator,
>> +    its enable state.  Despite its name, the XOB is capable of 
>> controlling the
>> +    enable state of any PMIC peripheral.  It is used for clock 
>> buffers, low-voltage
>> +    switches, and LDO/SMPS regulators which have a fixed voltage and 
>> mode.
>> +
>> +    =======================
>> +    Required Node Structure
>> +    =======================
>> +
>> +    RPMh regulators must be described in two levels of device nodes.  
>> The first
>> +    level describes the PMIC containing the regulators and must 
>> reside within an
>> +    RPMh device node.  The second level describes each regulator 
>> within the PMIC
>> +    which is to be used on the board.  Each of these regulators maps 
>> to a single
>> +    RPMh resource.
>> +
>> +    The names used for regulator nodes must match those supported by 
>> a given PMIC.
>> +    Supported regulator node names are
>> +      For PM8005, smps1 - smps4
>> +      For PM8009, smps1 - smps2, ldo1 - ldo7
>> +      For PM8150, smps1 - smps10, ldo1 - ldo18
>> +      For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
> 
> flash and rgb aren't documented.
> 

Ok will add them.

>> +      For PM8350, smps1 - smps12, ldo1 - ldo10
>> +      For PM8350C, smps1 - smps10, ldo1 - ldo13, bob
>> +      For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
>> +      For PMI8998, bob
>> +      For PM6150, smps1 - smps5, ldo1 - ldo19
>> +      For PM6150L, smps1 - smps8, ldo1 - ldo11, bob
>> +      For PMX55, smps1 - smps7, ldo1 - ldo16
>> +
>> +properties:
>> +    compatible:
>> +        enum:
>> +            - qcom,pm8005-rpmh-regulators
>> +            - qcom,pm8009-rpmh-regulators
>> +            - qcom,pm8009-1-rpmh-regulators
>> +            - qcom,pm8150-rpmh-regulators
>> +            - qcom,pm8150l-rpmh-regulators
>> +            - qcom,pm8350-rpmh-regulators
>> +            - qcom,pm8350c-rpmh-regulators
>> +            - qcom,pm8998-rpmh-regulators
>> +            - qcom,pmi8998-rpmh-regulators
>> +            - qcom,pm6150-rpmh-regulators
>> +            - qcom,pm6150l-rpmh-regulators
>> +            - qcom,pmx55-rpmh-regulators
>> +
>> +    qcom,pmic-id:
>> +        description: RPMh resource name suffix used for the 
>> regulators found on
>> +                     this PMIC.  Typical values are "a", "b", "c", 
>> "d", "e", "f".
> 
> Sounds like constraints. Make the values a schema.
> 

Ok

>> +        $ref: /schemas/types.yaml#/definitions/string
>> +
>> +    qcom,always-wait-for-ack:
>> +        description: Boolean flag which indicates that the 
>> application processor
>> +                     must wait for an ACK or a NACK from RPMh for 
>> every request
>> +                     sent for this regulator including those which 
>> are for a
>> +                     strictly lower power state.
>> +        $ref: /schemas/types.yaml#/definitions/string
> 
> Boolean or string?
> 

Ok, will change it to /schemas/types.yaml#/definitions/flag

>> +
>> +patternProperties:
>> +  ".*-supply$":
> 
> You can drop '.*'. That's already the case without '^'.
> 

Ok.

> The supply names need to be defined.
> 

you mean I should define like this "^vdd-s|l([0-9]+)-supply$": ?

>> +    description: phandle of the parent supply regulator of one or 
>> more of the
>> +                 regulators for this PMIC.
>> +
>> +  "^((smps|ldo|lvs)[0-9]*)$":
> 
> s/*/+/ as 1 digit is always required, right?
> 

ok

>> +    type: object
>> +    allOf:
> 
> Don't need allOf.
> 

ok, will drop this.

>> +     - $ref: "regulator.yaml#"
>> +    description: List of regulator parent supply phandles
> 
> This is a node, not a list of phandles.
> 

Okay.

>> +
>> +  "bob$":
> 
> 'foobob' is okay as that would be allowed? If a fixed string, put
> under 'properties'.
> 

It is fixed string, will move it to properties.

>> +    type: object
>> +    allOf:
>> +     - $ref: "regulator.yaml#"
>> +    description: BOB regulator parent supply phandle
>> +
>> +additionalProperties: false
>> +
>> +required:
>> + - compatible
>> + - qcom,pmic-id
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
>> +
>> +    pm8998-rpmh-regulators {
>> +        compatible = "qcom,pm8998-rpmh-regulators";
>> +        qcom,pmic-id = "a";
>> +
>> +        vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
>> +
>> +        smps2 {
>> +            regulator-min-microvolt = <1100000>;
>> +            regulator-max-microvolt = <1100000>;
>> +        };
>> +
>> +        pm8998_s5: smps5 {
> 
> Drop unused labels.
> 

Okay.

>> +            regulator-min-microvolt = <1904000>;
>> +            regulator-max-microvolt = <2040000>;
>> +        };
>> +
>> +        ldo7 {
>> +            regulator-min-microvolt = <1800000>;
>> +            regulator-max-microvolt = <1800000>;
>> +            regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>> +            regulator-allowed-modes =
>> +                <RPMH_REGULATOR_MODE_LPM
>> +                 RPMH_REGULATOR_MODE_HPM>;
>> +            regulator-allow-set-load;
>> +        };
>> +
>> +        lvs1 {
>> +            regulator-min-microvolt = <1800000>;
>> +            regulator-max-microvolt = <1800000>;
>> +        };
>> +    };
>> +
>> +    pmi8998-rpmh-regulators {
>> +        compatible = "qcom,pmi8998-rpmh-regulators";
>> +        qcom,pmic-id = "b";
>> +
>> +        bob {
>> +            regulator-min-microvolt = <3312000>;
>> +            regulator-max-microvolt = <3600000>;
>> +            regulator-allowed-modes =
>> +                <RPMH_REGULATOR_MODE_AUTO
>> +                 RPMH_REGULATOR_MODE_HPM>;
>> +            regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
>> +        };
>> +    };
>> +...
>> --
>> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a 
>> member
>> of Code Aurora Forum, hosted by The Linux Foundation
>> 

Thanks,
Satya Priya

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

* Re: [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format
  2021-03-01 14:44   ` Rob Herring
@ 2021-03-03 14:54     ` skakit
  0 siblings, 0 replies; 26+ messages in thread
From: skakit @ 2021-03-03 14:54 UTC (permalink / raw)
  To: Rob Herring
  Cc: linux-arm-msm, Rob Herring, Mark Brown, linux-kernel,
	Bjorn Andersson, Andy Gross, Liam Girdwood, kgunda, rnayak,
	devicetree

On 2021-03-01 20:14, Rob Herring wrote:
> On Wed, 24 Feb 2021 14:03:06 +0530, satya priya wrote:
>> Convert regulator bindings from .txt to .yaml format.
>> 
>> Signed-off-by: satya priya <skakit@codeaurora.org>
>> ---
>>  .../bindings/regulator/qcom,rpmh-regulator.txt     | 180 
>> ---------------------
>>  .../bindings/regulator/qcom,rpmh-regulator.yaml    | 147 
>> +++++++++++++++++
>>  2 files changed, 147 insertions(+), 180 deletions(-)
>>  delete mode 100644 
>> Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
>>  create mode 100644 
>> Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
>> 
> 
> My bot found errors running 'make dt_binding_check' on your patch:
> 
> yamllint warnings/errors:
> ./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:13:5:
> [warning] wrong indentation: expected 2 but found 4 (indentation)
> ./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:48:5:
> [warning] wrong indentation: expected 2 but found 4 (indentation)
> ./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:49:9:
> [warning] wrong indentation: expected 6 but found 8 (indentation)
> ./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:50:13:
> [warning] wrong indentation: expected 10 but found 12 (indentation)
> ./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:64:9:
> [warning] wrong indentation: expected 6 but found 8 (indentation)
> ./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:69:9:
> [warning] wrong indentation: expected 6 but found 8 (indentation)
> ./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:83:6:
> [warning] wrong indentation: expected 6 but found 5 (indentation)
> ./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:89:6:
> [warning] wrong indentation: expected 6 but found 5 (indentation)
> ./Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml:95:2:
> [warning] wrong indentation: expected 2 but found 1 (indentation)
> 
> dtschema/dtc warnings/errors:
> 
> See https://patchwork.ozlabs.org/patch/1443748
> 
> 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.

I've updated dt-schema, and also installed yamllint but I am not seeing 
these errors, could you please let me know if I am missing anything 
here.

Thanks,
Satya Priya

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

* Re: [PATCH 2/7] dt-bindings: regulator: Add compatibles for PM7325/PMR735A
  2021-02-24  8:33 ` [PATCH 2/7] dt-bindings: regulator: Add compatibles for PM7325/PMR735A satya priya
@ 2021-03-06 20:16   ` Rob Herring
  0 siblings, 0 replies; 26+ messages in thread
From: Rob Herring @ 2021-03-06 20:16 UTC (permalink / raw)
  To: satya priya
  Cc: Liam Girdwood, Mark Brown, devicetree, Bjorn Andersson,
	Rob Herring, Andy Gross, rnayak, kgunda, linux-arm-msm,
	linux-kernel

On Wed, 24 Feb 2021 14:03:07 +0530, satya priya wrote:
> Add PM7325/PMR735A compatibles for Qualcomm SC7280 platform.
> 
> Signed-off-by: satya priya <skakit@codeaurora.org>
> ---
>  Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml | 4 ++++
>  1 file changed, 4 insertions(+)
> 

Acked-by: Rob Herring <robh@kernel.org>

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

* Re: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
  2021-03-02 14:21           ` Dmitry Baryshkov
@ 2021-03-11  4:15             ` skakit
  2021-03-11 18:32               ` Mark Brown
  0 siblings, 1 reply; 26+ messages in thread
From: skakit @ 2021-03-11  4:15 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andy Gross, Bjorn Andersson, Liam Girdwood, Mark Brown,
	Rob Herring, Rajendra Nayak,
	open list:DRM DRIVER FOR MSM ADRENO GPU, open list,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	kgunda

On 2021-03-02 19:51, Dmitry Baryshkov wrote:
> Hello,
> 
> On Mon, 1 Mar 2021 at 13:37, <skakit@codeaurora.org> wrote:
>> 
>> On 2021-02-26 15:57, Dmitry Baryshkov wrote:
>> > On Fri, 26 Feb 2021 at 09:59, <skakit@codeaurora.org> wrote:
>> >>
>> >> Hi,
>> >>
>> >> On 2021-02-25 16:39, Dmitry Baryshkov wrote:
>> >> > On 24/02/2021 11:33, satya priya wrote:
>> >> >> Correct the REGULATOR_LINEAR_RANGE and n_voltges for
>> >> >> pmic5_hfsmps515 buck.
>> >> >>
>> >> >> Signed-off-by: satya priya <skakit@codeaurora.org>
>> >> >> ---
>> >> >>   drivers/regulator/qcom-rpmh-regulator.c | 4 ++--
>> >> >>   1 file changed, 2 insertions(+), 2 deletions(-)
>> >> >>
>> >> >> diff --git a/drivers/regulator/qcom-rpmh-regulator.c
>> >> >> b/drivers/regulator/qcom-rpmh-regulator.c
>> >> >> index 79a554f..36542c3 100644
>> >> >> --- a/drivers/regulator/qcom-rpmh-regulator.c
>> >> >> +++ b/drivers/regulator/qcom-rpmh-regulator.c
>> >> >> @@ -726,8 +726,8 @@ static const struct rpmh_vreg_hw_data
>> >> >> pmic5_ftsmps510 = {
>> >> >>   static const struct rpmh_vreg_hw_data pmic5_hfsmps515 = {
>> >> >>      .regulator_type = VRM,
>> >> >>      .ops = &rpmh_regulator_vrm_ops,
>> >> >> -    .voltage_range = REGULATOR_LINEAR_RANGE(2800000, 0, 4, 16000),
>> >> >> -    .n_voltages = 5,
>> >> >> +    .voltage_range = REGULATOR_LINEAR_RANGE(320000, 0, 235, 16000),
>> >> >> +    .n_voltages = 236,
>> >> >
>> >> > I've checked the docs for pm8009, the chip which also uses hfsmps515
>> >> > regulators. The pdf clearly states that the 'Output voltage operating
>> >> > range' is from 2.8 V to 2.85 V.
>> >> >
>> >> > So we'd probably need to define different versions of HFS515 regulator
>> >> > data (like I had to create for pm8009-1).
>> >> >
>> >> >
>> >>
>> >> The min-max voltages for S1C (PM8350c) regulator are 2190000-2210000uV
>> >> for sc7280(kodiak), so we had to modify this buck to support this
>> >> regulator.
>> >>
>> >> AFAIK, this struct defines the HW constraints of a regulator, but the
>> >> platform specific min-max values can be controlled from DT files. So,
>> >> can't we modify it like above instead of adding a new definition? the
>> >> new min_uV value (32000) is anyway not exceeding the old value
>> >> (2800000)
>> >> right? please correct me if wrong.
>> >
>> > As far as I understand for other regulators we put 'output voltage
>> > limitations' from the docs into the regulator definition and further
>> > constrain it by the platform device tree. Please correct me if I'm
>> > wrong.
>> 
>> I see that for most of the regulators, these specifications are 
>> specific
>> to regulator buck (like HFS515) but not chipset specific, we set the
>> chipset specific(like pm8009/pm8350c) requirements from DT files.
>> 
>> For example:
>> pmic5_nldo regulator spec mentions LLIMIT= 0.32V and ULIMIT =1.304V 
>> with
>> step 8mV
>> 
>> .voltage_range = REGULATOR_LINEAR_RANGE(320000, 0, 123, 8000),
>> max output voltage supported by this regulator is 123*8000 + 320000 =
>> 1304000mV which is same as mentioned in the regulator spec.
>> 
>> > For pm8009 the data from the datasheet matches the regulators defined
>> > in the source file. Unfortunately I don't have kodiak specs at hand.
>> 
>>  From the HFS515 spec I got below info
>> "HFS510 and lower max output voltage is limited to 2.04V max, and
>> Yoda(pm8009) requirement was 2.4V for IOT PA and 2.85V for camera
>> application.  Hence, HFS515 added a new register and corresponding HW
>> changes to support the higher voltage.  Table 5‑24 shows the new
>> FB_RANGE bit.  When configured to 0 the buck works as earlier where 
>> Vout
>> max = 2.04V in 8mV steps, but when configured to 1 the buck range
>> doubles and can now support a Vout max = 4.08V in 16mV steps."
>> 
>> As per above, the max output voltage supported by HFS515 buck is 4.08V
>> (which is kodiak pm8350c pmic's requirement).
>> So, we have modified the buck data to support pm8350c(palani) along 
>> with
>> pm8009(yoda).
> 
> I'd still prefer to have two different regulator types (as we did for
> pm8009 P=0 and P=1 variants). However it's probably up to the
> maintainers to decide.

As Mark already picked this, I think we can leave it this way.

Thanks,
Satya Priya

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

* Re: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
  2021-03-11  4:15             ` skakit
@ 2021-03-11 18:32               ` Mark Brown
  0 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2021-03-11 18:32 UTC (permalink / raw)
  To: skakit
  Cc: Dmitry Baryshkov, Andy Gross, Bjorn Andersson, Liam Girdwood,
	Rob Herring, Rajendra Nayak,
	open list:DRM DRIVER FOR MSM ADRENO GPU, open list,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	kgunda

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

On Thu, Mar 11, 2021 at 09:45:41AM +0530, skakit@codeaurora.org wrote:
> On 2021-03-02 19:51, Dmitry Baryshkov wrote:

> > I'd still prefer to have two different regulator types (as we did for
> > pm8009 P=0 and P=1 variants). However it's probably up to the
> > maintainers to decide.

> As Mark already picked this, I think we can leave it this way.

As far as I can tell this is a system configuration issue, the board
constraints will ensure that we don't try to set a voltage that the
system can't support so there should be no need for this to be handled
as separate variants.  That assumes that this P register field just
extends the values available, it doesn't have to be tied to some board
setup or anything.  If it is a board configuration thing it probably
makes more sense to add a boolean property for it, ideally something
tied to whatever the board configuration is so that it's easier for
people to discover.

I had understood the pm8009 case as being two different parts with the
same name rather than two different options for the same part.

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

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

end of thread, other threads:[~2021-03-11 18:36 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-24  8:33 [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support satya priya
2021-02-24  8:33 ` [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format satya priya
2021-02-24 15:57   ` Mark Brown
2021-03-01 14:44   ` Rob Herring
2021-03-03 14:54     ` skakit
2021-03-01 19:18   ` Rob Herring
2021-03-03 14:53     ` skakit
2021-02-24  8:33 ` [PATCH 2/7] dt-bindings: regulator: Add compatibles for PM7325/PMR735A satya priya
2021-03-06 20:16   ` Rob Herring
2021-02-24  8:33 ` [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck satya priya
2021-02-25 11:09   ` Dmitry Baryshkov
2021-02-26  6:59     ` skakit
2021-02-26 10:27       ` Dmitry Baryshkov
2021-03-01 10:37         ` skakit
2021-03-02 14:21           ` Dmitry Baryshkov
2021-03-11  4:15             ` skakit
2021-03-11 18:32               ` Mark Brown
2021-02-24  8:33 ` [PATCH 4/7] regulator: qcom-rpmh: Add pmic5_ftsmps520 buck satya priya
2021-02-24  8:33 ` [PATCH 5/7] regulator: qcom-rpmh: Add PM7325/PMR735A regulator support satya priya
2021-02-24  8:33 ` [PATCH 6/7] regulator: qcom-rpmh: Use correct buck for S1C regulator satya priya
2021-02-24 16:31   ` Mark Brown
2021-02-26  4:05     ` skakit
2021-02-24  8:33 ` [PATCH 7/7] arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp satya priya
2021-02-24 19:17   ` Konrad Dybcio
2021-02-26  4:02     ` skakit
2021-02-24 16:58 ` (subset) [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.