Add PM7325/PM8350C/PMR735A regulator support
Subsystems (5)
cover Add PM7325/PM8350C/PMR735A regulator support
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
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
PATCH 1/7 dt-bindings: regulator: Convert regulator bindings to YAML format
Convert regulator bindings from .txt to .yaml format.
--- .../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
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt deleted +0 -180
@@ -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>; - }; - }; -};
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +147 -0
147 lines not on this page · raw message
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Mark Brown
maintainerRe: [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format
Quoted 1 line · satya priya
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.
Rob Herring
maintainerRe: [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format
In reply to satya priyaQuoted 10 lines · satya priya
Convert regulator bindings from .txt to .yaml format.
Signed-off-by satya priya <[email protected]>--- .../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.
Re: [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format
Quoted 45 lines · Rob Herring
Quoted 12 lines · satya priya
Convert regulator bindings from .txt to .yaml format.
Signed-off-by satya priya <[email protected]>--- .../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 100644Quoted 2 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yamlMy 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.
Quoted 7 lines
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
Re: [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format
In reply to satya priyaQuoted 205 lines · satya priya
Convert regulator bindings from .txt to .yaml format.
Signed-off-by satya priya <[email protected]>--- .../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.yamlDocumentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt deleted +0
-180@@ -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>; - }; - }; -};Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +2
-0@@ -0,0 +1,147 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 12
Quoted 10 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +10
-0+--- +$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 <[email protected]> + +description:
I assume you want the formatting here maintained, so you need a '|' at the end.
Quoted 16 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +16
-0+ 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
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 38
Quoted 10 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +10
-0+ 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.
Quoted 17 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +17
-0+ 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
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 65
Quoted 10 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +10
-0+ - 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.
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 73
Quoted 8 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +8
-0+ $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?
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 76
Quoted 3 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +3
-0+ +patternProperties: + ".*-supply$":
You can drop '.*'. That's already the case without '^'.
The supply names need to be defined.
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 80
Quoted 4 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +4
-0+ 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?
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 82
Quoted 2 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +2
-0+ type: object + allOf:
Don't need allOf.
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 84
Quoted 2 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +2
-0+ - $ref: "regulator.yaml#" + description: List of regulator parent supply phandles
This is a node, not a list of phandles.
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 86
Quoted 2 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +2
-0+ + "bob$":
'foobob' is okay as that would be allowed? If a fixed string, put under 'properties'.
Quoted 17 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +17
-0+ 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";
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 113
Quoted 10 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +10
-0+ 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.
Quoted 38 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +34
-1+ 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
Re: [PATCH 1/7] dt-bindings: regulator: Convert regulator bindings to YAML format
Hi Rob,
Thanks for reviewing the patch!
Quoted 7 lines
Quoted 7 lines
+# 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#
+
Quoted 9 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 12
Quoted 6 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +6
-0+title: Qualcomm Technologies, Inc. RPMh Regulators + +maintainers: + - David Collins <[email protected]> + +description:I assume you want the formatting here maintained, so you need a '|' at the end.
Ok.
Quoted 34 lines
Quoted 34 lines
+ 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.Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +6
-0+ + ======================= + 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 singleDocumentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +3
-0+ RPMh resource. + + The names used for regulator nodes must match those supported by
Quoted 9 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 38
Quoted 6 lines
a given PMIC.
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +5
-0+ 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, rgbflash and rgb aren't documented.
Ok will add them.
Quoted 23 lines
Quoted 23 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +23
-0+ 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
Quoted 9 lines
Quoted 6 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +3
-0+ + qcom,pmic-id: + description: RPMh resource name suffix used for theregulators found on
+ this PMIC. Typical values are "a", "b", "c",
"d", "e", "f".Sounds like constraints. Make the values a schema.
Ok
Quoted 12 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 73
Quoted 11 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +4
-0+ $ref: /schemas/types.yaml#/definitions/string + + qcom,always-wait-for-ack: + description: Boolean flag which indicates that theapplication processor
+ must wait for an ACK or a NACK from RPMh for
every request
+ sent for this regulator including those which
are for aDocumentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +2
-0+ strictly lower power state. + $ref: /schemas/types.yaml#/definitions/string
Quoted 2 lines
Boolean or string?
Ok, will change it to /schemas/types.yaml#/definitions/flag
Quoted 6 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 76
Quoted 3 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +3
-0+ +patternProperties: + ".*-supply$":You can drop '.*'. That's already the case without '^'.
Ok.
Quoted 2 lines
The supply names need to be defined.
you mean I should define like this "^vdd-s|l([0-9]+)-supply$": ?
Quoted 8 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 80
Quoted 5 lines
+ description: phandle of the parent supply regulator of one or
more of theDocumentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +3
-0+ regulators for this PMIC. + + "^((smps|ldo|lvs)[0-9]*)$":s/*/+/ as 1 digit is always required, right?
ok
Quoted 5 lines
Review
Quoted 2 lines
(quoted diff) +2
-0+ type: object + allOf:Don't need allOf.
ok, will drop this.
Quoted 5 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 84
Quoted 2 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +2
-0+ - $ref: "regulator.yaml#" + description: List of regulator parent supply phandlesThis is a node, not a list of phandles.
Okay.
Quoted 6 lines
Review
Quoted 2 lines
(quoted diff) +2
-0+ + "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.
Quoted 21 lines
Quoted 21 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +21
-0+ 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>; +
Quoted 9 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml line 113
Quoted 6 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +6
-0+ smps2 { + regulator-min-microvolt = <1100000>; + regulator-max-microvolt = <1100000>; + }; + + pm8998_s5: smps5 {Drop unused labels.
Okay.
Quoted 30 lines
Quoted 30 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +30
-0+ 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>;
Quoted 8 lines
Quoted 8 lines
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml new file +4
-1+ 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
PATCH 2/7 dt-bindings: regulator: Add compatibles for PM7325/PMR735A
In reply to satya priyaAdd PM7325/PMR735A compatibles for Qualcomm SC7280 platform.
--- Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml | 4 ++++ 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml +4 -0
@@ -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
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH 2/7] dt-bindings: regulator: Add compatibles for PM7325/PMR735A
Quoted 7 lines · satya priya
Add PM7325/PMR735A compatibles for Qualcomm SC7280 platform.
Signed-off-by satya priya <[email protected]>--- Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml | 4 ++++ 1 file changed, 4 insertions(+)
PATCH 3/7 regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
In reply to satya priyaCorrect the REGULATOR_LINEAR_RANGE and n_voltges for pmic5_hfsmps515 buck.
--- drivers/regulator/qcom-rpmh-regulator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/regulator/qcom-rpmh-regulator.c +2 -2
@@ -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, };
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
Quoted 13 lines · satya priya
Correct the
REGULATOR_LINEAR_RANGEandn_voltgesforpmic5_hfsmps515buck.Signed-off-by satya priya <[email protected]>--- drivers/regulator/qcom-rpmh-regulator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/regulator/qcom-rpmh-regulator.c +0
-0
drivers/regulator/qcom-rpmh-regulator.c static const struct rpmh_vreg_hw_data pmic5_ftsmps510 = { · line 730
Quoted 7 lines
drivers/regulator/qcom-rpmh-regulator.c +2
-2@@ -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).
Quoted 4 lines
drivers/regulator/qcom-rpmh-regulator.c +0
-0.pmic_mode_map = pmic_mode_map_pmic5_smps, .of_map_mode = rpmh_regulator_pmic4_smps_of_map_mode, };
Signature · 2 lines
With best wishes Dmitry
Re: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
Hi,
Quoted 27 lines · Dmitry Baryshkov
Quoted 13 lines · satya priya
Correct the
REGULATOR_LINEAR_RANGEandn_voltgesforpmic5_hfsmps515buck.Signed-off-by satya priya <[email protected]>--- drivers/regulator/qcom-rpmh-regulator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/regulator/qcom-rpmh-regulator.c +0
-0drivers/regulator/qcom-rpmh-regulator.c static const struct rpmh_vreg_hw_data · line 731
Quoted 8 lines
drivers/regulator/qcom-rpmh-regulator.c +2
-2@@ -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.
Quoted 4 lines
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.
Quoted 4 lines
Quoted 4 lines
drivers/regulator/qcom-rpmh-regulator.c +0
-0.pmic_mode_map = pmic_mode_map_pmic5_smps, .of_map_mode = rpmh_regulator_pmic4_smps_of_map_mode,};
Thanks,
Satya Priya
Re: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
Quoted 41 lines · On Fri, 26 Feb 2021 at 09:59, <[email protected]> wrote:
Hi,
Quoted 28 lines · Dmitry Baryshkov
Quoted 14 lines · satya priya
Correct the
REGULATOR_LINEAR_RANGEandn_voltgesforpmic5_hfsmps515buck.Signed-off-by satya priya <[email protected]>--- drivers/regulator/qcom-rpmh-regulator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/regulator/qcom-rpmh-regulator.c +0
-0drivers/regulator/qcom-rpmh-regulator.c static const struct rpmh_vreg_hw_data · line 731
Quoted 8 lines
drivers/regulator/qcom-rpmh-regulator.c +2
-2@@ -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.
Quoted 4 lines
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.
Quoted 5 lines
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_uVvalue (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.
Signature · 2 lines
With best wishes Dmitry
Re: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
Quoted 48 lines · Dmitry Baryshkov
Quoted 41 lines · On Fri, 26 Feb 2021 at 09:59, <[email protected]> wrote:
Hi,
Quoted 28 lines · Dmitry Baryshkov
Quoted 14 lines · satya priya
Correct the
REGULATOR_LINEAR_RANGEandn_voltgesforpmic5_hfsmps515buck.Signed-off-by satya priya <[email protected]>--- drivers/regulator/qcom-rpmh-regulator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/regulator/qcom-rpmh-regulator.c +0
-0drivers/regulator/qcom-rpmh-regulator.c static const struct rpmh_vreg_hw_data · line 731
Quoted 8 lines
drivers/regulator/qcom-rpmh-regulator.c +2
-2@@ -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.
Quoted 4 lines
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.
Quoted 5 lines
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_uVvalue (32000) is anyway not exceeding the old value (2800000) right? please correct me if wrong.
Quoted 4 lines
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.
Quoted 2 lines
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
Re: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
Hello,
Quoted 80 lines · On Mon, 1 Mar 2021 at 13:37, <[email protected]> wrote:
Quoted 49 lines · Dmitry Baryshkov
Quoted 41 lines · On Fri, 26 Feb 2021 at 09:59, <[email protected]> wrote:
Hi,
Quoted 28 lines · Dmitry Baryshkov
Quoted 14 lines · satya priya
Correct the
REGULATOR_LINEAR_RANGEandn_voltgesforpmic5_hfsmps515buck.Signed-off-by satya priya <[email protected]>--- drivers/regulator/qcom-rpmh-regulator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/regulator/qcom-rpmh-regulator.c +0
-0drivers/regulator/qcom-rpmh-regulator.c static const struct rpmh_vreg_hw_data · line 731
Quoted 8 lines
drivers/regulator/qcom-rpmh-regulator.c +2
-2@@ -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.
Quoted 4 lines
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.
Quoted 6 lines
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_uVvalue (32000) is anyway not exceeding the old value (2800000)
right? please correct me if wrong.Quoted 4 lines
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_nldoregulator 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.Quoted 2 lines
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 newFB_RANGEbit. 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."
Quoted 4 lines
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.
Signature · 2 lines
With best wishes Dmitry
Re: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
Quoted 83 lines · Dmitry Baryshkov
Hello,
Quoted 80 lines · On Mon, 1 Mar 2021 at 13:37, <[email protected]> wrote:
Quoted 49 lines · Dmitry Baryshkov
Quoted 41 lines · On Fri, 26 Feb 2021 at 09:59, <[email protected]> wrote:
Hi,
Quoted 28 lines · Dmitry Baryshkov
Quoted 14 lines · satya priya
Correct the
REGULATOR_LINEAR_RANGEandn_voltgesforpmic5_hfsmps515buck.Signed-off-by satya priya <[email protected]>--- drivers/regulator/qcom-rpmh-regulator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/regulator/qcom-rpmh-regulator.c +0
-0drivers/regulator/qcom-rpmh-regulator.c static const struct rpmh_vreg_hw_data · line 731
Quoted 8 lines
drivers/regulator/qcom-rpmh-regulator.c +2
-2@@ -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.
Quoted 4 lines
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.
Quoted 6 lines
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_uVvalue (32000) is anyway not exceeding the old value (2800000)
right? please correct me if wrong.Quoted 4 lines
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_nldoregulator 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.Quoted 2 lines
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 newFB_RANGEbit. 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."
Quoted 8 lines
Quoted 4 lines
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
Mark Brown
maintainerRe: [PATCH 3/7] regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
Quoted 7 lines · On Thu, Mar 11, 2021 at 09:45:41AM +0530, [email protected] wrote:
Quoted 3 lines · Dmitry Baryshkov
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.
PATCH 4/7 regulator: qcom-rpmh: Add pmic5_ftsmps520 buck
In reply to satya priyaAdd pmic5_ftsmps520 buck as this is required for PM7325 and PMR735A PMICs.
--- drivers/regulator/qcom-rpmh-regulator.c | 9 +++++++++ 1 file changed, 9 insertions(+)
drivers/regulator/qcom-rpmh-regulator.c +9 -0
@@ -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,
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
PATCH 5/7 regulator: qcom-rpmh: Add PM7325/PMR735A regulator support
In reply to satya priyaAdd support for PM7325/PMR735A regulators. This ensures that consumers are able to modify the physical state of PMIC regulators.
--- drivers/regulator/qcom-rpmh-regulator.c | 53 ++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-)
drivers/regulator/qcom-rpmh-regulator.c +52 -1
@@ -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);
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
PATCH 6/7 regulator: qcom-rpmh: Use correct buck for S1C regulator
In reply to satya priyaUse correct buck, that is, pmic5_hfsmps515 for S1C regulator of PM8350C PMIC.
--- drivers/regulator/qcom-rpmh-regulator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/regulator/qcom-rpmh-regulator.c +1 -1
@@ -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" ),
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Mark Brown
maintainerRe: [PATCH 6/7] regulator: qcom-rpmh: Use correct buck for S1C regulator
Quoted 2 lines · satya priya
Use correct buck, that is,
pmic5_hfsmps515for 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.
Re: [PATCH 6/7] regulator: qcom-rpmh: Use correct buck for S1C regulator
Quoted 7 lines · Mark Brown
Quoted 2 lines · satya priya
Use correct buck, that is,
pmic5_hfsmps515for 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.
PATCH 7/7 arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp
In reply to satya priyaAdd regulator devices for SC7280 as RPMh regulators. This ensures that consumers are able to modify the physical state of PMIC regulators.
--- arch/arm64/boot/dts/qcom/sc7280-idp.dts | 211 ++++++++++++++++++++++++++++++++ 1 file changed, 211 insertions(+)
arch/arm64/boot/dts/qcom/sc7280-idp.dts +211 -0
@@ -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"; };
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH 7/7] arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp
Hi,
arch/arm64/boot/dts/qcom/sc7280-idp.dts line 125
Quoted 7 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dts +7
-0+ }; + + 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
Re: [PATCH 7/7] arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp
Quoted 14 lines · Konrad Dybcio
Hi,
arch/arm64/boot/dts/qcom/sc7280-idp.dts line 125
Quoted 7 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dts +7
-0+ }; + + 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.
Quoted 2 lines
Konrad
Thanks,
Satya Priya
Mark Brown
maintainerRe: (subset) [PATCH 0/7] Add PM7325/PM8350C/PMR735A regulator support
In reply to satya priyaQuoted 12 lines · 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=484757satya priya (7):
dt-bindings: regulator: Convert regulator bindings to YAML
dt-bindings: regulator: Add compatibles for PM7325/PMR735A
regulator: qcom-rpmh: Correct thepmic5_hfsmps515buck
regulator: qcom-rpmh: Addpmic5_ftsmps520buck
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
Quoted 1 line
[...]
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: 8fb4acb880e9467adca913e51adf5c1f96fbbeb9All 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