Re: [PATCH 5/6] dt-bindings: regulators: convert non-smd RPM Regulators bindings to dt-schema

From: Rob Herring
Date: Thu Oct 06 2022 - 16:04:39 EST


On Thu, Oct 06, 2022 at 09:58:02AM +0000, Neil Armstrong wrote:
> Convert the non-SMD Regulators bindings to dt-schema and remove the
> old text based bindings now we have migrated all the content.
>
> Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 246 ---------------------
> .../bindings/regulator/qcom,ipc-rpm-regulator.yaml | 127 +++++++++++
> 2 files changed, 127 insertions(+), 246 deletions(-)

Ah, the 'regulators' node for the parent should reference this schema.

> 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:

'|' if you want to maintain the formatting.

> + 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@xxxxxxxxxx>
> +
> +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
>