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