From mboxrd@z Thu Jan 1 00:00:00 1970 From: galak@codeaurora.org (Kumar Gala) Date: Tue, 30 Sep 2014 08:46:29 -0500 Subject: [RFC 3/7] mfd: devicetree: bindings: Add Qualcomm SMD based RPM DT binding In-Reply-To: <1412037291-16880-4-git-send-email-bjorn.andersson@sonymobile.com> References: <1412037291-16880-1-git-send-email-bjorn.andersson@sonymobile.com> <1412037291-16880-4-git-send-email-bjorn.andersson@sonymobile.com> Message-ID: <85C5C172-D309-41B4-B511-7820BAFDA017@codeaurora.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Sep 29, 2014, at 7:34 PM, Bjorn Andersson wrote: > Add binding documentation for the Qualcomm Resource Power Manager (RPM) > using shared memory (Qualcomm SMD) as transport mechanism. This is found > in 8974 and newer based devices. > > The binding currently describes the rpm itself and the regulator > subnodes. > > Signed-off-by: Bjorn Andersson > --- > > Note that this patch extends the rpm dt-bindings header from [1]. > > [1] https://lkml.org/lkml/2014/9/22/733 > > .../devicetree/bindings/mfd/qcom-rpm-smd.txt | 122 ++++++++++++++++++++ > include/dt-bindings/mfd/qcom-rpm.h | 36 ++++++ > 2 files changed, 158 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/qcom-rpm-smd.txt > > diff --git a/Documentation/devicetree/bindings/mfd/qcom-rpm-smd.txt b/Documentation/devicetree/bindings/mfd/qcom-rpm-smd.txt > new file mode 100644 > index 0000000..a846101 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/qcom-rpm-smd.txt > @@ -0,0 +1,122 @@ > +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. > + > +- compatible: > + Usage: required > + Value type: > + Definition: must be one of: > + "qcom,rpm-msm8974? Why not ?qcom,rpm-smd?. I?d like to get Jeff H?s input on how what we do here for compat and distinguish the A-family RPM support vs B-family/RPM-SMD support. > + > +- qcom,smd-channels: > + Usage: required > + Value type: > + Definition: Shared Memory Channel used for communication with the RPM > + This needs more details. > +- #address-cells: > + Usage: required > + Value type: > + Definition: must be 1 > + > +- #size-cells: > + Usage: required > + Value type: > + Definition: must be 0 > + > += SUBDEVICES As I mentioned for the the RPM binding on a-family, we should split out the devices into their own binding specs. > + > +The RPM exposes resources to its subnodes. The below bindings specify the set > +of valid subnodes that can operate on these resources. > + > +== Switch-mode Power Supply regulator > + > +- compatible: > + Usage: required > + Value type: > + Definition: must be one of: > + "qcom,rpm-pm8841-smps" > + "qcom,rpm-pm8941-smps" > + > + > +- reg: > + Usage: required > + Value type: > + Definition: resource as defined in > + must be one of: > + QCOM_RPM_PM8841_SMPS1 - QCOM_RPM_PM8841_SMPS4, > + QCOM_RPM_PM8941_SMPS1 - QCOM_RPM_PM8941_SMPS3 > + > +Standard regulator bindings are used inside switch mode power supply subnodes. > +Check Documentation/devicetree/bindings/regulator/regulator.txt for more > +details. > + > +== Low-dropout regulator > + > +- compatible: > + Usage: required > + Value type: > + Definition: must be one of: > + "qcom,rpm-pm8941-ldo" > + > +- reg: > + Usage: required > + Value type: > + Definition: resource as defined in > + must be one of: > + QCOM_RPM_PM8941_LDO1 - QCOM_RPM_PM8941_LDO24 > + > +Standard regulator bindings are used inside switch low-dropout regulator > +subnodes. Check Documentation/devicetree/bindings/regulator/regulator.txt for > +more details. > + > +== Switch > + > +- compatible: > + Usage: required > + Value type: > + Definition: must be one of: > + "qcom,rpm-pm8941-switch" > + > +- reg: > + Usage: required > + Value type: > + Definition: resource as defined in > + must be one of: > + QCOM_RPM_PM8941_LVS1 - QCOM_RPM_PM8941_LVS3, > + QCOM_RPM_PM8941_MVS1 - QCOM_RPM_PM8941_MVS2 > + > +Standard regulator bindings are used inside switch regulator subnodes. Check > +Documentation/devicetree/bindings/regulator/regulator.txt for more details. > + > += EXAMPLE > + > + #include > + > + rpm at 108000 { > + compatible = "qcom,rpm-msm8960"; > + qcom,smd-channels = "rpm_requests"; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + pm8941_s1: regulator-s1 { > + compatible = "qcom,rpm-pm8941-smps"; > + reg = ; > + > + regulator-min-microvolt = <1300000>; > + regulator-max-microvolt = <1300000>; > + }; > + > + pm8941_l3: pm8941-l3 { > + compatible = "qcom,rpm-pm8941-ldo"; > + reg = ; > + > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + }; > + > + }; > + - k -- Employee of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation