aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/regulator/qcom,rpm-regulator.yaml
blob: b4eb4001eb3d22d2f26a038373b35767bb3693aa (plain)
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>;
      };
    };
...