* [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC @ 2020-06-23 5:17 Kathiravan T 2020-06-23 5:17 ` [PATCH V2 1/6] dt-bindings: soc: qcom: Add IPQ6018 compatible Kathiravan T ` (7 more replies) 0 siblings, 8 replies; 11+ messages in thread From: Kathiravan T @ 2020-06-23 5:17 UTC (permalink / raw) To: agross, bjorn.andersson, lgirdwood, broonie, robh+dt, kathirav, linux-arm-msm, linux-kernel, devicetree Cc: sivaprak IPQ6018 SoC uses the PMIC MP5496. SMPA2 and LDOA2 regulator of MP5496 controls the APSS and SDCC voltage scaling respectively. Add support for the same. changes since V1: - Moved YAML conversion to the last as per Mark's comments Kathiravan T (6): dt-bindings: soc: qcom: Add IPQ6018 compatible soc: qcom: smd-rpm: Add IPQ6018 compatible dt-bindings: regulator: add MP5496 regulator compatible regulator: qcom_smd: Add MP5496 regulators dt-bindings: soc: qcom: convert the SMD-RPM document to YAML schema dt-bindings: regulator: convert QCOM SMD-RPM regulator document to YAML schema .../bindings/regulator/qcom,smd-rpm-regulator.txt | 320 --------------------- .../bindings/regulator/qcom,smd-rpm-regulator.yaml | 106 +++++++ .../devicetree/bindings/soc/qcom/qcom,smd-rpm.txt | 62 ---- .../devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml | 92 ++++++ drivers/regulator/qcom_smd-regulator.c | 34 +++ drivers/soc/qcom/smd-rpm.c | 1 + 6 files changed, 233 insertions(+), 382 deletions(-) delete mode 100644 Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt create mode 100644 Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml delete mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.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] 11+ messages in thread
* [PATCH V2 1/6] dt-bindings: soc: qcom: Add IPQ6018 compatible 2020-06-23 5:17 [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC Kathiravan T @ 2020-06-23 5:17 ` Kathiravan T 2020-06-23 5:17 ` [PATCH V2 2/6] soc: qcom: smd-rpm: " Kathiravan T ` (6 subsequent siblings) 7 siblings, 0 replies; 11+ messages in thread From: Kathiravan T @ 2020-06-23 5:17 UTC (permalink / raw) To: agross, bjorn.andersson, lgirdwood, broonie, robh+dt, kathirav, linux-arm-msm, linux-kernel, devicetree Cc: sivaprak This patch adds the dt-binding for the rpm on the Qualcomm IPQ6018 platform. Signed-off-by: Kathiravan T <kathirav@codeaurora.org> --- Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt index 616fddc..a817c61 100644 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt @@ -20,6 +20,7 @@ resources. Value type: <string> Definition: must be one of: "qcom,rpm-apq8084" + "qcom,rpm-ipq6018" "qcom,rpm-msm8916" "qcom,rpm-msm8974" "qcom,rpm-msm8976" -- 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] 11+ messages in thread
* [PATCH V2 2/6] soc: qcom: smd-rpm: Add IPQ6018 compatible 2020-06-23 5:17 [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC Kathiravan T 2020-06-23 5:17 ` [PATCH V2 1/6] dt-bindings: soc: qcom: Add IPQ6018 compatible Kathiravan T @ 2020-06-23 5:17 ` Kathiravan T 2020-06-23 5:17 ` [PATCH V2 3/6] dt-bindings: regulator: add MP5496 regulator compatible Kathiravan T ` (5 subsequent siblings) 7 siblings, 0 replies; 11+ messages in thread From: Kathiravan T @ 2020-06-23 5:17 UTC (permalink / raw) To: agross, bjorn.andersson, lgirdwood, broonie, robh+dt, kathirav, linux-arm-msm, linux-kernel, devicetree Cc: sivaprak This patch adds a compatible for the rpm on the Qualcomm IPQ6018 platform. Signed-off-by: Kathiravan T <kathirav@codeaurora.org> --- drivers/soc/qcom/smd-rpm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/soc/qcom/smd-rpm.c b/drivers/soc/qcom/smd-rpm.c index 005dd30..1a5226a 100644 --- a/drivers/soc/qcom/smd-rpm.c +++ b/drivers/soc/qcom/smd-rpm.c @@ -230,6 +230,7 @@ static void qcom_smd_rpm_remove(struct rpmsg_device *rpdev) static const struct of_device_id qcom_smd_rpm_of_match[] = { { .compatible = "qcom,rpm-apq8084" }, + { .compatible = "qcom,rpm-ipq6018" }, { .compatible = "qcom,rpm-msm8916" }, { .compatible = "qcom,rpm-msm8974" }, { .compatible = "qcom,rpm-msm8976" }, -- 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] 11+ messages in thread
* [PATCH V2 3/6] dt-bindings: regulator: add MP5496 regulator compatible 2020-06-23 5:17 [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC Kathiravan T 2020-06-23 5:17 ` [PATCH V2 1/6] dt-bindings: soc: qcom: Add IPQ6018 compatible Kathiravan T 2020-06-23 5:17 ` [PATCH V2 2/6] soc: qcom: smd-rpm: " Kathiravan T @ 2020-06-23 5:17 ` Kathiravan T 2020-06-23 5:17 ` [PATCH V2 4/6] regulator: qcom_smd: Add MP5496 regulators Kathiravan T ` (4 subsequent siblings) 7 siblings, 0 replies; 11+ messages in thread From: Kathiravan T @ 2020-06-23 5:17 UTC (permalink / raw) To: agross, bjorn.andersson, lgirdwood, broonie, robh+dt, kathirav, linux-arm-msm, linux-kernel, devicetree Cc: sivaprak IPQ6018 uses the PMIC MP5496. Add the binding for the same. Signed-off-by: Kathiravan T <kathirav@codeaurora.org> --- Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt b/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt index dea4384..728c001 100644 --- a/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt +++ b/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt @@ -19,6 +19,7 @@ Regulator nodes are identified by their compatible: Usage: required Value type: <string> Definition: must be one of: + "qcom,rpm-mp5496-regulators" "qcom,rpm-pm8841-regulators" "qcom,rpm-pm8916-regulators" "qcom,rpm-pm8941-regulators" -- 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] 11+ messages in thread
* [PATCH V2 4/6] regulator: qcom_smd: Add MP5496 regulators 2020-06-23 5:17 [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC Kathiravan T ` (2 preceding siblings ...) 2020-06-23 5:17 ` [PATCH V2 3/6] dt-bindings: regulator: add MP5496 regulator compatible Kathiravan T @ 2020-06-23 5:17 ` Kathiravan T 2020-06-23 5:17 ` [PATCH V2 5/6] dt-bindings: soc: qcom: convert the SMD-RPM document to YAML schema Kathiravan T ` (3 subsequent siblings) 7 siblings, 0 replies; 11+ messages in thread From: Kathiravan T @ 2020-06-23 5:17 UTC (permalink / raw) To: agross, bjorn.andersson, lgirdwood, broonie, robh+dt, kathirav, linux-arm-msm, linux-kernel, devicetree Cc: sivaprak IPQ6018 SoC uses the PMIC MP5496. SMPA2 and LDOA2 regulator controls the APSS and SDCC voltage scaling respectively. Add support for the same. Signed-off-by: Kathiravan T <kathirav@codeaurora.org> --- drivers/regulator/qcom_smd-regulator.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/drivers/regulator/qcom_smd-regulator.c b/drivers/regulator/qcom_smd-regulator.c index 53a64d8..e6d137a 100644 --- a/drivers/regulator/qcom_smd-regulator.c +++ b/drivers/regulator/qcom_smd-regulator.c @@ -198,6 +198,15 @@ static const struct regulator_ops rpm_bob_ops = { .set_voltage = rpm_reg_set_voltage, }; +static const struct regulator_ops rpm_mp5496_ops = { + .enable = rpm_reg_enable, + .disable = rpm_reg_disable, + .is_enabled = rpm_reg_is_enabled, + .list_voltage = regulator_list_voltage_linear_range, + + .set_voltage = rpm_reg_set_voltage, +}; + static const struct regulator_desc pma8084_hfsmps = { .linear_ranges = (struct linear_range[]) { REGULATOR_LINEAR_RANGE(375000, 0, 95, 12500), @@ -595,6 +604,24 @@ static const struct regulator_desc pms405_pldo600 = { .ops = &rpm_smps_ldo_ops, }; +static const struct regulator_desc mp5496_smpa2 = { + .linear_ranges = (struct linear_range[]) { + REGULATOR_LINEAR_RANGE(725000, 0, 27, 12500), + }, + .n_linear_ranges = 1, + .n_voltages = 28, + .ops = &rpm_mp5496_ops, +}; + +static const struct regulator_desc mp5496_ldoa2 = { + .linear_ranges = (struct linear_range[]) { + REGULATOR_LINEAR_RANGE(1800000, 0, 60, 25000), + }, + .n_linear_ranges = 1, + .n_voltages = 61, + .ops = &rpm_mp5496_ops, +}; + struct rpm_regulator_data { const char *name; u32 type; @@ -603,6 +630,12 @@ struct rpm_regulator_data { const char *supply; }; +static const struct rpm_regulator_data rpm_mp5496_regulators[] = { + { "s2", QCOM_SMD_RPM_SMPA, 2, &mp5496_smpa2, "s2" }, + { "l2", QCOM_SMD_RPM_LDOA, 2, &mp5496_ldoa2, "l2" }, + {} +}; + static const struct rpm_regulator_data rpm_pm8841_regulators[] = { { "s1", QCOM_SMD_RPM_SMPB, 1, &pm8x41_hfsmps, "vdd_s1" }, { "s2", QCOM_SMD_RPM_SMPB, 2, &pm8841_ftsmps, "vdd_s2" }, @@ -901,6 +934,7 @@ static const struct rpm_regulator_data rpm_pms405_regulators[] = { }; static const struct of_device_id rpm_of_match[] = { + { .compatible = "qcom,rpm-mp5496-regulators", .data = &rpm_mp5496_regulators }, { .compatible = "qcom,rpm-pm8841-regulators", .data = &rpm_pm8841_regulators }, { .compatible = "qcom,rpm-pm8916-regulators", .data = &rpm_pm8916_regulators }, { .compatible = "qcom,rpm-pm8941-regulators", .data = &rpm_pm8941_regulators }, -- 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] 11+ messages in thread
* [PATCH V2 5/6] dt-bindings: soc: qcom: convert the SMD-RPM document to YAML schema 2020-06-23 5:17 [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC Kathiravan T ` (3 preceding siblings ...) 2020-06-23 5:17 ` [PATCH V2 4/6] regulator: qcom_smd: Add MP5496 regulators Kathiravan T @ 2020-06-23 5:17 ` Kathiravan T 2020-07-14 2:17 ` Rob Herring 2020-06-23 5:17 ` [PATCH V2 6/6] dt-bindings: regulator: convert QCOM SMD-RPM regulator " Kathiravan T ` (2 subsequent siblings) 7 siblings, 1 reply; 11+ messages in thread From: Kathiravan T @ 2020-06-23 5:17 UTC (permalink / raw) To: agross, bjorn.andersson, lgirdwood, broonie, robh+dt, kathirav, linux-arm-msm, linux-kernel, devicetree Cc: sivaprak Convert the qcom,smd-rpm.txt document to YAML schema Signed-off-by: Kathiravan T <kathirav@codeaurora.org> --- .../devicetree/bindings/soc/qcom/qcom,smd-rpm.txt | 63 --------------- .../devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml | 92 ++++++++++++++++++++++ 2 files changed, 92 insertions(+), 63 deletions(-) delete mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt deleted file mode 100644 index a817c61..00000000 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt +++ /dev/null @@ -1,63 +0,0 @@ -Qualcomm Resource Power Manager (RPM) over SMD - -This driver is used to interface with the Resource Power Manager (RPM) found in -various Qualcomm platforms. The RPM allows each component in the system to vote -for state of the system resources, such as clocks, regulators and bus -frequencies. - -The SMD information for the RPM edge should be filled out. See qcom,smd.txt for -the required edge properties. All SMD related properties will reside within the -RPM node itself. - -= SUBDEVICES - -The RPM exposes resources to its subnodes. The rpm_requests node must be -present and this subnode may contain children that designate regulator -resources. - -- compatible: - Usage: required - Value type: <string> - Definition: must be one of: - "qcom,rpm-apq8084" - "qcom,rpm-ipq6018" - "qcom,rpm-msm8916" - "qcom,rpm-msm8974" - "qcom,rpm-msm8976" - "qcom,rpm-msm8998" - "qcom,rpm-sdm660" - "qcom,rpm-qcs404" - -- qcom,smd-channels: - Usage: required - Value type: <string> - Definition: must be "rpm_requests" - -Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt -for information on the regulator subnodes that can exist under the rpm_requests. - -Example: - - soc { - apcs: syscon@f9011000 { - compatible = "syscon"; - reg = <0xf9011000 0x1000>; - }; - }; - - smd { - compatible = "qcom,smd"; - - rpm { - interrupts = <0 168 1>; - qcom,ipc = <&apcs 8 0>; - qcom,smd-edge = <15>; - - rpm_requests { - compatible = "qcom,rpm-msm8974"; - qcom,smd-channels = "rpm_requests"; - - ... - }; - }; - }; diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml new file mode 100644 index 00000000..06aa6b1 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml @@ -0,0 +1,92 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Qualcomm Resource Power Manager (RPM) over SMD + +description: | + This driver is used to interface with the Resource Power Manager (RPM) found + in various Qualcomm platforms. The RPM allows each component in the system + to vote for state of the system resources, such as clocks, regulators and bus + frequencies. + + The SMD information for the RPM edge should be filled out. See qcom,smd.txt + for the required edge properties. All SMD related properties will reside + within the RPM node itself. + + The RPM exposes resources to its subnodes. The rpm_requests node must be + present and this subnode may contain children that designate regulator + resources. + + Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt + for information on the regulator subnodes that can exist under the + rpm_requests. + +maintainers: + - Kathiravan T <kathirav@codeaurora.org> + +properties: + compatible: + enum: + - qcom,rpm-apq8084 + - qcom,rpm-ipq6018 + - qcom,rpm-msm8916 + - qcom,rpm-msm8974 + - qcom,rpm-msm8976 + - qcom,rpm-msm8996 + - qcom,rpm-msm8998 + - qcom,rpm-sdm660 + - qcom,rpm-qcs404 + + qcom,smd-channels: + $ref: /schemas/types.yaml#/definitions/string-array + description: Channel name used for the RPM communication + items: + - const: rpm_requests + +if: + properties: + compatible: + contains: + enum: + - qcom,rpm-apq8084 + - qcom,rpm-msm8916 + - qcom,rpm-msm8974 +then: + required: + - qcom,smd-channels + +required: + - compatible + +additionalProperties: false + +examples: + - | + soc { + #address-cells = <1>; + #size-cells = <1>; + apcs: syscon@f9011000 { + compatible = "syscon"; + reg = <0xf9011000 0x1000>; + }; + }; + smd { + compatible = "qcom,smd"; + + rpm { + interrupts = <0 168 1>; + qcom,ipc = <&apcs 8 0>; + qcom,smd-edge = <15>; + + rpm_requests { + compatible = "qcom,rpm-msm8974"; + qcom,smd-channels = "rpm_requests"; + + /* Regulator nodes to follow */ + }; + }; + }; +... -- 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] 11+ messages in thread
* Re: [PATCH V2 5/6] dt-bindings: soc: qcom: convert the SMD-RPM document to YAML schema 2020-06-23 5:17 ` [PATCH V2 5/6] dt-bindings: soc: qcom: convert the SMD-RPM document to YAML schema Kathiravan T @ 2020-07-14 2:17 ` Rob Herring 0 siblings, 0 replies; 11+ messages in thread From: Rob Herring @ 2020-07-14 2:17 UTC (permalink / raw) To: Kathiravan T Cc: lgirdwood, robh+dt, agross, linux-kernel, bjorn.andersson, linux-arm-msm, sivaprak, broonie, devicetree On Tue, 23 Jun 2020 10:47:51 +0530, Kathiravan T wrote: > Convert the qcom,smd-rpm.txt document to YAML schema > > Signed-off-by: Kathiravan T <kathirav@codeaurora.org> > --- > .../devicetree/bindings/soc/qcom/qcom,smd-rpm.txt | 63 --------------- > .../devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml | 92 ++++++++++++++++++++++ > 2 files changed, 92 insertions(+), 63 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt > create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml > Reviewed-by: Rob Herring <robh@kernel.org> ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH V2 6/6] dt-bindings: regulator: convert QCOM SMD-RPM regulator document to YAML schema 2020-06-23 5:17 [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC Kathiravan T ` (4 preceding siblings ...) 2020-06-23 5:17 ` [PATCH V2 5/6] dt-bindings: soc: qcom: convert the SMD-RPM document to YAML schema Kathiravan T @ 2020-06-23 5:17 ` Kathiravan T 2020-07-14 2:20 ` Rob Herring 2020-07-01 22:23 ` [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC Mark Brown 2020-07-07 13:24 ` Kathiravan T 7 siblings, 1 reply; 11+ messages in thread From: Kathiravan T @ 2020-06-23 5:17 UTC (permalink / raw) To: agross, bjorn.andersson, lgirdwood, broonie, robh+dt, kathirav, linux-arm-msm, linux-kernel, devicetree Cc: sivaprak Convert qcom,smd-rpm-regulator.txt document to YAML schema Signed-off-by: Kathiravan T <kathirav@codeaurora.org> --- .../bindings/regulator/qcom,smd-rpm-regulator.txt | 321 --------------------- .../bindings/regulator/qcom,smd-rpm-regulator.yaml | 106 +++++++ 2 files changed, 106 insertions(+), 321 deletions(-) delete mode 100644 Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt create mode 100644 Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml diff --git a/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt b/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt deleted file mode 100644 index 728c001..00000000 --- a/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt +++ /dev/null @@ -1,321 +0,0 @@ -QCOM SMD RPM REGULATOR - -The Qualcomm RPM over SMD regulator is modelled as a subdevice of the RPM. -Because SMD is used as the communication transport mechanism, the RPM resides as -a subnode of the SMD. As such, the SMD-RPM regulator requires that the SMD and -RPM nodes be present. - -Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt for -information pertaining to the SMD node. - -Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt for -information regarding the RPM node. - -== Regulator - -Regulator nodes are identified by their compatible: - -- compatible: - Usage: required - Value type: <string> - Definition: must be one of: - "qcom,rpm-mp5496-regulators" - "qcom,rpm-pm8841-regulators" - "qcom,rpm-pm8916-regulators" - "qcom,rpm-pm8941-regulators" - "qcom,rpm-pm8950-regulators" - "qcom,rpm-pm8994-regulators" - "qcom,rpm-pm8998-regulators" - "qcom,rpm-pma8084-regulators" - "qcom,rpm-pmi8994-regulators" - "qcom,rpm-pmi8998-regulators" - "qcom,rpm-pms405-regulators" - -- vdd_s1-supply: -- vdd_s2-supply: -- vdd_s3-supply: -- vdd_s4-supply: -- vdd_s5-supply: -- vdd_s6-supply: -- vdd_s7-supply: -- vdd_s8-supply: - Usage: optional (pm8841 only) - Value type: <phandle> - Definition: reference to regulator supplying the input pin, as - described in the data sheet - -- vdd_s1-supply: -- vdd_s2-supply: -- vdd_s3-supply: -- vdd_s4-supply: -- vdd_l1_l2_l3-supply: -- vdd_l4_l5_l6-supply: -- vdd_l7-supply: -- vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18-supply: - Usage: optional (pm8916 only) - Value type: <phandle> - Definition: reference to regulator supplying the input pin, as - described in the data sheet - -- vdd_s1-supply: -- vdd_s2-supply: -- vdd_s3-supply: -- vdd_s4-supply: -- vdd_s4-supply: -- vdd_s5-supply: -- vdd_s6-supply: -- vdd_l1_l19-supply: -- vdd_l2_l23-supply: -- vdd_l3-supply: -- vdd_l4_l5_l6_l7_l16-supply: -- vdd_l8_l11_l12_l17_l22-supply: -- vdd_l9_l10_l13_l14_l15_l18-supply: -- vdd_l20-supply: -- vdd_l21-supply: - Usage: optional (pm8950 only) - Value type: <phandle> - Definition: reference to regulator supplying the input pin, as - described in the data sheet - -- vdd_s1-supply: -- vdd_s2-supply: -- vdd_s3-supply: -- vdd_l1_l3-supply: -- vdd_l2_lvs1_2_3-supply: -- vdd_l4_l11-supply: -- vdd_l5_l7-supply: -- vdd_l6_l12_l14_l15-supply: -- vdd_l8_l16_l18_l19-supply: -- vdd_l9_l10_l17_l22-supply: -- vdd_l13_l20_l23_l24-supply: -- vdd_l21-supply: -- vin_5vs-supply: - Usage: optional (pm8941 only) - Value type: <phandle> - Definition: reference to regulator supplying the input pin, as - described in the data sheet - -- vdd_s1-supply: -- vdd_s2-supply: -- vdd_s3-supply: -- vdd_s4-supply: -- 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_l1-supply: -- vdd_l2_l26_l28-supply: -- vdd_l3_l11-supply: -- vdd_l4_l27_l31-supply: -- vdd_l5_l7-supply: -- vdd_l6_l12_l32-supply: -- vdd_l5_l7-supply: -- vdd_l8_l16_l30-supply: -- vdd_l9_l10_l18_l22-supply: -- vdd_l9_l10_l18_l22-supply: -- vdd_l3_l11-supply: -- vdd_l6_l12_l32-supply: -- vdd_l13_l19_l23_l24-supply: -- vdd_l14_l15-supply: -- vdd_l14_l15-supply: -- vdd_l8_l16_l30-supply: -- vdd_l17_l29-supply: -- vdd_l9_l10_l18_l22-supply: -- vdd_l13_l19_l23_l24-supply: -- vdd_l20_l21-supply: -- vdd_l20_l21-supply: -- vdd_l9_l10_l18_l22-supply: -- vdd_l13_l19_l23_l24-supply: -- vdd_l13_l19_l23_l24-supply: -- vdd_l25-supply: -- vdd_l2_l26_l28-supply: -- vdd_l4_l27_l31-supply: -- vdd_l2_l26_l28-supply: -- vdd_l17_l29-supply: -- vdd_l8_l16_l30-supply: -- vdd_l4_l27_l31-supply: -- vdd_l6_l12_l32-supply: -- vdd_lvs1_2-supply: - Usage: optional (pm8994 only) - Value type: <phandle> - Definition: reference to regulator supplying the input pin, as - described in the data sheet - -- vdd_s1-supply: -- vdd_s2-supply: -- vdd_s3-supply: -- vdd_bst_byp-supply: - Usage: optional (pmi8994 only) - Value type: <phandle> - Definition: reference to regulator supplying the input pin, as - described in the data sheet - -- vdd_s1-supply: -- vdd_s2-supply: -- vdd_s3-supply: -- vdd_s4-supply: -- 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_l20_l24-supply: -- vdd_l26-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_lvs1_lvs2-supply: - Usage: optional (pmi8998 only) - Value type: <phandle> - Definition: reference to regulator supplying the input pin, as - described in the data sheet - -- vdd_s1-supply: -- vdd_s2-supply: -- vdd_s3-supply: -- vdd_s4-supply: -- 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_l1_l11-supply: -- vdd_l2_l3_l4_l27-supply: -- vdd_l5_l7-supply: -- vdd_l6_l12_l14_l15_l26-supply: -- vdd_l8-supply: -- vdd_l9_l10_l13_l20_l23_l24-supply: -- vdd_l16_l25-supply: -- vdd_l17-supply: -- vdd_l18-supply: -- vdd_l19-supply: -- vdd_l21-supply: -- vdd_l22-supply: - Usage: optional (pma8084 only) - Value type: <phandle> - Definition: reference to regulator supplying the input pin, as - described in the data sheet - -- vdd_bob-supply: - Usage: optional (pmi8998 only) - Value type: <phandle> - Definition: reference to regulator supplying the input pin, as - described in the data sheet - -- vdd_s1-supply: -- vdd_s2-supply: -- vdd_s3-supply: -- vdd_s4-supply: -- vdd_s5-supply: -- vdd_l1_l2-supply: -- vdd_l3_l8-supply: -- vdd_l4-supply: -- vdd_l5_l6-supply: -- vdd_l7-supply: -- vdd_l3_l8-supply: -- vdd_l9-supply: -- vdd_l10_l11_l12_l13-supply: - Usage: optional (pms405 only) - Value type: <phandle> - Definition: reference to regulator supplying the input pin, as - described in the data sheet - -The regulator node houses sub-nodes for each regulator within the device. Each -sub-node is identified using the node's name, with valid values listed for each -of the pmics below. - -pm8841: - s1, s2, s3, s4, s5, s6, s7, s8 - -pm8916: - s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, - l14, l15, l16, l17, l18 - -pm8941: - s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, - l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2, - lvs3, 5vs1, 5vs2 - -pm8994: - s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, l1, l2, l3, l4, l5, - l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20, - l21, l22, l23, l24, l25, l26, l27, l28, l29, l30, l31, l32, lvs1, lvs2 - -pm8998: - s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, l1, l2, l3, l4, - l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, - l20, l21, l22, l23, l24, l25, l26, l27, l28, lvs1, lvs2 - -pma8084: - s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, l1, l2, l3, l4, l5, - l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20, - l21, l22, l23, l24, l25, l26, l27, lvs1, lvs2, lvs3, lvs4, 5vs1 - -pmi8994: - s1, s2, s3, boost-bypass - -pmi8998: - bob - -pms405: - s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, - l13 - -The content of each sub-node is defined by the standard binding for regulators - -see regulator.txt. - -= EXAMPLE - - smd { - compatible = "qcom,smd"; - - rpm { - interrupts = <0 168 1>; - qcom,ipc = <&apcs 8 0>; - qcom,smd-edge = <15>; - - rpm_requests { - compatible = "qcom,rpm-msm8974"; - qcom,smd-channels = "rpm_requests"; - - pm8941-regulators { - compatible = "qcom,rpm-pm8941-regulators"; - vdd_l13_l20_l23_l24-supply = <&pm8941_boost>; - - pm8941_s3: s3 { - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - }; - - pm8941_boost: s4 { - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - }; - - pm8941_l20: l20 { - regulator-min-microvolt = <2950000>; - regulator-max-microvolt = <2950000>; - }; - }; - }; - }; - }; diff --git a/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml new file mode 100644 index 00000000..8d212bd --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml @@ -0,0 +1,106 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/qcom,smd-rpm-regulator.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: QCOM SMD RPM REGULATOR + +description: + The Qualcomm RPM over SMD regulator is modelled as a subdevice of the RPM. + Because SMD is used as the communication transport mechanism, the RPM + resides as a subnode of the SMD. As such, the SMD-RPM regulator requires + that the SMD and RPM nodes be present. + + Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt for + information pertaining to the SMD node. + + Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml + for information regarding the RPM node. + + The regulator node houses sub-nodes for each regulator within the device. + Each sub-node is identified using the node's name, with valid values listed + for each of the pmics below. + + For pm8841, s1, s2, s3, s4, s5, s6, s7, s8 + + For pm8916, s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, + l12, l13, l14, l15, l16, l17, l18 + + For pm8941, s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, + l12, l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2, + lvs3, 5vs1, 5vs2 + + For pm8994, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, l1, l2, l3, + l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, + l20, l21, l22, l23, l24, l25, l26, l27, l28, l29, l30, l31, l32, lvs1, lvs2 + + For pm8998, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, l1, l2, + l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, + l20, l21, l22, l23, l24, l25, l26, l27, l28, lvs1, lvs2 + + For pma8084, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, l1, l2, l3, + l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, + l20, l21, l22, l23, l24, l25, l26, l27, lvs1, lvs2, lvs3, lvs4, 5vs1 + + For pmi8994, s1, s2, s3, boost-bypass + + For pmi8998, bob + + For pms405, s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, + l12, l13 + +maintainers: + - Kathiravan T <kathirav@codeaurora.org> + +properties: + compatible: + enum: + - qcom,rpm-mp5496-regulators + - qcom,rpm-pm8841-regulators + - qcom,rpm-pm8916-regulators + - qcom,rpm-pm8941-regulators + - qcom,rpm-pm8950-regulators + - qcom,rpm-pm8994-regulators + - qcom,rpm-pm8998-regulators + - qcom,rpm-pma8084-regulators + - qcom,rpm-pmi8994-regulators + - qcom,rpm-pmi8998-regulators + - qcom,rpm-pms405-regulators + +patternProperties: + ".*-supply$": + description: Input supply phandle(s) for this node + + "^((s|l|lvs|5vs)[0-9]*)|(boost-bypass)|(bob)$": + description: List of regulators and its properties + allOf: + - $ref: regulator.yaml# + +additionalProperties: false + +required: + - compatible + +examples: + - | + pm8941-regulators { + compatible = "qcom,rpm-pm8941-regulators"; + vdd_l13_l20_l23_l24-supply = <&pm8941_boost>; + + pm8941_s3: s3 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + pm8941_boost: s4 { + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + }; + + pm8941_l20: l20 { + regulator-min-microvolt = <2950000>; + regulator-max-microvolt = <2950000>; + }; + }; +... -- 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] 11+ messages in thread
* Re: [PATCH V2 6/6] dt-bindings: regulator: convert QCOM SMD-RPM regulator document to YAML schema 2020-06-23 5:17 ` [PATCH V2 6/6] dt-bindings: regulator: convert QCOM SMD-RPM regulator " Kathiravan T @ 2020-07-14 2:20 ` Rob Herring 0 siblings, 0 replies; 11+ messages in thread From: Rob Herring @ 2020-07-14 2:20 UTC (permalink / raw) To: Kathiravan T Cc: sivaprak, linux-kernel, broonie, robh+dt, agross, bjorn.andersson, devicetree, linux-arm-msm, lgirdwood On Tue, 23 Jun 2020 10:47:52 +0530, Kathiravan T wrote: > Convert qcom,smd-rpm-regulator.txt document to YAML schema > > Signed-off-by: Kathiravan T <kathirav@codeaurora.org> > --- > .../bindings/regulator/qcom,smd-rpm-regulator.txt | 321 --------------------- > .../bindings/regulator/qcom,smd-rpm-regulator.yaml | 106 +++++++ > 2 files changed, 106 insertions(+), 321 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt > create mode 100644 Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml > Reviewed-by: Rob Herring <robh@kernel.org> ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC 2020-06-23 5:17 [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC Kathiravan T ` (5 preceding siblings ...) 2020-06-23 5:17 ` [PATCH V2 6/6] dt-bindings: regulator: convert QCOM SMD-RPM regulator " Kathiravan T @ 2020-07-01 22:23 ` Mark Brown 2020-07-07 13:24 ` Kathiravan T 7 siblings, 0 replies; 11+ messages in thread From: Mark Brown @ 2020-07-01 22:23 UTC (permalink / raw) To: Kathiravan T, lgirdwood, linux-kernel, linux-arm-msm, devicetree, robh+dt, bjorn.andersson, agross Cc: sivaprak On Tue, 23 Jun 2020 10:47:46 +0530, Kathiravan T wrote: > IPQ6018 SoC uses the PMIC MP5496. SMPA2 and LDOA2 regulator of MP5496 > controls the APSS and SDCC voltage scaling respectively. Add support > for the same. > > changes since V1: > - Moved YAML conversion to the last as per Mark's comments > > [...] Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next Thanks! [1/2] regulator: add MP5496 regulator compatible commit: 93e39d096d7312e38cf502be4e516cff7acf34fa [2/2] regulator: qcom_smd: Add MP5496 regulators commit: 47894c859479a9e3472657c7acf2c7ba35778059 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] 11+ messages in thread
* Re: [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC 2020-06-23 5:17 [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC Kathiravan T ` (6 preceding siblings ...) 2020-07-01 22:23 ` [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC Mark Brown @ 2020-07-07 13:24 ` Kathiravan T 7 siblings, 0 replies; 11+ messages in thread From: Kathiravan T @ 2020-07-07 13:24 UTC (permalink / raw) To: agross, bjorn.andersson, lgirdwood, broonie, robh+dt, linux-arm-msm, linux-kernel, devicetree Cc: sivaprak, sricharan Hi Bjorn, Can you help to review the below patches in this series? dt-bindings: soc: qcom: Add IPQ6018 compatible soc: qcom: smd-rpm: Add IPQ6018 compatible Hi Rob, Can you help to review the YAML schema in this series? Thanks, Kathiravan T. On 6/23/2020 10:47 AM, Kathiravan T wrote: > IPQ6018 SoC uses the PMIC MP5496. SMPA2 and LDOA2 regulator of MP5496 > controls the APSS and SDCC voltage scaling respectively. Add support > for the same. > > changes since V1: > - Moved YAML conversion to the last as per Mark's comments > > Kathiravan T (6): > dt-bindings: soc: qcom: Add IPQ6018 compatible > soc: qcom: smd-rpm: Add IPQ6018 compatible > dt-bindings: regulator: add MP5496 regulator compatible > regulator: qcom_smd: Add MP5496 regulators > dt-bindings: soc: qcom: convert the SMD-RPM document to YAML schema > dt-bindings: regulator: convert QCOM SMD-RPM regulator document to > YAML schema > > .../bindings/regulator/qcom,smd-rpm-regulator.txt | 320 --------------------- > .../bindings/regulator/qcom,smd-rpm-regulator.yaml | 106 +++++++ > .../devicetree/bindings/soc/qcom/qcom,smd-rpm.txt | 62 ---- > .../devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml | 92 ++++++ > drivers/regulator/qcom_smd-regulator.c | 34 +++ > drivers/soc/qcom/smd-rpm.c | 1 + > 6 files changed, 233 insertions(+), 382 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt > create mode 100644 Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml > delete mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt > create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.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] 11+ messages in thread
end of thread, other threads:[~2020-07-14 2:20 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-06-23 5:17 [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC Kathiravan T 2020-06-23 5:17 ` [PATCH V2 1/6] dt-bindings: soc: qcom: Add IPQ6018 compatible Kathiravan T 2020-06-23 5:17 ` [PATCH V2 2/6] soc: qcom: smd-rpm: " Kathiravan T 2020-06-23 5:17 ` [PATCH V2 3/6] dt-bindings: regulator: add MP5496 regulator compatible Kathiravan T 2020-06-23 5:17 ` [PATCH V2 4/6] regulator: qcom_smd: Add MP5496 regulators Kathiravan T 2020-06-23 5:17 ` [PATCH V2 5/6] dt-bindings: soc: qcom: convert the SMD-RPM document to YAML schema Kathiravan T 2020-07-14 2:17 ` Rob Herring 2020-06-23 5:17 ` [PATCH V2 6/6] dt-bindings: regulator: convert QCOM SMD-RPM regulator " Kathiravan T 2020-07-14 2:20 ` Rob Herring 2020-07-01 22:23 ` [PATCH V2 0/6] Add frequency / voltage scaling support for IPQ6018 SoC Mark Brown 2020-07-07 13:24 ` Kathiravan T
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).