xref: /openbmc/linux/Documentation/devicetree/bindings/regulator/qcom,rpm-regulator.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1fde0e25bSNeil Armstrong# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2fde0e25bSNeil Armstrong%YAML 1.2
3fde0e25bSNeil Armstrong---
4fde0e25bSNeil Armstrong$id: http://devicetree.org/schemas/regulator/qcom,rpm-regulator.yaml#
5fde0e25bSNeil Armstrong$schema: http://devicetree.org/meta-schemas/core.yaml#
6fde0e25bSNeil Armstrong
7fde0e25bSNeil Armstrongtitle: Qualcomm RPM regulator
8fde0e25bSNeil Armstrong
9fde0e25bSNeil Armstrongdescription:
10fde0e25bSNeil Armstrong  The Qualcomm RPM regulator is modelled as a subdevice of the RPM.
11fde0e25bSNeil Armstrong
12fde0e25bSNeil Armstrong  Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,rpm.yaml
13fde0e25bSNeil Armstrong  for information regarding the RPM node.
14fde0e25bSNeil Armstrong
15fde0e25bSNeil Armstrong  The regulator node houses sub-nodes for each regulator within the device.
16fde0e25bSNeil Armstrong  Each sub-node is identified using the node's name, with valid values listed
17fde0e25bSNeil Armstrong  for each of the pmics below.
18fde0e25bSNeil Armstrong
19fde0e25bSNeil Armstrong  For pm8058 l0, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15,
20fde0e25bSNeil Armstrong  l16, l17, l18, l19, l20, l21, l22, l23, l24, l25, s0, s1, s2, s3, s4,
21fde0e25bSNeil Armstrong  lvs0, lvs1, ncp
22fde0e25bSNeil Armstrong
23fde0e25bSNeil Armstrong  For pm8901 l0, l1, l2, l3, l4, l5, l6, s0, s1, s2, s3, s4, lvs0, lvs1, lvs2, lvs3,
24fde0e25bSNeil Armstrong  mvs
25fde0e25bSNeil Armstrong
26fde0e25bSNeil Armstrong  For pm8921 s1, s2, s3, s4, s7, s8, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
27fde0e25bSNeil Armstrong  l12, l14, l15, l16, l17, l18, l21, l22, l23, l24, l25, l26, l27, l28,
28fde0e25bSNeil Armstrong  l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch,
29fde0e25bSNeil Armstrong  ncp
30fde0e25bSNeil Armstrong
31fde0e25bSNeil Armstrong  For pm8018 s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
32fde0e25bSNeil Armstrong  l12, l14, lvs1
33fde0e25bSNeil Armstrong
34fde0e25bSNeil Armstrong  For smb208 s1a, s1b, s2a, s2b
35fde0e25bSNeil Armstrong
36fde0e25bSNeil Armstrongmaintainers:
37fde0e25bSNeil Armstrong  - Bjorn Andersson <andersson@kernel.org>
38fde0e25bSNeil Armstrong
39fde0e25bSNeil Armstrongproperties:
40fde0e25bSNeil Armstrong  compatible:
41fde0e25bSNeil Armstrong    enum:
42fde0e25bSNeil Armstrong      - qcom,rpm-pm8058-regulators
43fde0e25bSNeil Armstrong      - qcom,rpm-pm8901-regulators
44fde0e25bSNeil Armstrong      - qcom,rpm-pm8921-regulators
45fde0e25bSNeil Armstrong      - qcom,rpm-pm8018-regulators
46fde0e25bSNeil Armstrong      - qcom,rpm-smb208-regulators
47fde0e25bSNeil Armstrong
48fde0e25bSNeil ArmstrongpatternProperties:
49fde0e25bSNeil Armstrong  ".*-supply$":
50fde0e25bSNeil Armstrong    description: Input supply phandle(s) for this node
51fde0e25bSNeil Armstrong
52*75d9bf03SKrzysztof Kozlowski  "^((s|l|lvs)[0-9]*|s[1-2][a-b]|ncp|mvs|usb-switch|hdmi-switch)$":
53fde0e25bSNeil Armstrong    description: List of regulators and its properties
54fde0e25bSNeil Armstrong    $ref: regulator.yaml#
55fde0e25bSNeil Armstrong    unevaluatedProperties: false
56fde0e25bSNeil Armstrong    properties:
57fde0e25bSNeil Armstrong      bias-pull-down:
58fde0e25bSNeil Armstrong        description: enable pull down of the regulator when inactive
59fde0e25bSNeil Armstrong        type: boolean
60fde0e25bSNeil Armstrong
61fde0e25bSNeil Armstrong      qcom,switch-mode-frequency:
62fde0e25bSNeil Armstrong        description: Frequency (Hz) of the switch-mode power supply
63fde0e25bSNeil Armstrong        $ref: /schemas/types.yaml#/definitions/uint32
64fde0e25bSNeil Armstrong        enum:
65fde0e25bSNeil Armstrong          - 19200000
66fde0e25bSNeil Armstrong          - 9600000
67fde0e25bSNeil Armstrong          - 6400000
68fde0e25bSNeil Armstrong          - 4800000
69fde0e25bSNeil Armstrong          - 3840000
70fde0e25bSNeil Armstrong          - 3200000
71fde0e25bSNeil Armstrong          - 2740000
72fde0e25bSNeil Armstrong          - 2400000
73fde0e25bSNeil Armstrong          - 2130000
74fde0e25bSNeil Armstrong          - 1920000
75fde0e25bSNeil Armstrong          - 1750000
76fde0e25bSNeil Armstrong          - 1600000
77fde0e25bSNeil Armstrong          - 1480000
78fde0e25bSNeil Armstrong          - 1370000
79fde0e25bSNeil Armstrong          - 1280000
80fde0e25bSNeil Armstrong          - 1200000
81fde0e25bSNeil Armstrong
82fde0e25bSNeil Armstrong      qcom,force-mode:
83fde0e25bSNeil Armstrong        description: Indicates that the regulator should be forced to a particular mode
84fde0e25bSNeil Armstrong        $ref: /schemas/types.yaml#/definitions/uint32
85fde0e25bSNeil Armstrong        enum:
86fde0e25bSNeil Armstrong          - 0 # QCOM_RPM_FORCE_MODE_NONE do not force any mode
87fde0e25bSNeil Armstrong          - 1 # QCOM_RPM_FORCE_MODE_LPM force into low power mode
88fde0e25bSNeil Armstrong          - 2 # QCOM_RPM_FORCE_MODE_HPM force into high power mode
89fde0e25bSNeil Armstrong          - 3 # QCOM_RPM_FORCE_MODE_AUTO allow regulator to automatically select its own mode
90fde0e25bSNeil Armstrong              # based on realtime current draw, only for pm8921 smps and ftsmps
91fde0e25bSNeil Armstrong
92fde0e25bSNeil Armstrong      qcom,power-mode-hysteretic:
93fde0e25bSNeil Armstrong        description: select that the power supply should operate in hysteretic mode,
94fde0e25bSNeil Armstrong          instead of the default pwm mode
95fde0e25bSNeil Armstrong        type: boolean
96fde0e25bSNeil Armstrong
97fde0e25bSNeil ArmstrongadditionalProperties: false
98fde0e25bSNeil Armstrong
99fde0e25bSNeil Armstrongrequired:
100fde0e25bSNeil Armstrong  - compatible
101fde0e25bSNeil Armstrong
102fde0e25bSNeil Armstrongexamples:
103fde0e25bSNeil Armstrong  - |
104fde0e25bSNeil Armstrong    #include <dt-bindings/mfd/qcom-rpm.h>
105fde0e25bSNeil Armstrong    regulators {
106fde0e25bSNeil Armstrong      compatible = "qcom,rpm-pm8921-regulators";
107fde0e25bSNeil Armstrong      vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
108fde0e25bSNeil Armstrong
109fde0e25bSNeil Armstrong      s1 {
110fde0e25bSNeil Armstrong        regulator-min-microvolt = <1225000>;
111fde0e25bSNeil Armstrong        regulator-max-microvolt = <1225000>;
112fde0e25bSNeil Armstrong
113fde0e25bSNeil Armstrong        bias-pull-down;
114fde0e25bSNeil Armstrong
115fde0e25bSNeil Armstrong        qcom,switch-mode-frequency = <3200000>;
116fde0e25bSNeil Armstrong      };
117fde0e25bSNeil Armstrong
118fde0e25bSNeil Armstrong      pm8921_s4: s4 {
119fde0e25bSNeil Armstrong        regulator-min-microvolt = <1800000>;
120fde0e25bSNeil Armstrong        regulator-max-microvolt = <1800000>;
121fde0e25bSNeil Armstrong
122fde0e25bSNeil Armstrong        qcom,switch-mode-frequency = <1600000>;
123fde0e25bSNeil Armstrong        bias-pull-down;
124fde0e25bSNeil Armstrong
125fde0e25bSNeil Armstrong        qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
126fde0e25bSNeil Armstrong      };
127fde0e25bSNeil Armstrong    };
128fde0e25bSNeil Armstrong...
129