Message ID | 20221005-mdm9615-pinctrl-yaml-v2-4-639fe67a04be@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | arm: qcom: mdm9615: second round of bindings and DT fixes | expand |
On Mon, Oct 17, 2022 at 12:23:08PM +0200, Neil Armstrong wrote: > Convert the non-SMD Regulators bindings to dt-schema, the old text based > bindings will be deleted later since the RPM bindings are not yet converted. > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- > .../bindings/regulator/qcom,ipc-rpm-regulator.yaml | 127 +++++++++++++++++++++ > 1 file changed, 127 insertions(+) > > diff --git a/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml > new file mode 100644 > index 000000000000..e18bb8b87c43 > --- /dev/null > +++ b/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml > @@ -0,0 +1,127 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/regulator/qcom,ipc-rpm-regulator.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: QCOM IPC RPM REGULATOR Fix your capslock. > + > +description: > + The Qualcomm RPM over IPC regulator is modelled as a subdevice of the RPM. > + > + Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,ipc-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 pm8058 l0, 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, s0, s1, s2, s3, s4, > + lvs0, lvs1, ncp > + > + For pm8901 l0, l1, l2, l3, l4, l5, l6, s0, s1, s2, s3, s4, lvs0, lvs1, lvs2, lvs3, > + mvs > + > + For pm8921 s1, s2, s3, s4, s7, s8, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, > + l12, l14, l15, l16, l17, l18, l21, l22, l23, l24, l25, l26, l27, l28, > + l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch, > + ncp > + > + For pm8018 s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, > + l12, l14, lvs1 > + > + For smb208 s1a, s1b, s2a, s2b > + > +maintainers: > + - Bjorn Andersson <andersson@kernel.org> > + > +properties: > + compatible: > + enum: > + - qcom,rpm-pm8058-regulators > + - qcom,rpm-pm8901-regulators > + - qcom,rpm-pm8921-regulators > + - qcom,rpm-pm8018-regulators > + - qcom,rpm-smb208-regulators > + > +patternProperties: > + ".*-supply$": > + description: Input supply phandle(s) for this node > + > + "^((s|l|lvs)[0-9]*)|(s[1-2][a-b])|(ncp)|(mvs)|(usb-switch)|(hdmi-switch)$": > + description: List of regulators and its properties > + $ref: regulator.yaml# unevaluatedProperties: false > + properties: > + bias-pull-down: > + description: enable pull down of the regulator when inactive > + type: boolean > + > + qcom,switch-mode-frequency: > + description: Frequency (Hz) of the switch-mode power supply > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: > + - 19200000 > + - 9600000 > + - 6400000 > + - 4800000 > + - 3840000 > + - 3200000 > + - 2740000 > + - 2400000 > + - 2130000 > + - 1920000 > + - 1750000 > + - 1600000 > + - 1480000 > + - 1370000 > + - 1280000 > + - 1200000 > + > + qcom,force-mode: > + description: Indicates that the regulator should be forced to a particular mode > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: > + - 0 # QCOM_RPM_FORCE_MODE_NONE do not force any mode > + - 1 # QCOM_RPM_FORCE_MODE_LPM force into low power mode > + - 2 # QCOM_RPM_FORCE_MODE_HPM force into high power mode > + - 3 # QCOM_RPM_FORCE_MODE_AUTO allow regulator to automatically select its own mode > + # based on realtime current draw, only for pm8921 smps and ftsmps > + > + qcom,power-mode-hysteretic: > + description: select that the power supply should operate in hysteretic mode, > + instead of the default pwm mode > + type: boolean > + > +additionalProperties: false > + > +required: > + - compatible > + > +examples: > + - | > + #include <dt-bindings/mfd/qcom-rpm.h> > + regulators { > + compatible = "qcom,rpm-pm8921-regulators"; > + vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; > + > + s1 { > + regulator-min-microvolt = <1225000>; > + regulator-max-microvolt = <1225000>; > + > + bias-pull-down; > + > + qcom,switch-mode-frequency = <3200000>; > + }; > + > + pm8921_s4: s4 { > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + > + qcom,switch-mode-frequency = <1600000>; > + bias-pull-down; > + > + qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; > + }; > + }; > +... > > -- > b4 0.10.1 >
Hi, On 17/10/2022 16:39, Rob Herring wrote: > On Mon, Oct 17, 2022 at 12:23:08PM +0200, Neil Armstrong wrote: >> Convert the non-SMD Regulators bindings to dt-schema, the old text based >> bindings will be deleted later since the RPM bindings are not yet converted. >> >> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> >> --- >> .../bindings/regulator/qcom,ipc-rpm-regulator.yaml | 127 +++++++++++++++++++++ >> 1 file changed, 127 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml >> new file mode 100644 >> index 000000000000..e18bb8b87c43 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml >> @@ -0,0 +1,127 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/regulator/qcom,ipc-rpm-regulator.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: QCOM IPC RPM REGULATOR > > Fix your capslock. It's literally taken from Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml: title: QCOM SMD RPM REGULATOR > >> + >> +description: >> + The Qualcomm RPM over IPC regulator is modelled as a subdevice of the RPM. >> + >> + Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,ipc-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 pm8058 l0, 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, s0, s1, s2, s3, s4, >> + lvs0, lvs1, ncp >> + >> + For pm8901 l0, l1, l2, l3, l4, l5, l6, s0, s1, s2, s3, s4, lvs0, lvs1, lvs2, lvs3, >> + mvs >> + >> + For pm8921 s1, s2, s3, s4, s7, s8, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, >> + l12, l14, l15, l16, l17, l18, l21, l22, l23, l24, l25, l26, l27, l28, >> + l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch, >> + ncp >> + >> + For pm8018 s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, >> + l12, l14, lvs1 >> + >> + For smb208 s1a, s1b, s2a, s2b >> + >> +maintainers: >> + - Bjorn Andersson <andersson@kernel.org> >> + >> +properties: >> + compatible: >> + enum: >> + - qcom,rpm-pm8058-regulators >> + - qcom,rpm-pm8901-regulators >> + - qcom,rpm-pm8921-regulators >> + - qcom,rpm-pm8018-regulators >> + - qcom,rpm-smb208-regulators >> + >> +patternProperties: >> + ".*-supply$": >> + description: Input supply phandle(s) for this node >> + >> + "^((s|l|lvs)[0-9]*)|(s[1-2][a-b])|(ncp)|(mvs)|(usb-switch)|(hdmi-switch)$": >> + description: List of regulators and its properties >> + $ref: regulator.yaml# > > unevaluatedProperties: false Ack > >> + properties: >> + bias-pull-down: >> + description: enable pull down of the regulator when inactive >> + type: boolean >> + >> + qcom,switch-mode-frequency: >> + description: Frequency (Hz) of the switch-mode power supply >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + enum: >> + - 19200000 >> + - 9600000 >> + - 6400000 >> + - 4800000 >> + - 3840000 >> + - 3200000 >> + - 2740000 >> + - 2400000 >> + - 2130000 >> + - 1920000 >> + - 1750000 >> + - 1600000 >> + - 1480000 >> + - 1370000 >> + - 1280000 >> + - 1200000 >> + >> + qcom,force-mode: >> + description: Indicates that the regulator should be forced to a particular mode >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + enum: >> + - 0 # QCOM_RPM_FORCE_MODE_NONE do not force any mode >> + - 1 # QCOM_RPM_FORCE_MODE_LPM force into low power mode >> + - 2 # QCOM_RPM_FORCE_MODE_HPM force into high power mode >> + - 3 # QCOM_RPM_FORCE_MODE_AUTO allow regulator to automatically select its own mode >> + # based on realtime current draw, only for pm8921 smps and ftsmps >> + >> + qcom,power-mode-hysteretic: >> + description: select that the power supply should operate in hysteretic mode, >> + instead of the default pwm mode >> + type: boolean >> + >> +additionalProperties: false >> + >> +required: >> + - compatible >> + >> +examples: >> + - | >> + #include <dt-bindings/mfd/qcom-rpm.h> >> + regulators { >> + compatible = "qcom,rpm-pm8921-regulators"; >> + vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; >> + >> + s1 { >> + regulator-min-microvolt = <1225000>; >> + regulator-max-microvolt = <1225000>; >> + >> + bias-pull-down; >> + >> + qcom,switch-mode-frequency = <3200000>; >> + }; >> + >> + pm8921_s4: s4 { >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + >> + qcom,switch-mode-frequency = <1600000>; >> + bias-pull-down; >> + >> + qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; >> + }; >> + }; >> +... >> >> -- >> b4 0.10.1 >> Thanks, Neil
On Mon, Oct 17, 2022 at 04:47:44PM +0200, Neil Armstrong wrote: > Hi, > > On 17/10/2022 16:39, Rob Herring wrote: > > On Mon, Oct 17, 2022 at 12:23:08PM +0200, Neil Armstrong wrote: > > > Convert the non-SMD Regulators bindings to dt-schema, the old text based > > > bindings will be deleted later since the RPM bindings are not yet converted. > > > > > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > > > --- > > > .../bindings/regulator/qcom,ipc-rpm-regulator.yaml | 127 +++++++++++++++++++++ > > > 1 file changed, 127 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml > > > new file mode 100644 > > > index 000000000000..e18bb8b87c43 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml > > > @@ -0,0 +1,127 @@ > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/regulator/qcom,ipc-rpm-regulator.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: QCOM IPC RPM REGULATOR > > > > Fix your capslock. > > It's literally taken from Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml: > > title: QCOM SMD RPM REGULATOR Plenty of bad examples to follow. Rob
diff --git a/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml new file mode 100644 index 000000000000..e18bb8b87c43 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/qcom,ipc-rpm-regulator.yaml @@ -0,0 +1,127 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/qcom,ipc-rpm-regulator.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: QCOM IPC RPM REGULATOR + +description: + The Qualcomm RPM over IPC regulator is modelled as a subdevice of the RPM. + + Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,ipc-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 pm8058 l0, 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, s0, s1, s2, s3, s4, + lvs0, lvs1, ncp + + For pm8901 l0, l1, l2, l3, l4, l5, l6, s0, s1, s2, s3, s4, lvs0, lvs1, lvs2, lvs3, + mvs + + For pm8921 s1, s2, s3, s4, s7, s8, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, + l12, l14, l15, l16, l17, l18, l21, l22, l23, l24, l25, l26, l27, l28, + l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch, + ncp + + For pm8018 s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, + l12, l14, lvs1 + + For smb208 s1a, s1b, s2a, s2b + +maintainers: + - Bjorn Andersson <andersson@kernel.org> + +properties: + compatible: + enum: + - qcom,rpm-pm8058-regulators + - qcom,rpm-pm8901-regulators + - qcom,rpm-pm8921-regulators + - qcom,rpm-pm8018-regulators + - qcom,rpm-smb208-regulators + +patternProperties: + ".*-supply$": + description: Input supply phandle(s) for this node + + "^((s|l|lvs)[0-9]*)|(s[1-2][a-b])|(ncp)|(mvs)|(usb-switch)|(hdmi-switch)$": + description: List of regulators and its properties + $ref: regulator.yaml# + properties: + bias-pull-down: + description: enable pull down of the regulator when inactive + type: boolean + + qcom,switch-mode-frequency: + description: Frequency (Hz) of the switch-mode power supply + $ref: /schemas/types.yaml#/definitions/uint32 + enum: + - 19200000 + - 9600000 + - 6400000 + - 4800000 + - 3840000 + - 3200000 + - 2740000 + - 2400000 + - 2130000 + - 1920000 + - 1750000 + - 1600000 + - 1480000 + - 1370000 + - 1280000 + - 1200000 + + qcom,force-mode: + description: Indicates that the regulator should be forced to a particular mode + $ref: /schemas/types.yaml#/definitions/uint32 + enum: + - 0 # QCOM_RPM_FORCE_MODE_NONE do not force any mode + - 1 # QCOM_RPM_FORCE_MODE_LPM force into low power mode + - 2 # QCOM_RPM_FORCE_MODE_HPM force into high power mode + - 3 # QCOM_RPM_FORCE_MODE_AUTO allow regulator to automatically select its own mode + # based on realtime current draw, only for pm8921 smps and ftsmps + + qcom,power-mode-hysteretic: + description: select that the power supply should operate in hysteretic mode, + instead of the default pwm mode + type: boolean + +additionalProperties: false + +required: + - compatible + +examples: + - | + #include <dt-bindings/mfd/qcom-rpm.h> + regulators { + compatible = "qcom,rpm-pm8921-regulators"; + vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; + + s1 { + regulator-min-microvolt = <1225000>; + regulator-max-microvolt = <1225000>; + + bias-pull-down; + + qcom,switch-mode-frequency = <3200000>; + }; + + pm8921_s4: s4 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + qcom,switch-mode-frequency = <1600000>; + bias-pull-down; + + qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>; + }; + }; +...
Convert the non-SMD Regulators bindings to dt-schema, the old text based bindings will be deleted later since the RPM bindings are not yet converted. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- .../bindings/regulator/qcom,ipc-rpm-regulator.yaml | 127 +++++++++++++++++++++ 1 file changed, 127 insertions(+)