[v2,4/5] dt-bindings: regulators: convert non-smd RPM Regulators bindings to dt-schema
Commit Message
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(+)
Comments
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
new file mode 100644
@@ -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>;
+ };
+ };
+...