# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/qcom,rpm-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm RPM regulator

description:
  The Qualcomm RPM regulator is modelled as a subdevice of the RPM.

  Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,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>;
      };
    };
...
