Documentation / devicetree / bindings / regulator / qcom,rpm-regulator.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
# 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>;
      };
    };
...